version 1.69.10.2, 2009/07/01 22:49:53 |
version 1.69.10.2.2.1, 2010/04/21 00:28:19 |
Line 835 lf_advlock(struct vop_advlock_args *ap, |
|
Line 835 lf_advlock(struct vop_advlock_args *ap, |
|
default: |
default: |
return EINVAL; |
return EINVAL; |
} |
} |
|
|
|
if (fl->l_len == 0) |
|
end = -1; |
|
else { |
|
if (fl->l_len > 0) |
|
end = start + fl->l_len - 1; |
|
else { |
|
/* lockf() allows -ve lengths */ |
|
end = start - 1; |
|
start += fl->l_len; |
|
} |
|
} |
if (start < 0) |
if (start < 0) |
return EINVAL; |
return EINVAL; |
|
|
Line 869 lf_advlock(struct vop_advlock_args *ap, |
|
Line 881 lf_advlock(struct vop_advlock_args *ap, |
|
return EINVAL; |
return EINVAL; |
} |
} |
|
|
if (fl->l_len == 0) |
|
end = -1; |
|
else |
|
end = start + fl->l_len - 1; |
|
|
|
switch (ap->a_op) { |
switch (ap->a_op) { |
case F_SETLK: |
case F_SETLK: |
lock = lf_alloc(1); |
lock = lf_alloc(1); |
Line 922 lf_advlock(struct vop_advlock_args *ap, |
|
Line 929 lf_advlock(struct vop_advlock_args *ap, |
|
if (lock->lf_flags & F_POSIX) { |
if (lock->lf_flags & F_POSIX) { |
KASSERT(curproc == (struct proc *)ap->a_id); |
KASSERT(curproc == (struct proc *)ap->a_id); |
} |
} |
lock->lf_id = (struct proc *)ap->a_id; |
lock->lf_id = ap->a_id; |
|
|
/* |
/* |
* Do the requested operation. |
* Do the requested operation. |