Lines Matching defs:lop
153 static void nfsrv_freenfslock(struct nfslock *lop);
1103 struct nfslock *lop;
1144 LIST_FOREACH(lop, &lckownstp->ls_lock, lo_lckowner) {
1170 struct nfslock *lop;
1245 lop = LIST_FIRST(&lfp->lf_lock);
1246 while (lop != LIST_END(&lfp->lf_lock) && cnt < maxcnt) {
1247 stp = lop->lo_stp;
1248 ldumpp[cnt].ndlck_flags = lop->lo_flags;
1249 ldumpp[cnt].ndlck_first = lop->lo_first;
1250 ldumpp[cnt].ndlck_end = lop->lo_end;
1278 lop = LIST_NEXT(lop, lo_lckfile);
1670 struct nfslock *lop, *nlop;
1679 lop = LIST_FIRST(&stp->ls_lock);
1680 while (lop != LIST_END(&stp->ls_lock)) {
1681 nlop = LIST_NEXT(lop, lo_lckowner);
1687 lfp = lop->lo_lfp;
1688 else if (lfp != lop->lo_lfp)
1710 first = lop->lo_first;
1711 end = lop->lo_end;
1712 nfsrv_freenfslock(lop);
1719 nfsrv_freenfslock(lop);
1720 lop = nlop;
1730 nfsrv_freenfslock(struct nfslock *lop)
1733 if (lop->lo_lckfile.le_prev != NULL) {
1734 LIST_REMOVE(lop, lo_lckfile);
1738 LIST_REMOVE(lop, lo_lckowner);
1739 free(lop, M_NFSDLOCK);
1823 struct nfslock *lop;
2376 LIST_FOREACH(lop, &lfp->lf_lock, lo_lckfile) {
2377 if (new_lop->lo_end > lop->lo_first &&
2378 new_lop->lo_first < lop->lo_end &&
2380 lop->lo_flags == NFSLCK_WRITE) &&
2381 lckstp != lop->lo_stp &&
2382 (clp != lop->lo_stp->ls_clp ||
2383 lckstp->ls_ownerlen != lop->lo_stp->ls_ownerlen ||
2384 NFSBCMP(lckstp->ls_owner, lop->lo_stp->ls_owner,
2391 ret = nfsrv_clientconflict(lop->lo_stp->ls_clp, &haslock,
2394 ret = nfsrv_clientconflict(lop->lo_stp->ls_clp, &haslock,
2426 cfp->cl_clientid.lval[0]=lop->lo_stp->ls_stateid.other[0];
2427 cfp->cl_clientid.lval[1]=lop->lo_stp->ls_stateid.other[1];
2428 cfp->cl_first = lop->lo_first;
2429 cfp->cl_end = lop->lo_end;
2430 cfp->cl_flags = lop->lo_flags;
2431 cfp->cl_ownerlen = lop->lo_stp->ls_ownerlen;
2432 NFSBCOPY(lop->lo_stp->ls_owner, cfp->cl_owner,
3833 struct nfslock *lop, *nlop;
3840 lop = LIST_FIRST(&lfp->lf_lock);
3841 if (lop == LIST_END(&lfp->lf_lock) ||
3842 new_lop->lo_first <= lop->lo_first) {
3845 nlop = LIST_NEXT(lop, lo_lckfile);
3848 lop = nlop;
3849 nlop = LIST_NEXT(lop, lo_lckfile);
3851 LIST_INSERT_AFTER(lop, new_lop, lo_lckfile);
3885 struct nfslock *lop, *tlop, *ilop;
3897 lop = LIST_FIRST(&stp->ls_lock);
3900 lop = LIST_FIRST(&lfp->lf_locallock);
3902 while (lop != NULL) {
3907 if (lop->lo_lfp == lfp) {
3909 if (lop->lo_end >= new_lop->lo_first) {
3910 if (new_lop->lo_end < lop->lo_first) {
3918 if (new_lop->lo_flags == lop->lo_flags ||
3919 (new_lop->lo_first <= lop->lo_first &&
3920 new_lop->lo_end >= lop->lo_end)) {
3928 if (lop->lo_first < new_lop->lo_first)
3929 new_lop->lo_first = lop->lo_first;
3930 if (lop->lo_end > new_lop->lo_end)
3931 new_lop->lo_end = lop->lo_end;
3932 tlop = lop;
3933 lop = LIST_NEXT(lop, lo_lckowner);
3942 if (new_lop->lo_first <= lop->lo_first) {
3950 lop->lo_first = new_lop->lo_end;
3953 if (new_lop->lo_end >= lop->lo_end) {
3962 lop->lo_end = new_lop->lo_first;
3963 ilop = lop;
3964 lop = LIST_NEXT(lop, lo_lckowner);
3985 other_lop->lo_end = lop->lo_end;
3986 other_lop->lo_flags = lop->lo_flags;
3989 lop->lo_end = tmp;
3990 nfsrv_insertlock(other_lop, lop, stp, lfp);
3992 ilop = lop;
3996 ilop = lop;
3997 lop = LIST_NEXT(lop, lo_lckowner);
3998 if (myfile && (lop == NULL || lop->lo_lfp != lfp))
5682 struct nfslock lo, *lop = &lo;
5688 lop->lo_first = nvap->na_size;
5691 lop->lo_first = 0;
5700 lop->lo_end = NFS64BITSSET;
5701 lop->lo_flags = NFSLCK_WRITE;
5709 error = nfsrv_lockctrl(vp, &stp, &lop, NULL, clientid,
5968 struct nfslock *lop, *nlop;
5972 lop = LIST_FIRST(&lfp->lf_locallock);
5973 while (first < end && lop != NULL) {
5974 nlop = LIST_NEXT(lop, lo_lckowner);
5975 if (first >= lop->lo_end) {
5977 lop = nlop;
5978 } else if (first < lop->lo_first) {
5980 if (end <= lop->lo_first) {
5990 NFSLCK_UNLOCK, first, lop->lo_first, cfp,
5994 first = lop->lo_first;
5998 if (end <= lop->lo_end) {
6001 lop->lo_flags, first, end, cfp, p);
6008 lop->lo_flags, first, lop->lo_end, cfp, p);
6011 first = lop->lo_end;
6012 lop = nlop;
6038 struct nfslock *lop;
6046 LIST_FOREACH(lop, &lfp->lf_lock, lo_lckfile) {
6047 KASSERT(prevfirst <= lop->lo_first,
6049 KASSERT(lop->lo_first < lop->lo_end,
6051 prevfirst = lop->lo_first;
6052 if (first >= lop->lo_first &&
6053 first < lop->lo_end)
6059 first = lop->lo_end;
6060 else if (end > lop->lo_first &&
6061 lop->lo_first > first) {
6067 end = lop->lo_first;