nfs: patch up MNT_LAZY on sync
It is a de facto noop, just make it less costly. Reviewed by: rmacklem Differential Revision: https://reviews.freebsd.org/D38763
This commit is contained in:
parent
a55b5a9aed
commit
5ff7fb76cb
@ -1918,14 +1918,16 @@ nfs_sync(struct mount *mp, int waitfor)
|
||||
}
|
||||
MNT_IUNLOCK(mp);
|
||||
|
||||
if (waitfor == MNT_LAZY)
|
||||
return (0);
|
||||
|
||||
/*
|
||||
* Force stale buffer cache information to be flushed.
|
||||
*/
|
||||
loop:
|
||||
MNT_VNODE_FOREACH_ALL(vp, mp, mvp) {
|
||||
/* XXX Racy bv_cnt check. */
|
||||
if (NFSVOPISLOCKED(vp) || vp->v_bufobj.bo_dirty.bv_cnt == 0 ||
|
||||
waitfor == MNT_LAZY) {
|
||||
if (NFSVOPISLOCKED(vp) || vp->v_bufobj.bo_dirty.bv_cnt == 0) {
|
||||
VI_UNLOCK(vp);
|
||||
continue;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user