diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-07-06 17:15:15 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-07-06 17:15:15 -0700 |
commit | 1cc9629402b1eba0d4e21b2cc43eec9bd737f9bd (patch) | |
tree | 6bd52203d0d071acd3311d5093b4aa61c313faad /fs/ceph/mds_client.c | |
parent | 8b8ce8810b092cef35e15af6577ad569f6145c0a (diff) | |
parent | 153a10939ea6e42e9c0115b0645060d0d7bb4697 (diff) | |
download | linux-1cc9629402b1eba0d4e21b2cc43eec9bd737f9bd.tar.bz2 |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
ceph: fix crush device 'out' threshold to 1.0, not 0.1
ceph: fix caps usage accounting for import (non-reserved) case
ceph: only release clean, unused caps with mds requests
ceph: fix crush CHOOSE_LEAF when type is already a leaf
ceph: fix crush recursion
ceph: fix caps debugfs entry
ceph: delay umount until all mds requests drop inode+dentry refs
ceph: handle splice_dentry/d_materialize_unique error in readdir_prepopulate
ceph: fix crush map update decoding
ceph: fix message memory leak, uninitialized variable
ceph: fix map handler error path
ceph: some endianity fixes
Diffstat (limited to 'fs/ceph/mds_client.c')
-rw-r--r-- | fs/ceph/mds_client.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c index 1766947fc07a..3ab79f6c4ce8 100644 --- a/fs/ceph/mds_client.c +++ b/fs/ceph/mds_client.c @@ -2783,6 +2783,12 @@ void ceph_mdsc_pre_umount(struct ceph_mds_client *mdsc) drop_leases(mdsc); ceph_flush_dirty_caps(mdsc); wait_requests(mdsc); + + /* + * wait for reply handlers to drop their request refs and + * their inode/dcache refs + */ + ceph_msgr_flush(); } /* |