Displaying 3 results from an estimated 3 matches for "ocfs2_test_osb_flag".
2010 Aug 20
0
[PATCH] ocfs2: Don't delete orphaned files if we are in the process of umount.
...ons(-)
diff --git a/fs/ocfs2/dcache.c b/fs/ocfs2/dcache.c
index b4957c7..827ccb8 100644
--- a/fs/ocfs2/dcache.c
+++ b/fs/ocfs2/dcache.c
@@ -356,7 +356,7 @@ void ocfs2_drop_dl_inodes(struct work_struct *work)
*/
spin_lock(&dentry_list_lock);
if (osb->dentry_lock_list &&
- !ocfs2_test_osb_flag(osb, OCFS2_OSB_DROP_DENTRY_LOCK_IMMED))
+ !ocfs2_test_osb_flag(osb, OCFS2_OSB_UMOUNT_START))
queue_work(ocfs2_wq, &osb->dentry_lock_work);
spin_unlock(&dentry_list_lock);
}
@@ -398,7 +398,7 @@ static void ocfs2_drop_dentry_lock(struct ocfs2_super *osb,
* possibly lead to ino...
2010 Jan 29
0
[PATCH 3/3] ocfs2:freeze-thaw: make it work -v2
...uper_block *sb;
+ int ret, do_unlock = 0;
+ struct ocfs2_super *osb = container_of(work, struct ocfs2_super,
+ osb_freeze_work);
+
+ mlog(0, "flags=0x%lx, frozen=%d\n", osb->osb_flags, osb->sb->s_frozen);
+
+ /* If umount is in progress, wait it to complete. */
+ ret = ocfs2_test_osb_flag(osb, OCFS2_OSB_UMOUNT_INPROG);
+ if (ret) {
+ mlog(0, "Unmount in progress, make the freeze request pending\n");
+ /* Leave FREEZE_INPROG there so not queue the worker again */
+ return;
+ }
+
+ sb = freeze_bdev(osb->sb->s_bdev);
+ if (IS_ERR(sb)) {
+ /* ocfs2_freeze_fs() should...
2009 Jul 20
1
[PATCH] ocfs2: flush dentry lock drop when sync ocfs2 volume.
In commit ea455f8ab68338ba69f5d3362b342c115bea8e13, we move the
dentry lock put process into ocfs2_wq. This is OK for most case,
but as for umount, it lead to at least 2 bugs. See
http://oss.oracle.com/bugzilla/show_bug.cgi?id=1133 and
http://oss.oracle.com/bugzilla/show_bug.cgi?id=1135. And it happens
easily if we have opened a lot of inodes.
For 1135, the reason is that during umount will call