aboutsummaryrefslogtreecommitdiffstats
path: root/fs/super.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-03-12 20:33:21 -0400
committerIngo Molnar <mingo@elte.hu>2009-03-12 20:33:21 -0400
commit480c93df5b99699390f93a7024c9f60d09da0e96 (patch)
treeb93b6c8c71c5f2e716dd05b126e01ef4e20ff0af /fs/super.c
parentaecfcde920da8d32949f6cbbc1fc051b4ef9e7be (diff)
parentd820ac4c2fa881079e6b689d2098adce337558ae (diff)
Merge branch 'core/locking' into tracing/ftrace
Diffstat (limited to 'fs/super.c')
-rw-r--r--fs/super.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/super.c b/fs/super.c
index 8349ed6b1412..6ce501447ada 100644
--- a/fs/super.c
+++ b/fs/super.c
@@ -371,8 +371,10 @@ retry:
371 continue; 371 continue;
372 if (!grab_super(old)) 372 if (!grab_super(old))
373 goto retry; 373 goto retry;
374 if (s) 374 if (s) {
375 up_write(&s->s_umount);
375 destroy_super(s); 376 destroy_super(s);
377 }
376 return old; 378 return old;
377 } 379 }
378 } 380 }
@@ -387,6 +389,7 @@ retry:
387 err = set(s, data); 389 err = set(s, data);
388 if (err) { 390 if (err) {
389 spin_unlock(&sb_lock); 391 spin_unlock(&sb_lock);
392 up_write(&s->s_umount);
390 destroy_super(s); 393 destroy_super(s);
391 return ERR_PTR(err); 394 return ERR_PTR(err);
392 } 395 }