Changeset View
Changeset View
Standalone View
Standalone View
sys/fs/nfsclient/nfs_clsubs.c
Show First 20 Lines • Show All 349 Lines • ▼ Show 20 Lines | |||||
void | void | ||||
ncl_clearcommit(struct mount *mp) | ncl_clearcommit(struct mount *mp) | ||||
{ | { | ||||
struct vnode *vp, *nvp; | struct vnode *vp, *nvp; | ||||
struct buf *bp, *nbp; | struct buf *bp, *nbp; | ||||
struct bufobj *bo; | struct bufobj *bo; | ||||
MNT_VNODE_FOREACH_ALL(vp, mp, nvp) { | MNT_VNODE_FOREACH_ALL(vp, mp, nvp) { | ||||
bo = &vp->v_bufobj; | bo = vp2bo(vp); | ||||
vholdl(vp); | vholdl(vp); | ||||
VI_UNLOCK(vp); | VI_UNLOCK(vp); | ||||
BO_LOCK(bo); | BO_LOCK(bo); | ||||
TAILQ_FOREACH_SAFE(bp, &bo->bo_dirty.bv_hd, b_bobufs, nbp) { | TAILQ_FOREACH_SAFE(bp, &bo->bo_dirty.bv_hd, b_bobufs, nbp) { | ||||
if (!BUF_ISLOCKED(bp) && | if (!BUF_ISLOCKED(bp) && | ||||
(bp->b_flags & (B_DELWRI | B_NEEDCOMMIT)) | (bp->b_flags & (B_DELWRI | B_NEEDCOMMIT)) | ||||
== (B_DELWRI | B_NEEDCOMMIT)) | == (B_DELWRI | B_NEEDCOMMIT)) | ||||
bp->b_flags &= ~(B_NEEDCOMMIT | B_CLUSTEROK); | bp->b_flags &= ~(B_NEEDCOMMIT | B_CLUSTEROK); | ||||
Show All 24 Lines |