On 2013/6/5 16:53, Xue jiufei wrote: > dlm_mig_lockres_handler goes to leave, when lockres with state > DLM_LOCK_RES_RECOVERING, not putting lockres taken in dlm_lookup_lockres. it is obvious bug. it cause memory leak. Reviewed-by: shencanquan <[email protected]> > Signed-off-by: joyce<[email protected]> > --- > fs/ocfs2/dlm/dlmrecovery.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/fs/ocfs2/dlm/dlmrecovery.c b/fs/ocfs2/dlm/dlmrecovery.c > index a145cf8..241ced4 100644 > --- a/fs/ocfs2/dlm/dlmrecovery.c > +++ b/fs/ocfs2/dlm/dlmrecovery.c > @@ -1408,6 +1408,7 @@ int dlm_mig_lockres_handler(struct o2net_msg *msg, u32 > len, void *data, > mres->lockname_len, mres->lockname); > ret = -EFAULT; > spin_unlock(&res->spinlock); > + dlm_lockres_put(res); > goto leave; > } > res->state |= DLM_LOCK_RES_MIGRATING;
_______________________________________________ Ocfs2-devel mailing list [email protected] https://oss.oracle.com/mailman/listinfo/ocfs2-devel
