search for: dentry_lock_list

Displaying 4 results from an estimated 4 matches for "dentry_lock_list".

2009 Jul 20
1
[PATCH] ocfs2: flush dentry lock drop when sync ocfs2 volume.
...22 @@ static DEFINE_SPINLOCK(dentry_list_lock); * this limit so that we don't starve other users of ocfs2_wq. */ #define DL_INODE_DROP_COUNT 64 +void ocfs2_flush_dl_inode_drop(struct ocfs2_super *osb) +{ + struct ocfs2_dentry_lock *dl; + + spin_lock(&dentry_list_lock); + while (osb->dentry_lock_list) { + dl = osb->dentry_lock_list; + osb->dentry_lock_list = dl->dl_next; + spin_unlock(&dentry_list_lock); + iput(dl->dl_inode); + kfree(dl); + spin_lock(&dentry_list_lock); + } + spin_unlock(&dentry_list_lock); +} + /* Drop inode references from dentry locks */ void...
2010 Aug 20
0
[PATCH] ocfs2: Don't delete orphaned files if we are in the process of umount.
...changed, 26 insertions(+), 6 deletions(-) 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...
2009 Jan 12
5
[PATCH 0/5] OCFS2 quota fixes
Hello, the following series of patches fixes some issues with OCFS2 quotas. The first patch modifies VFS quota locking, the next patch uses the fact to simplify OCFS2 quota locking and solves a few deadlock issues. The third and the fourth patches fix another possible deadlocks in OCFS2 quota code and the last patch is a minor cleanup. Honza
2010 Jan 29
0
[PATCH 3/3] ocfs2:freeze-thaw: make it work -v2
...event further queueing of inode drop events */ spin_lock(&dentry_list_lock); ocfs2_set_osb_flag(osb, OCFS2_OSB_DROP_DENTRY_LOCK_IMMED); @@ -2171,6 +2191,8 @@ static int ocfs2_initialize_super(struct super_block *sb, INIT_WORK(&osb->dentry_lock_work, ocfs2_drop_dl_inodes); osb->dentry_lock_list = NULL; + INIT_WORK(&osb->osb_freeze_work, ocfs2_freeze_worker); + /* get some pseudo constants for clustersize bits */ osb->s_clustersize_bits = le32_to_cpu(di->id2.i_super.s_clustersize_bits); @@ -2529,5 +2551,110 @@ void __ocfs2_abort(struct super_block* sb, ocfs2_handle_...