[Ocfs2-devel] [PATCH v2] ocfs2/dlm: get mle inuse only when it is initialized

alex chen alex.chen at huawei.com
Tue Nov 14 01:22:46 PST 2017


Hi Changwei,

Now, this seem a good fix. But it would be better if you can add a *Fixs* tag.
BTW, I think this problem also exists in the "-stable" tree and you may
cc <stable at vger.kernel.org>.

Thanks,
Alex

On 2017/11/14 17:15, Changwei Ge wrote:
> Sorry for previous patch's format.
> So I resend it.
> 
> When dlm_add_migration_mle returns -EEXIST, previously input mle will
> not be initialized. So we can't use its associated dlm object.
> And we truly don't need this mle for already launched migration
> progress, since oldmle has taken this role.
> 
> Thanks,
> Changwei
> 
> Signed-off-by: Changwei Ge <ge.changwei at h3c.com>
> ---
>   fs/ocfs2/dlm/dlmmaster.c | 4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/ocfs2/dlm/dlmmaster.c b/fs/ocfs2/dlm/dlmmaster.c
> index 3e04279446e8..9c3e0f13ca87 100644
> --- a/fs/ocfs2/dlm/dlmmaster.c
> +++ b/fs/ocfs2/dlm/dlmmaster.c
> @@ -2616,7 +2616,9 @@ static int dlm_migrate_lockres(struct dlm_ctxt *dlm,
>   	 * otherwise the assert_master from the new
>   	 * master will destroy this.
>   	 */
> -	dlm_get_mle_inuse(mle);
> +	if (ret != -EEXIST)
> +		dlm_get_mle_inuse(mle);
> +
>   	spin_unlock(&dlm->master_lock);
>   	spin_unlock(&dlm->spinlock);
> 




More information about the Ocfs2-devel mailing list