From c8bc815f0447da769a68dc8522cd8fbc0737f340 Mon Sep 17 00:00:00 2001 From: Jan Kara Date: Thu, 30 Jul 2009 17:01:53 +0200 Subject: [PATCH] --- yaml --- r: 157053 b: refs/heads/master c: 5fd131893793567c361ae64cbeb28a2a753bbe35 h: refs/heads/master i: 157051: cd1120b8af024e3711d4467b96a7c4814c552171 v: v3 --- [refs] | 2 +- trunk/fs/ocfs2/super.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 98bf76021e13..ecbace1b96eb 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 60e2ec48665b8495360ca4a6004c5cd52beb2bc1 +refs/heads/master: 5fd131893793567c361ae64cbeb28a2a753bbe35 diff --git a/trunk/fs/ocfs2/super.c b/trunk/fs/ocfs2/super.c index b0ee0fdf799a..a3f8871d21fd 100644 --- a/trunk/fs/ocfs2/super.c +++ b/trunk/fs/ocfs2/super.c @@ -1218,13 +1218,17 @@ static void ocfs2_kill_sb(struct super_block *sb) { struct ocfs2_super *osb = OCFS2_SB(sb); + /* Failed mount? */ + if (!osb || atomic_read(&osb->vol_state) == VOLUME_DISABLED) + goto out; + /* Prevent further queueing of inode drop events */ spin_lock(&dentry_list_lock); ocfs2_set_osb_flag(osb, OCFS2_OSB_DROP_DENTRY_LOCK_IMMED); spin_unlock(&dentry_list_lock); /* Wait for work to finish and/or remove it */ cancel_work_sync(&osb->dentry_lock_work); - +out: kill_block_super(sb); }