Changeset View
Changeset View
Standalone View
Standalone View
sys/fs/fuse/fuse_vnops.c
Show First 20 Lines • Show All 460 Lines • ▼ Show 20 Lines | fuse_vnop_advlock(struct vop_advlock_args *ap) | ||||
if (err) | if (err) | ||||
goto out; | goto out; | ||||
fdisp_init(&fdi, sizeof(*fli)); | fdisp_init(&fdi, sizeof(*fli)); | ||||
fdisp_make_vp(&fdi, op, vp, td, cred); | fdisp_make_vp(&fdi, op, vp, td, cred); | ||||
fli = fdi.indata; | fli = fdi.indata; | ||||
fli->fh = fufh->fh_id; | fli->fh = fufh->fh_id; | ||||
fli->owner = fl->l_pid; | fli->owner = td->td_proc->p_pid; | ||||
fli->lk.start = fl->l_start; | fli->lk.start = fl->l_start; | ||||
if (fl->l_len != 0) | if (fl->l_len != 0) | ||||
fli->lk.end = fl->l_start + fl->l_len - 1; | fli->lk.end = fl->l_start + fl->l_len - 1; | ||||
else | else | ||||
fli->lk.end = INT64_MAX; | fli->lk.end = INT64_MAX; | ||||
fli->lk.type = fl->l_type; | fli->lk.type = fl->l_type; | ||||
fli->lk.pid = fl->l_pid; | fli->lk.pid = td->td_proc->p_pid; | ||||
err = fdisp_wait_answ(&fdi); | err = fdisp_wait_answ(&fdi); | ||||
fdisp_destroy(&fdi); | fdisp_destroy(&fdi); | ||||
if (err == 0 && op == FUSE_GETLK) { | if (err == 0 && op == FUSE_GETLK) { | ||||
flo = fdi.answ; | flo = fdi.answ; | ||||
fl->l_type = flo->lk.type; | fl->l_type = flo->lk.type; | ||||
fl->l_pid = flo->lk.pid; | fl->l_pid = flo->lk.pid; | ||||
▲ Show 20 Lines • Show All 2,268 Lines • Show Last 20 Lines |