search for: lockr

Displaying 20 results from an estimated 74 matches for "lockr".

Did you mean: lock
2010 Jun 19
3
[PATCH 1/1] ocfs2 fix o2dlm dlm run purgelist
There are two problems in dlm_run_purgelist 1. If a lockres is found to be in use, dlm_run_purgelist keeps trying to purge the same lockres instead of trying the next lockres. 2. When a lockres is found unused, dlm_run_purgelist releases lockres spinlock before setting DLM_LOCK_RES_DROPPING_REF and calls dlm_purge_lockres. spinlock is reacquired but in t...
2010 Feb 03
1
[PATCH] ocfs2: Plugs race between the dc thread and an unlock ast message
...unsigned long flags; int blocking; int new_level; + int level; int ret = 0; int set_lvb = 0; unsigned int gen; @@ -3503,6 +3504,7 @@ recheck: * may sleep, so we save off a copy of what we're blocking as * it may change while we're not holding the spin lock. */ blocking = lockres->l_blocking; + level = lockres->l_level; spin_unlock_irqrestore(&lockres->l_lock, flags); ctl->unblock_action = lockres->l_ops->downconvert_worker(lockres, blocking); @@ -3511,7 +3513,7 @@ recheck: goto leave; spin_lock_irqsave(&lockres->l_lock, flags); -...
2008 Oct 23
2
[PATCH 1/1] OCFS2: fix for nfs getting stale inode.
...cfs2_sup int ex); int ocfs2_rename_lock(struct ocfs2_super *osb); void ocfs2_rename_unlock(struct ocfs2_super *osb); + +int ocfs2_dealloc_lock(struct ocfs2_super *osb, u64 blkno, + int ex); +void ocfs2_dealloc_unlock(struct ocfs2_super *osb, u64 blkno, + int ex); + void ocfs2_mark_lockres_freeing(struct ocfs2_lock_res *lockres); /* for the vote thread */ Index: fs/ocfs2/export.c =================================================================== --- fs/ocfs2/export.c (revision 3101) +++ fs/ocfs2/export.c (working copy) @@ -49,6 +49,7 @@ static struct dentry *ocfs2_get_dentry(s...
2009 Aug 18
15
dlm stress test hangs OCFS2
...ssue will increase a lot. In further debugging, I added some printk information in fs/ocfs2/dlmglue.c, and did some statistic. Here is the statistic info for 4 seconds when both nodes gets blocked: Here is a statistic info on the frequency of each functions got called during the 4 seconds, 1352 lockres_set_flags 728 lockres_or_flags 624 lockres_clear_flags 312 __lockres_clear_pending 213 ocfs2_process_blocked_lock 213 ocfs2_locking_ast 213 ocfs2_downconvert_thread_do_work 213 lockres_set_pending 213 lockres_clear_pending 213 lockres_add_mask_waiter 156 oc...
2009 Jun 02
10
[PATCH 0/7] [RESEND] Fix some deadlocks in quota code and implement lockdep for cluster locks
Hi, I'm resending this patch series. It's rediffed against linux-next branch of Joel's git tree. The first four patches are obvious fixes of deadlocks in quota code and should go in as soon as possible. The other three patches implement lockdep support for OCFS2 cluster locks. So you can have a look whether the code make sence to you and possibly merge them. They should be NOP when
2004 Jun 03
0
[BUG] lockres already get by self
When running iozone on ocfs2, after about half an hour, the call trace print and iozone hang. >From the call trace, the reason is "BUG()" in ocfs_acquire_lockres. int ocfs_acquire_lockres (ocfs_lock_res * lockres, __u32 timeout) { if (lockres->thread_id != mypid) { else { printk("lockres in_use=%d, pid=%d, mypid=%d\n", lockres->in_use, lockres->thread_id, mypid); BUG(); lockres->in_use++; spin_unlock (&lockre...
2009 Jun 04
2
[PATCH 0/2] OCFS2 lockdep support
Hi, here comes the next version of OCFS2 lockdep support. I've dropped patches with fixes from the series since they were already merged. As Joel suggested, I've simplified the main patch a bit so that we don't have ifdefs around lock declarations and there are also a few other minor improvements. Honza
2009 Jun 19
6
Orphan scan fixes - V2
Implemented the suggestions. Also, moved the ocfs2_orphan_scan_init() to the end of ocfs2_fill_super() instead of calling it earlier in ocfs2_initialize_super(). Sunil
2010 Jan 21
4
dlmglue fixes
David, So here are the two patches. Remove all patches that you have and apply these. The first one is straight forward. The second one will hopefully fix the livelock issue you have been encountering. People reviewing the patches should note that the second one is slightly different than the one I posted earlier. It removes the BUG_ON in the if condition where we jump to update_holders. The
2008 Apr 02
10
[PATCH 0/62] Ocfs2 updates for 2.6.26-rc1
...o slot_map.c ocfs2: Fill node number during cluster stack init sysfs: Allow removal of symlinks in the sysfs root ocfs2: Move /sys/o2cb to /sys/fs/o2cb Sunil Mushran (12): ocfs2/dlm: Rename slabcache dlm_mle_cache to o2dlm_mle ocfs2/dlm: Create slabcaches for lock and lockres ocfs2/dlm: Link all lockres' to a tracking list ocfs2/dlm: Create debugfs dirs ocfs2/dlm: Dump the dlm state in a debugfs file ocfs2/dlm: Dumps the lockres' into a debugfs file ocfs2/dlm: Move struct dlm_master_list_entry to dlmcommon.h ocfs2/dlm: Dumps...
2009 May 19
2
[PATCH 1/1] OCFS2: timer to queue scan of all orphan slots
...ocfs2_super *osb) +{ + ocfs2_lock_res_init_once(res); + ocfs2_build_lock_name(OCFS2_LOCK_TYPE_ORPHAN_SCAN, 0, 0, res->l_name); + ocfs2_lock_res_init_common(osb, res, OCFS2_LOCK_TYPE_ORPHAN_SCAN, + &ocfs2_orphan_scan_lops, osb); +} + void ocfs2_file_lock_res_init(struct ocfs2_lock_res *lockres, struct ocfs2_file_private *fp) { @@ -1978,6 +1991,24 @@ static inline int ocfs2_meta_lvb_is_trustable(struct inode *inode, return 0; } +void ocfs2_stuff_meta_lvb_mtime(struct timespec *spec, + struct ocfs2_lock_res *lockres) +{ + struct ocfs2_meta_lvb *lvb; + lvb = ocfs2_dlm_l...
2009 Jan 14
15
Backport patches to ocfs2 1.4 tree from mainline
Found 15 patches (out of 162) that appeared relevant to ocfs2 1.4. Please review. Sunil
2009 Feb 26
1
[PATCH 0/7] OCFS2 locking fixes and lockdep annotations
Hi, the first four patches in this series fix locking problems in OCFS2 quota code (three of them can lead to potential deadlocks). The fifth patch reorders ip_alloc_sem for directories to be acquired before localalloc locks. Mark would you please merge these? The last two patches implement lockdep annotations for OCFS2 cluster locks. We annotate all the cluster locks except for special ones
2009 Jan 29
0
Is ocfs2_create_new_lock() broken?
...fs2_create_new_inode_locks(), we claim: 1436 /* 1437 * We don't want to use DLM_LKF_LOCAL on a meta data lock as they 1438 * don't use a generation in their lock names. 1439 */ 1440 ret = ocfs2_create_new_lock(osb, &OCFS2_I(inode)->ip_inode_lockres, 1, 0); Ass you can see, we pass '0' for the 'local' argument to ocfs2_create_new_lock(). ocfs2_create_new_lock() certainly sets lkm_flags based on the 'local' argument. But then it calls lockres_or_flags() with the explicit flag, not with lkm_flags. Is this wrong? 13...
2009 May 07
3
[PATCH] ocfs2_cluster_lock: code cleanup for redundant assignment
In fs/ocfs2/dlmglue.c:ocfs2_cluster_lock(), after label 'out:' the code is: 1373 if (wait && arg_flags & OCFS2_LOCK_NONBLOCK && 1374 mw.mw_mask & (OCFS2_LOCK_BUSY|OCFS2_LOCK_BLOCKED)) { 1375 wait = 0; 1376 if (lockres_remove_mask_waiter(lockres, &mw)) 1377 ret = -EAGAIN; 1378 else 1379 goto again; 1380 } On L1375 variable 'wait' is assigned to 0. But if execution path goes to L1379 and jumps to label 'again:' on L1262,...
2009 Jun 04
3
Patches that adds delayed orphan scan timer (rev 3)
Resending after implementing review comments.
2009 Feb 17
1
[PATCH 1/1] OCFS2: anti stale inode for nfs (V3)
...default: c = '\0'; } Index: fs/ocfs2/ocfs2.h =================================================================== --- fs/ocfs2/ocfs2.h (revision 128) +++ fs/ocfs2/ocfs2.h (working copy) @@ -288,6 +288,7 @@ struct ocfs2_super struct dlm_ctxt *dlm; struct ocfs2_lock_res osb_super_lockres; struct ocfs2_lock_res osb_rename_lockres; + struct ocfs2_lock_res osb_nfs_sync_lockres; struct dlm_eviction_cb osb_eviction_cb; struct ocfs2_dlm_debug *osb_dlm_debug; struct dlm_protocol_version osb_locking_proto; Index: fs/ocfs2/dlmglue.c ================================================...
2010 Aug 26
1
[PATCH 2/5] ocfs2/dlm: add lockres as parameter to dlm_new_lock()
Wether the dlm_lock needs to access lvb or not depends on dlm_lock_resource it belongs to. So a new parameter "struct dlm_lock_resource *res" is added to dlm_new_lock() so that we can know if we need to allocate lvb for the dlm_lock. And we have to make the lockres availale for calling dlm_new_lock(). Signed-off-by: Wengang Wang <wen.gang.wang at oracle.com> --- fs/ocfs2/dlm/dlmcommon.h | 3 +- fs/ocfs2/dlm/dlmlock.c | 55 ++++++++++++++++++++++--------------------- fs/ocfs2/dlm/dlmrecovery.c | 2 +- 3 files changed, 31 insertions(+),...
2009 Jun 02
3
Patches that adds delayed orphan scan timer (rev 2)
Resending after implementing review comments.
2009 Feb 03
5
[PATCH 1/4] ocfs2/dlm: Retract fix for race between purge and migrate
Mainline commit d4f7e650e55af6b235871126f747da88600e8040 attempts to delay the dlm_thread from sending the drop ref message if the lockres is being migrated. The problem is that we make the dlm_thread wait for the migration to complete. This causes a deadlock as dlm_thread also participates in the lockres migration process. A better fix for the original oss bugzilla#1012 is in testing. Signed-off-by: Sunil Mushran <sunil.mushra...