[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