SCCS-vsn: sys/nfs/nfs_bio.c 7.9
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
- * @(#)nfs_bio.c 7.8 (Berkeley) %G%
+ * @(#)nfs_bio.c 7.9 (Berkeley) %G%
*/
if (np->n_flag & NMODIFIED) {
np->n_flag &= ~NMODIFIED;
*/
if (np->n_flag & NMODIFIED) {
np->n_flag &= ~NMODIFIED;
- if (vp->v_blockh && vinvalbuf(vp, TRUE)) {
+ if (vinvalbuf(vp, TRUE)) {
if (error = nfs_getattr(vp, &vattr, cred))
return (error);
np->n_mtime = vattr.va_mtime.tv_sec;
}
if (error = nfs_getattr(vp, &vattr, cred))
return (error);
np->n_mtime = vattr.va_mtime.tv_sec;
}
- } else if (vp->v_blockh) {
+ } else if (vp->v_cleanblkhd || vp->v_dirtyblkhd) {
if (error = nfs_getattr(vp, &vattr, cred))
return (error);
if (np->n_mtime != vattr.va_mtime.tv_sec) {
if (error = nfs_getattr(vp, &vattr, cred))
return (error);
if (np->n_mtime != vattr.va_mtime.tv_sec) {
bp->b_flags &= ~(B_READ | B_DONE |
B_ERROR | B_DELWRI | B_ASYNC);
u.u_ru.ru_oublock++;
bp->b_flags &= ~(B_READ | B_DONE |
B_ERROR | B_DELWRI | B_ASYNC);
u.u_ru.ru_oublock++;
+ bp->b_vp->v_numoutput++;
VOP_STRATEGY(bp);
error = biowait(bp);
if (bp->b_flags & B_ERROR) {
VOP_STRATEGY(bp);
error = biowait(bp);
if (bp->b_flags & B_ERROR) {