diff options
author | Ted Unangst <tedu@cvs.openbsd.org> | 2004-03-02 05:46:02 +0000 |
---|---|---|
committer | Ted Unangst <tedu@cvs.openbsd.org> | 2004-03-02 05:46:02 +0000 |
commit | cdcf0a329f83b6f31d60944308c25553bbfe457d (patch) | |
tree | 26eb69d4536dbe9b59152e0b5632ba907083fc87 | |
parent | 1150c166ca7098458f6f565544bd7647c9388036 (diff) |
silly fifos aren't a real fs, so we have to be sure to call reclaim
in the host fs.
-rw-r--r-- | sys/nfs/nfs_vnops.c | 11 | ||||
-rw-r--r-- | sys/nfs/nfsnode.h | 3 | ||||
-rw-r--r-- | sys/ufs/ffs/ffs_extern.h | 3 | ||||
-rw-r--r-- | sys/ufs/ffs/ffs_vnops.c | 13 |
4 files changed, 24 insertions, 6 deletions
diff --git a/sys/nfs/nfs_vnops.c b/sys/nfs/nfs_vnops.c index 3b8f276db76..ad163a83a4f 100644 --- a/sys/nfs/nfs_vnops.c +++ b/sys/nfs/nfs_vnops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: nfs_vnops.c,v 1.57 2004/02/27 17:40:17 millert Exp $ */ +/* $OpenBSD: nfs_vnops.c,v 1.58 2004/03/02 05:46:00 tedu Exp $ */ /* $NetBSD: nfs_vnops.c,v 1.62.4.1 1996/07/08 20:26:52 jtc Exp $ */ /* @@ -163,7 +163,7 @@ struct vnodeopv_entry_desc fifo_nfsv2nodeop_entries[] = { { &vop_write_desc, nfsfifo_write }, /* write */ { &vop_fsync_desc, nfs_fsync }, /* fsync */ { &vop_inactive_desc, nfs_inactive }, /* inactive */ - { &vop_reclaim_desc, nfs_reclaim }, /* reclaim */ + { &vop_reclaim_desc, nfsfifo_reclaim }, /* reclaim */ { &vop_lock_desc, nfs_lock }, /* lock */ { &vop_unlock_desc, nfs_unlock }, /* unlock */ { &vop_print_desc, nfs_print }, /* print */ @@ -3239,4 +3239,11 @@ nfsfifo_close(v) } return (VOCALL(fifo_vnodeop_p, VOFFSET(vop_close), ap)); } + +int +nfsfifo_reclaim(void *v) +{ + fifo_reclaim(v); + return (nfs_reclaim(v)); +} #endif /* ! FIFO */ diff --git a/sys/nfs/nfsnode.h b/sys/nfs/nfsnode.h index 453c62b3582..30696a71d5d 100644 --- a/sys/nfs/nfsnode.h +++ b/sys/nfs/nfsnode.h @@ -1,4 +1,4 @@ -/* $OpenBSD: nfsnode.h,v 1.19 2003/09/23 16:51:13 millert Exp $ */ +/* $OpenBSD: nfsnode.h,v 1.20 2004/03/02 05:46:00 tedu Exp $ */ /* $NetBSD: nfsnode.h,v 1.16 1996/02/18 11:54:04 fvdl Exp $ */ /* @@ -183,6 +183,7 @@ int nfs_readdir(void *); int nfs_readlink(void *); int nfs_inactive(void *); int nfs_reclaim(void *); +int nfsfifo_reclaim(void *); #define nfs_lock ((int (*)(void *))vop_generic_lock) #define nfs_unlock ((int (*)(void *))vop_generic_unlock) #define nfs_islocked ((int (*)(void *))vop_generic_islocked) diff --git a/sys/ufs/ffs/ffs_extern.h b/sys/ufs/ffs/ffs_extern.h index 1eb46553dad..b31d6c91c9b 100644 --- a/sys/ufs/ffs/ffs_extern.h +++ b/sys/ufs/ffs/ffs_extern.h @@ -1,4 +1,4 @@ -/* $OpenBSD: ffs_extern.h,v 1.22 2004/01/07 20:47:47 tedu Exp $ */ +/* $OpenBSD: ffs_extern.h,v 1.23 2004/03/02 05:46:01 tedu Exp $ */ /* $NetBSD: ffs_extern.h,v 1.4 1996/02/09 22:22:22 christos Exp $ */ /*- @@ -154,6 +154,7 @@ int ffs_read(void *); int ffs_write(void *); int ffs_fsync(void *); int ffs_reclaim(void *); +int ffsfifo_reclaim(void *); /* diff --git a/sys/ufs/ffs/ffs_vnops.c b/sys/ufs/ffs/ffs_vnops.c index 5c41f97d070..e994cb68c74 100644 --- a/sys/ufs/ffs/ffs_vnops.c +++ b/sys/ufs/ffs/ffs_vnops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ffs_vnops.c,v 1.30 2003/09/23 16:51:13 millert Exp $ */ +/* $OpenBSD: ffs_vnops.c,v 1.31 2004/03/02 05:46:01 tedu Exp $ */ /* $NetBSD: ffs_vnops.c,v 1.7 1996/05/11 18:27:24 mycroft Exp $ */ /* @@ -150,7 +150,7 @@ struct vnodeopv_entry_desc ffs_fifoop_entries[] = { { &vop_write_desc, ufsfifo_write }, /* write */ { &vop_fsync_desc, ffs_fsync }, /* fsync */ { &vop_inactive_desc, ufs_inactive }, /* inactive */ - { &vop_reclaim_desc, ffs_reclaim }, /* reclaim */ + { &vop_reclaim_desc, ffsfifo_reclaim }, /* reclaim */ { &vop_lock_desc, ufs_lock }, /* lock */ { &vop_unlock_desc, ufs_unlock }, /* unlock */ { &vop_print_desc, ufs_print }, /* print */ @@ -311,3 +311,12 @@ ffs_reclaim(v) vp->v_data = NULL; return (0); } + +#ifdef FIFO +int +ffsfifo_reclaim(void *v) +{ + fifo_reclaim(v); + return (ffs_reclaim(v)); +} +#endif |