diff options
author | Rafael J. Wysocki | 2009-09-10 00:02:02 +0200 |
---|---|---|
committer | Rafael J. Wysocki | 2009-09-10 00:02:02 +0200 |
commit | bf992fa2bc1ad1bb2aeb0bdfadb43f236b9297fd (patch) | |
tree | d67f525c76b66956ba7ca0d40bc0fcda0e414700 /fs/ocfs2/super.c | |
parent | PM: Run-time PM platform device bus support (diff) | |
parent | aoe: allocate unused request_queue for sysfs (diff) | |
download | kernel-qcow2-linux-bf992fa2bc1ad1bb2aeb0bdfadb43f236b9297fd.tar.gz kernel-qcow2-linux-bf992fa2bc1ad1bb2aeb0bdfadb43f236b9297fd.tar.xz kernel-qcow2-linux-bf992fa2bc1ad1bb2aeb0bdfadb43f236b9297fd.zip |
Merge branch 'master' into for-linus
Diffstat (limited to 'fs/ocfs2/super.c')
-rw-r--r-- | fs/ocfs2/super.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c index b0ee0fdf799a..a3f8871d21fd 100644 --- a/fs/ocfs2/super.c +++ b/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); } |