瀏覽代碼

ocfs2: Clear slot map when umounting a local volume

This is technically harmless (recovery will clean it out later), but leaves
a bogus entry in the slot_map which really shouldn't be there.

Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Mark Fasheh 17 年之前
父節點
當前提交
19b613d410
共有 1 個文件被更改,包括 4 次插入3 次删除
  1. 4 3
      fs/ocfs2/super.c

+ 4 - 3
fs/ocfs2/super.c

@@ -1209,12 +1209,13 @@ static void ocfs2_dismount_volume(struct super_block *sb, int mnt_err)
 		tmp = ocfs2_request_umount_vote(osb);
 		tmp = ocfs2_request_umount_vote(osb);
 		if (tmp < 0)
 		if (tmp < 0)
 			mlog_errno(tmp);
 			mlog_errno(tmp);
+	}
 
 
-		if (osb->slot_num != OCFS2_INVALID_SLOT)
-			ocfs2_put_slot(osb);
+	if (osb->slot_num != OCFS2_INVALID_SLOT)
+		ocfs2_put_slot(osb);
 
 
+	if (osb->dlm)
 		ocfs2_super_unlock(osb, 1);
 		ocfs2_super_unlock(osb, 1);
-	}
 
 
 	ocfs2_release_system_inodes(osb);
 	ocfs2_release_system_inodes(osb);