summaryrefslogtreecommitdiff
path: root/fs/super.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2011-02-16 15:27:18 +0300
committerIngo Molnar <mingo@elte.hu>2011-02-16 15:27:23 +0300
commitb00560f2d4de69bb12f66f9605985b516df98d77 (patch)
tree0c92fc994125dc3ddb635842715be29d8b16808b /fs/super.c
parentbf1af3a809506645b9130755b713b008da14737f (diff)
parent4fe757dd48a9e95e1a071291f15dda5421dacb66 (diff)
downloadlinux-b00560f2d4de69bb12f66f9605985b516df98d77.tar.xz
Merge branch 'perf/urgent' into perf/core
Merge reason: we need to queue up dependent patch Signed-off-by: Ingo Molnar <mingo@elte.hu>
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 {