linux/fs/nfs
Jeff Layton 1227a74e2e NFS: flush signals before taking down callback thread
Now that the reference counting on the callback thread is working as
expected, it uncovers another problem.  Peter Staubach noticed while
testing that patch on an older kernel that he would occasionally see
this printk in rpc_register fire:

    "RPC: failed to contact portmap (errno -512).

The NFSv4 callback thread is signaled by nfs_callback_down(), but never
flushes that signal. All of the shutdown processing is done with that
signal pending. This makes it fail the call to unregister the port with
the portmapper.

In actuality, this rpc_register call isn't necessary at all since the
port isn't actually registered with the portmapper anymore. Regardless,
there doesn't seem to be any reason to leave the signal pending while
the thread is being shut down and flushing it should generally silence
that printk.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2008-02-20 13:32:43 -05:00
..
callback_proc.c NFSv4: Iterate through all nfs_clients when the server recalls a delegation 2008-01-30 02:06:12 -05:00
callback_xdr.c NFS: Change cb_recallargs to pass "struct sockaddr *" instead of sockaddr_in 2008-01-30 02:05:55 -05:00
callback.c NFS: flush signals before taking down callback thread 2008-02-20 13:32:43 -05:00
callback.h NFS: Change cb_recallargs to pass "struct sockaddr *" instead of sockaddr_in 2008-01-30 02:05:55 -05:00
client.c Merge branch 'task_killable' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc 2008-02-01 11:45:47 +11:00
delegation.c NFSv4: Deal more correctly with duplicate delegations 2008-01-30 02:06:12 -05:00
delegation.h NFS: Add an asynchronous delegreturn operation for use in nfs_clear_inode 2008-01-30 02:06:12 -05:00
dir.c NFS: remove error field from nfs_readdir_descriptor_t 2008-02-13 23:24:07 -05:00
direct.c Merge branch 'task_killable' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc 2008-02-01 11:45:47 +11:00
file.c NFS: nfs_write_end clean up 2008-01-30 02:06:02 -05:00
getroot.c Convert ERR_PTR(PTR_ERR(p)) instances to ERR_CAST(p) 2008-02-07 08:42:26 -08:00
idmap.c NFS: Use size_t for storing name lengths 2008-01-30 02:06:01 -05:00
inode.c Merge branch 'task_killable' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc 2008-02-01 11:45:47 +11:00
internal.h NFSv4: Iterate through all nfs_clients when the server recalls a delegation 2008-01-30 02:06:12 -05:00
iostat.h NFSv4: Fix an oops in nfs4_fill_super 2006-03-20 13:44:48 -05:00
Makefile [NFS] [PATCH] nfs: tiny makefile cleanup 2007-10-09 17:15:36 -04:00
mount_clnt.c NFS: Switch from intr mount option to TASK_KILLABLE 2007-12-06 17:40:25 -05:00
namespace.c Introduce path_put() 2008-02-14 21:13:33 -08:00
nfs2xdr.c NFS: Use unsigned intermediates for manipulating header lengths (NFSv2 XDR) 2008-01-30 02:05:44 -05:00
nfs3acl.c NFS: Remove nfs_begin_data_update/nfs_end_data_update 2007-10-09 17:19:53 -04:00
nfs3proc.c Merge branch 'task_killable' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc 2008-02-01 11:45:47 +11:00
nfs3xdr.c NFS: Use unsigned intermediates for manipulating header lengths (NFSv3 XDR) 2008-01-30 02:05:44 -05:00
nfs4_fs.h NFSv4: Give the lock stateid its own sequence queue 2008-01-10 13:35:32 -08:00
nfs4namespace.c NFS: Adjust nfs_clone_mount structure to store "struct sockaddr *" 2008-01-30 02:05:56 -05:00
nfs4proc.c Embed a struct path into struct nameidata instead of nd->{dentry,mnt} 2008-02-14 21:13:33 -08:00
nfs4renewd.c NFSv4: Fix circular locking dependency in nfs4_kill_renewd 2008-01-03 09:37:16 -05:00
nfs4state.c NFS: missing spaces in KERN_WARNING 2008-02-13 23:24:06 -05:00
nfs4xdr.c NFS: Ensure NFSv4 SETCLIENTID send buffer is large enough 2008-01-30 02:05:51 -05:00
nfsroot.c NFS: Switch from intr mount option to TASK_KILLABLE 2007-12-06 17:40:25 -05:00
pagelist.c Merge branch 'task_killable' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc 2008-02-01 11:45:47 +11:00
proc.c NLM/NFS: Use cached nlm_host when calling nlmclnt_proc() 2008-01-30 02:06:07 -05:00
read.c Pagecache zeroing: zero_user_segment, zero_user_segments and zero_user 2008-02-05 09:44:13 -08:00
super.c NFS: add missing spkm3 strings to mount option parser 2008-02-13 23:24:08 -05:00
symlink.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
sysctl.c [PATCH] nfs: fix congestion control 2007-03-16 19:25:05 -07:00
unlink.c NFS/SUNRPC: Convert all users of rpc_call_setup() 2008-01-30 02:05:32 -05:00
write.c NFS: Fix a potential file corruption issue when writing 2008-02-07 19:20:20 -05:00