Acked-by: Sunil Mushran <[email protected]> On 07/19/2010 07:31 PM, Wengang Wang wrote: > Just a reminder. > > wengang. > On 10-07-16 23:13, Wengang Wang wrote: > >> When we have to take both dlm->master_lock and lockres->spinlock, >> take them in order >> >> lockres->spinlock and then dlm->master_lock. >> >> The patch fixes a violation of the rule. >> We can simply move taking dlm->master_lock to where we have dropped >> res->spinlock >> since when we access res->state and free mle memory we don't need >> master_lock's >> protection. >> >> Signed-off-by: Wengang Wang<[email protected]> >> --- >> fs/ocfs2/dlm/dlmmaster.c | 5 ++--- >> 1 files changed, 2 insertions(+), 3 deletions(-) >> >> diff --git a/fs/ocfs2/dlm/dlmmaster.c b/fs/ocfs2/dlm/dlmmaster.c >> index 94b97fc..6d098b8 100644 >> --- a/fs/ocfs2/dlm/dlmmaster.c >> +++ b/fs/ocfs2/dlm/dlmmaster.c >> @@ -3050,8 +3050,6 @@ int dlm_migrate_request_handler(struct o2net_msg *msg, >> u32 len, void *data, >> /* check for pre-existing lock */ >> spin_lock(&dlm->spinlock); >> res = __dlm_lookup_lockres(dlm, name, namelen, hash); >> - spin_lock(&dlm->master_lock); >> - >> if (res) { >> spin_lock(&res->spinlock); >> if (res->state& DLM_LOCK_RES_RECOVERING) { >> @@ -3069,14 +3067,15 @@ int dlm_migrate_request_handler(struct o2net_msg >> *msg, u32 len, void *data, >> spin_unlock(&res->spinlock); >> } >> >> + spin_lock(&dlm->master_lock); >> /* ignore status. only nonzero status would BUG. */ >> ret = dlm_add_migration_mle(dlm, res, mle,&oldmle, >> name, namelen, >> migrate->new_master, >> migrate->master); >> >> -unlock: >> spin_unlock(&dlm->master_lock); >> +unlock: >> spin_unlock(&dlm->spinlock); >> >> if (oldmle) { >> -- >> 1.6.6.1 >> >> >> _______________________________________________ >> Ocfs2-devel mailing list >> [email protected] >> http://oss.oracle.com/mailman/listinfo/ocfs2-devel >> > _______________________________________________ > Ocfs2-devel mailing list > [email protected] > http://oss.oracle.com/mailman/listinfo/ocfs2-devel >
_______________________________________________ Ocfs2-devel mailing list [email protected] http://oss.oracle.com/mailman/listinfo/ocfs2-devel
