diff options
Diffstat (limited to 'sys/fs')
| -rw-r--r-- | sys/fs/nwfs/nwfs_io.c | 4 | ||||
| -rw-r--r-- | sys/fs/smbfs/smbfs_io.c | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/sys/fs/nwfs/nwfs_io.c b/sys/fs/nwfs/nwfs_io.c index 8fdd18a13d5e..84ae3cd6b34a 100644 --- a/sys/fs/nwfs/nwfs_io.c +++ b/sys/fs/nwfs/nwfs_io.c @@ -611,6 +611,10 @@ nwfs_vinvalbuf(vp, td) return EINTR; } np->n_flag |= NFLUSHINPROG; + + if (vp->v_bufobj.bo_object != NULL) + vm_object_page_clean(vp->v_bufobj.bo_object, 0, 0, OBJPC_SYNC); + error = vinvalbuf(vp, V_SAVE, td, PCATCH, 0); while (error) { if (error == ERESTART || error == EINTR) { diff --git a/sys/fs/smbfs/smbfs_io.c b/sys/fs/smbfs/smbfs_io.c index 478ed5535bb3..7e76a876cf20 100644 --- a/sys/fs/smbfs/smbfs_io.c +++ b/sys/fs/smbfs/smbfs_io.c @@ -683,6 +683,10 @@ smbfs_vinvalbuf(struct vnode *vp, struct thread *td) return EINTR; } np->n_flag |= NFLUSHINPROG; + + if (vp->v_bufobj.bo_object != NULL) + vm_object_page_clean(vp->v_bufobj.bo_object, 0, 0, OBJPC_SYNC); + error = vinvalbuf(vp, V_SAVE, td, PCATCH, 0); while (error) { if (error == ERESTART || error == EINTR) { |
