• Scott Mayhew's avatar
    NFS: Adjust fs_context error logging · c98e9daa
    Scott Mayhew authored
    Several existing dprink()/dfprintk() calls were converted to use the new
    mount API logging macros by commit ce8866f0 ("NFS: Attach
    supplementary error information to fs_context").  If the fs_context was
    not created using fsopen() then it will not have had a log buffer
    allocated for it, and the new mount API logging macros will wind up
    calling printk().
    
    This can result in syslog messages being logged where previously there
    were none... most notably "NFS4: Couldn't follow remote path", which can
    happen if the client is auto-negotiating a protocol version with an NFS
    server that doesn't support the higher v4.x versions.
    
    Convert the nfs_errorf(), nfs_invalf(), and nfs_warnf() macros to check
    for the existence of the fs_context's log buffer and call dprintk() if
    it doesn't exist.  Add nfs_ferrorf(), nfs_finvalf(), and nfs_warnf(),
    which do the same thing but take an NFS debug flag as an argument and
    call dfprintk().  Finally, modify the "NFS4: Couldn't follow remote
    path" message to use nfs_ferrorf().
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=207385Signed-off-by: default avatarScott Mayhew <smayhew@redhat.com>
    Reviewed-by: default avatarBenjamin Coddington <bcodding@redhat.com>
    Fixes: ce8866f0 ("NFS: Attach supplementary error information to fs_context.")
    Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
    c98e9daa
nfs4super.c 6.94 KB