summaryrefslogtreecommitdiff
path: root/fs/super.c
diff options
context:
space:
mode:
authorGrant Likely <grant.likely@secretlab.ca>2011-02-28 01:36:21 -0700
committerGrant Likely <grant.likely@secretlab.ca>2011-02-28 01:36:21 -0700
commit38a5d6736e7f714cc56d58692001e66dcbb98799 (patch)
tree337d32375e10b04642013710c2c424514474b32c /fs/super.c
parent0bfd95a2a104dfc2469d68de52df99939371c0d4 (diff)
parentf5412be599602124d2bdd49947b231dd77c0bf99 (diff)
Merge commit 'v2.6.38-rc6' into devicetree/next
Conflicts: drivers/spi/pxa2xx_spi_pci.c
Diffstat (limited to 'fs/super.c')
-rw-r--r--fs/super.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/super.c b/fs/super.c
index 74e149efed81..7e9dd4cc2c01 100644
--- a/fs/super.c
+++ b/fs/super.c
@@ -177,6 +177,11 @@ void deactivate_locked_super(struct super_block *s)
struct file_system_type *fs = s->s_type;
if (atomic_dec_and_test(&s->s_active)) {
fs->kill_sb(s);
+ /*
+ * We need to call rcu_barrier so all the delayed rcu free
+ * inodes are flushed before we release the fs module.
+ */
+ rcu_barrier();
put_filesystem(fs);
put_super(s);
} else {