summaryrefslogtreecommitdiffstats
path: root/sys/fs/nwfs/nwfs_io.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/fs/nwfs/nwfs_io.c')
-rw-r--r--sys/fs/nwfs/nwfs_io.c28
1 files changed, 9 insertions, 19 deletions
diff --git a/sys/fs/nwfs/nwfs_io.c b/sys/fs/nwfs/nwfs_io.c
index 5d51754..56d5949 100644
--- a/sys/fs/nwfs/nwfs_io.c
+++ b/sys/fs/nwfs/nwfs_io.c
@@ -185,7 +185,7 @@ nwfs_readvnode(struct vnode *vp, struct uio *uiop, struct ucred *cred) {
error = VOP_GETATTR(vp, &vattr, cred, td);
if (error) return (error);
if (np->n_mtime != vattr.va_mtime.tv_sec) {
- error = nwfs_vinvalbuf(vp, V_SAVE, cred, td, 1);
+ error = nwfs_vinvalbuf(vp, td);
if (error) return (error);
np->n_mtime = vattr.va_mtime.tv_sec;
}
@@ -219,7 +219,7 @@ nwfs_writevnode(vp, uiop, cred, ioflag)
if (ioflag & (IO_APPEND | IO_SYNC)) {
if (np->n_flag & NMODIFIED) {
nwfs_attr_cacheremove(vp);
- error = nwfs_vinvalbuf(vp, V_SAVE, cred, td, 1);
+ error = nwfs_vinvalbuf(vp, td);
if (error) return (error);
}
if (ioflag & IO_APPEND) {
@@ -592,38 +592,28 @@ nwfs_putpages(ap)
* doing the flush, just wait for completion.
*/
int
-nwfs_vinvalbuf(vp, flags, cred, td, intrflg)
+nwfs_vinvalbuf(vp, td)
struct vnode *vp;
- int flags;
- struct ucred *cred;
struct thread *td;
- int intrflg;
{
struct nwnode *np = VTONW(vp);
/* struct nwmount *nmp = VTONWFS(vp);*/
- int error = 0, slpflag, slptimeo;
+ int error = 0;
if (vp->v_iflag & VI_XLOCK)
return (0);
- if (intrflg) {
- slpflag = PCATCH;
- slptimeo = 2 * hz;
- } else {
- slpflag = 0;
- slptimeo = 0;
- }
while (np->n_flag & NFLUSHINPROG) {
np->n_flag |= NFLUSHWANT;
- error = tsleep(&np->n_flag, PRIBIO + 2, "nwfsvinv", slptimeo);
+ error = tsleep(&np->n_flag, PRIBIO + 2, "nwfsvinv", 2 * hz);
error = ncp_chkintr(NWFSTOCONN(VTONWFS(vp)), td);
- if (error == EINTR && intrflg)
+ if (error == EINTR)
return EINTR;
}
np->n_flag |= NFLUSHINPROG;
- error = vinvalbuf(vp, flags, td, slpflag, 0);
+ error = vinvalbuf(vp, V_SAVE, td, PCATCH, 0);
while (error) {
- if (intrflg && (error == ERESTART || error == EINTR)) {
+ if (error == ERESTART || error == EINTR) {
np->n_flag &= ~NFLUSHINPROG;
if (np->n_flag & NFLUSHWANT) {
np->n_flag &= ~NFLUSHWANT;
@@ -631,7 +621,7 @@ nwfs_vinvalbuf(vp, flags, cred, td, intrflg)
}
return EINTR;
}
- error = vinvalbuf(vp, flags, td, slpflag, 0);
+ error = vinvalbuf(vp, V_SAVE, td, PCATCH, 0);
}
np->n_flag &= ~(NMODIFIED | NFLUSHINPROG);
if (np->n_flag & NFLUSHWANT) {
OpenPOWER on IntegriCloud