[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[Linux-cluster] Is this intentional: specifying a new completion ast routine on a convert



This is from device.c. The intent seems to
be that if an argument is specified, then it overrides
an existing value. However, a new completion ast address
is only loaded if a new blocking ast address is specified.

        if (kparams->flags & DLM_LKF_CONVERT) {
                struct dlm_lkb *lkb = dlm_get_lkb(fi->fi_ls->ls_lockspace, kparams->lkid);
                if (!lkb) {
                        return -EINVAL;
                }
                li = (struct lock_info *)lkb->lkb_astparam;

                /* Only override these if they are provided */
                if (li->li_user_lksb)
                        li->li_user_lksb = kparams->lksb;
                if (li->li_astparam)
                        li->li_astparam  = kparams->astparam;
                if (li->li_bastaddr)
                        li->li_bastaddr  = kparams->bastaddr;
--->            if (li->li_bastaddr)
--->                    li->li_astaddr   = kparams->astaddr;
                li->li_flags     = 0;
        }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]