Trond Myklebust
3d39c691ff
NFS: Replace flush_scheduled_work with cancel_work_sync() and friends
This will avoid deadlocks of the form:
stack backtrace:
[<c0104fda>] show_trace_log_lvl+0x1a/0x30
[<c0105c02>] show_trace+0x12/0x20
[<c0105d15>] dump_stack+0x15/0x20
[<c013ee42>] __lock_acquire+0xc22/0x1030
[<c013f2b1>] lock_acquire+0x61/0x80
[<c012edd9>] flush_workqueue+0x49/0x70
[<c012ee0d>] flush_scheduled_work+0xd/0x10
[<dcf55c0c>] nfs_release_automount_timer+0x2c/0x30 [nfs]
[<dcf45d8e>] nfs_free_server+0x9e/0xd0 [nfs]
[<dcf4e626>] nfs_kill_super+0x16/0x20 [nfs]
[<c017b38d>] deactivate_super+0x7d/0xa0
[<c018f94b>] mntput_no_expire+0x4b/0x80
[<c018fd94>] expire_mount_list+0xe4/0x140
[<c0191219>] mark_mounts_for_expiry+0x99/0xb0
[<dcf55d1d>] nfs_expire_automounts+0xd/0x40 [nfs]
[<c012e61b>] run_workqueue+0x12b/0x1e0
[<c012f05b>] worker_thread+0x9b/0x100
[<c0131c72>] kthread+0x42/0x70
[<c0104c0f>] kernel_thread_helper+0x7/0x18
=======================
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
|
2007-08-07 16:12:50 -04:00 |
| .. |
|
callback.c
|
Freezer: make kernel threads nonfreezable by default
|
2007-07-17 10:23:02 -07:00 |
|
callback.h
|
NFS: Fix more sparse warnings
|
2007-05-14 19:33:46 -04:00 |
|
callback_proc.c
|
|
|
|
callback_xdr.c
|
NFSv4: debug print ntohl(status) in nfs client callback xdr code
|
2007-07-19 15:21:40 -04:00 |
|
client.c
|
Make NFS client use seq_list_xxx helpers
|
2007-07-16 09:05:42 -07:00 |
|
delegation.c
|
NFSv4: Don't call put_rpccred() from an rcu callback
|
2007-08-07 15:15:57 -04:00 |
|
delegation.h
|
NFSv4: Use RCU to protect delegations
|
2007-07-10 23:40:41 -04:00 |
|
dir.c
|
SUNRPC: Clean up the sillyrename code
|
2007-07-19 15:21:39 -04:00 |
|
direct.c
|
mm: Remove slab destructors from kmem_cache_create().
|
2007-07-20 10:11:58 +09:00 |
|
file.c
|
locks: make posix_test_lock() interface more consistent
|
2007-07-18 19:17:19 -04:00 |
|
getroot.c
|
NFS: Kill the obsolete NFS_PARANOIA
|
2007-05-09 17:58:01 -04:00 |
|
idmap.c
|
NFS: use __set_current_state()
|
2007-05-09 17:58:01 -04:00 |
|
inode.c
|
NFS: Fix put_nfs_open_context
|
2007-08-07 15:13:17 -04:00 |
|
internal.h
|
NFS: Clean-up: use correct type when converting NFS blocks to local blocks
|
2007-07-10 23:40:44 -04:00 |
|
iostat.h
|
|
|
|
Makefile
|
NFS: Remake nfsroot_mount as a permanent part of NFS client
|
2007-07-10 23:40:46 -04:00 |
|
mount_clnt.c
|
NFS: Improve debugging output in NFS in-kernel mount client
|
2007-07-10 23:40:47 -04:00 |
|
namespace.c
|
NFS: Replace flush_scheduled_work with cancel_work_sync() and friends
|
2007-08-07 16:12:50 -04:00 |
|
nfs2xdr.c
|
NFS: Introduce struct nfs_removeargs+nfs_removeres
|
2007-07-19 15:21:39 -04:00 |
|
nfs3acl.c
|
|
|
|
nfs3proc.c
|
SUNRPC: Clean up the sillyrename code
|
2007-07-19 15:21:39 -04:00 |
|
nfs3xdr.c
|
NFS: Introduce struct nfs_removeargs+nfs_removeres
|
2007-07-19 15:21:39 -04:00 |
|
nfs4_fs.h
|
NFSv4: 'constify' lookup arguments.
|
2007-07-19 15:09:03 -04:00 |
|
nfs4namespace.c
|
|
|
|
nfs4proc.c
|
NFS: Fix NFSv4 open stateid regressions
|
2007-08-07 15:13:19 -04:00 |
|
nfs4renewd.c
|
NFS: Replace flush_scheduled_work with cancel_work_sync() and friends
|
2007-08-07 16:12:50 -04:00 |
|
nfs4state.c
|
NFSv4: Fix a locking regression in nfs4_set_mode_locked()
|
2007-08-07 15:13:18 -04:00 |
|
nfs4xdr.c
|
NFS: Introduce struct nfs_removeargs+nfs_removeres
|
2007-07-19 15:21:39 -04:00 |
|
nfsroot.c
|
NFS: Remake nfsroot_mount as a permanent part of NFS client
|
2007-07-10 23:40:46 -04:00 |
|
pagelist.c
|
mm: Remove slab destructors from kmem_cache_create().
|
2007-07-20 10:11:58 +09:00 |
|
proc.c
|
SUNRPC: Clean up the sillyrename code
|
2007-07-19 15:21:39 -04:00 |
|
read.c
|
mm: Remove slab destructors from kmem_cache_create().
|
2007-07-20 10:11:58 +09:00 |
|
super.c
|
fix broken handling of port=... in NFS option parsing
|
2007-07-22 11:15:18 -07: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
|
SUNRPC: Clean up the sillyrename code
|
2007-07-19 15:21:39 -04:00 |
|
write.c
|
mm: Remove slab destructors from kmem_cache_create().
|
2007-07-20 10:11:58 +09:00 |