diff options
Diffstat (limited to 'sys/fs')
-rw-r--r-- | sys/fs/cd9660/cd9660_vfsops.c | 2 | ||||
-rw-r--r-- | sys/fs/devfs/devfs_vfsops.c | 2 | ||||
-rw-r--r-- | sys/fs/fdescfs/fdesc_vfsops.c | 2 | ||||
-rw-r--r-- | sys/fs/hpfs/hpfs_vfsops.c | 2 | ||||
-rw-r--r-- | sys/fs/ntfs/ntfs_vfsops.c | 2 | ||||
-rw-r--r-- | sys/fs/nwfs/nwfs_vfsops.c | 53 | ||||
-rw-r--r-- | sys/fs/portalfs/portal_vfsops.c | 2 | ||||
-rw-r--r-- | sys/fs/pseudofs/pseudofs.h | 2 | ||||
-rw-r--r-- | sys/fs/smbfs/smbfs_vfsops.c | 46 | ||||
-rw-r--r-- | sys/fs/udf/udf_vfsops.c | 2 | ||||
-rw-r--r-- | sys/fs/umapfs/umap_vfsops.c | 2 | ||||
-rw-r--r-- | sys/fs/unionfs/union_vfsops.c | 2 |
12 files changed, 12 insertions, 107 deletions
diff --git a/sys/fs/cd9660/cd9660_vfsops.c b/sys/fs/cd9660/cd9660_vfsops.c index a44df4c..b5aff73 100644 --- a/sys/fs/cd9660/cd9660_vfsops.c +++ b/sys/fs/cd9660/cd9660_vfsops.c @@ -79,7 +79,7 @@ static struct vfsops cd9660_vfsops = { cd9660_root, vfs_stdquotactl, cd9660_statfs, - vfs_stdsync, + vfs_stdnosync, cd9660_vget, cd9660_fhtovp, vfs_stdcheckexp, diff --git a/sys/fs/devfs/devfs_vfsops.c b/sys/fs/devfs/devfs_vfsops.c index 64d4cde..c1af1cd 100644 --- a/sys/fs/devfs/devfs_vfsops.c +++ b/sys/fs/devfs/devfs_vfsops.c @@ -194,7 +194,7 @@ static struct vfsops devfs_vfsops = { devfs_root, vfs_stdquotactl, devfs_statfs, - vfs_stdsync, + vfs_stdnosync, vfs_stdvget, vfs_stdfhtovp, vfs_stdcheckexp, diff --git a/sys/fs/fdescfs/fdesc_vfsops.c b/sys/fs/fdescfs/fdesc_vfsops.c index a4741bc..fbe73d9 100644 --- a/sys/fs/fdescfs/fdesc_vfsops.c +++ b/sys/fs/fdescfs/fdesc_vfsops.c @@ -213,7 +213,7 @@ static struct vfsops fdesc_vfsops = { fdesc_root, vfs_stdquotactl, fdesc_statfs, - vfs_stdsync, + vfs_stdnosync, vfs_stdvget, vfs_stdfhtovp, vfs_stdcheckexp, diff --git a/sys/fs/hpfs/hpfs_vfsops.c b/sys/fs/hpfs/hpfs_vfsops.c index 1242e84..225f340 100644 --- a/sys/fs/hpfs/hpfs_vfsops.c +++ b/sys/fs/hpfs/hpfs_vfsops.c @@ -577,7 +577,7 @@ static struct vfsops hpfs_vfsops = { hpfs_root, vfs_stdquotactl, hpfs_statfs, - vfs_stdsync, + vfs_stdnosync, hpfs_vget, hpfs_fhtovp, vfs_stdcheckexp, diff --git a/sys/fs/ntfs/ntfs_vfsops.c b/sys/fs/ntfs/ntfs_vfsops.c index 1e267a9..2506b28 100644 --- a/sys/fs/ntfs/ntfs_vfsops.c +++ b/sys/fs/ntfs/ntfs_vfsops.c @@ -781,7 +781,7 @@ static struct vfsops ntfs_vfsops = { ntfs_root, vfs_stdquotactl, ntfs_statfs, - vfs_stdsync, + vfs_stdnosync, ntfs_vget, ntfs_fhtovp, vfs_stdcheckexp, diff --git a/sys/fs/nwfs/nwfs_vfsops.c b/sys/fs/nwfs/nwfs_vfsops.c index f097b3e..868bcec 100644 --- a/sys/fs/nwfs/nwfs_vfsops.c +++ b/sys/fs/nwfs/nwfs_vfsops.c @@ -76,7 +76,6 @@ static int nwfs_quotactl(struct mount *, int, uid_t, caddr_t, struct thread *); static int nwfs_root(struct mount *, struct vnode **); static int nwfs_start(struct mount *, int, struct thread *); static int nwfs_statfs(struct mount *, struct statfs *, struct thread *); -static int nwfs_sync(struct mount *, int, struct ucred *, struct thread *); static int nwfs_unmount(struct mount *, int, struct thread *); static int nwfs_init(struct vfsconf *vfsp); static int nwfs_uninit(struct vfsconf *vfsp); @@ -88,7 +87,7 @@ static struct vfsops nwfs_vfsops = { nwfs_root, nwfs_quotactl, nwfs_statfs, - nwfs_sync, + vfs_stdsync, vfs_stdvget, vfs_stdfhtovp, /* shouldn't happen */ vfs_stdcheckexp, @@ -460,53 +459,3 @@ nwfs_statfs(mp, sbp, td) strncpy(sbp->f_fstypename, mp->mnt_vfc->vfc_name, MFSNAMELEN); return 0; } - -/* - * Flush out the buffer cache - */ -/* ARGSUSED */ -static int -nwfs_sync(mp, waitfor, cred, td) - struct mount *mp; - int waitfor; - struct ucred *cred; - struct thread *td; -{ - struct vnode *vp, *nvp; - int error, allerror = 0; - /* - * Force stale buffer cache information to be flushed. - */ - mtx_lock(&mntvnode_mtx); -loop: - for (vp = TAILQ_FIRST(&mp->mnt_nvnodelist); - vp != NULL; - vp = nvp) { - /* - * If the vnode that we are about to sync is no longer - * associated with this mount point, start over. - */ - if (vp->v_mount != mp) - goto loop; - nvp = TAILQ_NEXT(vp, v_nmntvnodes); - mtx_unlock(&mntvnode_mtx); - VI_LOCK(vp); - if (VOP_ISLOCKED(vp, NULL) || TAILQ_EMPTY(&vp->v_dirtyblkhd) || - waitfor == MNT_LAZY) { - VI_UNLOCK(vp); - mtx_lock(&mntvnode_mtx); - continue; - } - if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, td)) { - mtx_lock(&mntvnode_mtx); - goto loop; - } - error = VOP_FSYNC(vp, cred, waitfor, td); - if (error) - allerror = error; - vput(vp); - mtx_lock(&mntvnode_mtx); - } - mtx_unlock(&mntvnode_mtx); - return (allerror); -} diff --git a/sys/fs/portalfs/portal_vfsops.c b/sys/fs/portalfs/portal_vfsops.c index 66e516d..f731dc0 100644 --- a/sys/fs/portalfs/portal_vfsops.c +++ b/sys/fs/portalfs/portal_vfsops.c @@ -249,7 +249,7 @@ static struct vfsops portal_vfsops = { portal_root, vfs_stdquotactl, portal_statfs, - vfs_stdsync, + vfs_stdnosync, vfs_stdvget, vfs_stdfhtovp, vfs_stdcheckexp, diff --git a/sys/fs/pseudofs/pseudofs.h b/sys/fs/pseudofs/pseudofs.h index e09f25d..3c9b34a 100644 --- a/sys/fs/pseudofs/pseudofs.h +++ b/sys/fs/pseudofs/pseudofs.h @@ -256,7 +256,7 @@ static struct vfsops name##_vfsops = { \ pfs_root, \ vfs_stdquotactl, \ pfs_statfs, \ - vfs_stdsync, \ + vfs_stdnosync, \ vfs_stdvget, \ vfs_stdfhtovp, \ vfs_stdcheckexp, \ diff --git a/sys/fs/smbfs/smbfs_vfsops.c b/sys/fs/smbfs/smbfs_vfsops.c index b1d1c68..17ce21d 100644 --- a/sys/fs/smbfs/smbfs_vfsops.c +++ b/sys/fs/smbfs/smbfs_vfsops.c @@ -83,7 +83,6 @@ static int smbfs_quotactl(struct mount *, int, uid_t, caddr_t, struct thread *); static int smbfs_root(struct mount *, struct vnode **); static int smbfs_start(struct mount *, int, struct thread *); static int smbfs_statfs(struct mount *, struct statfs *, struct thread *); -static int smbfs_sync(struct mount *, int, struct ucred *, struct thread *); static int smbfs_unmount(struct mount *, int, struct thread *); static int smbfs_init(struct vfsconf *vfsp); static int smbfs_uninit(struct vfsconf *vfsp); @@ -95,7 +94,7 @@ static struct vfsops smbfs_vfsops = { smbfs_root, smbfs_quotactl, smbfs_statfs, - smbfs_sync, + vfs_stdsync, vfs_stdvget, vfs_stdfhtovp, /* shouldn't happen */ vfs_stdcheckexp, @@ -401,46 +400,3 @@ smbfs_statfs(struct mount *mp, struct statfs *sbp, struct thread *td) strncpy(sbp->f_fstypename, mp->mnt_vfc->vfc_name, MFSNAMELEN); return 0; } - -/* - * Flush out the buffer cache - */ -/* ARGSUSED */ -static int -smbfs_sync(mp, waitfor, cred, td) - struct mount *mp; - int waitfor; - struct ucred *cred; - struct thread *td; -{ - struct vnode *vp; - int error, allerror = 0; - /* - * Force stale buffer cache information to be flushed. - */ -loop: - for (vp = TAILQ_FIRST(&mp->mnt_nvnodelist); - vp != NULL; - vp = TAILQ_NEXT(vp, v_nmntvnodes)) { - /* - * If the vnode that we are about to sync is no longer - * associated with this mount point, start over. - */ - if (vp->v_mount != mp) - goto loop; - VI_LOCK(vp); - if (VOP_ISLOCKED(vp, NULL) || TAILQ_EMPTY(&vp->v_dirtyblkhd) || - waitfor == MNT_LAZY) { - VI_UNLOCK(vp); - continue; - } - if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, td)) - goto loop; - error = VOP_FSYNC(vp, cred, waitfor, td); - if (error) - allerror = error; - vput(vp); - } - return (allerror); -} - diff --git a/sys/fs/udf/udf_vfsops.c b/sys/fs/udf/udf_vfsops.c index b41b86b..fed899e 100644 --- a/sys/fs/udf/udf_vfsops.c +++ b/sys/fs/udf/udf_vfsops.c @@ -119,7 +119,7 @@ static struct vfsops udf_vfsops = { udf_root, vfs_stdquotactl, udf_statfs, - vfs_stdsync, + vfs_stdnosync, udf_vget, udf_fhtovp, vfs_stdcheckexp, diff --git a/sys/fs/umapfs/umap_vfsops.c b/sys/fs/umapfs/umap_vfsops.c index c1ed751..17bee46 100644 --- a/sys/fs/umapfs/umap_vfsops.c +++ b/sys/fs/umapfs/umap_vfsops.c @@ -443,7 +443,7 @@ static struct vfsops umap_vfsops = { umapfs_root, umapfs_quotactl, umapfs_statfs, - vfs_stdsync, + vfs_stdnosync, umapfs_vget, umapfs_fhtovp, umapfs_checkexp, diff --git a/sys/fs/unionfs/union_vfsops.c b/sys/fs/unionfs/union_vfsops.c index 637b350..0da935e 100644 --- a/sys/fs/unionfs/union_vfsops.c +++ b/sys/fs/unionfs/union_vfsops.c @@ -502,7 +502,7 @@ static struct vfsops union_vfsops = { union_root, vfs_stdquotactl, union_statfs, - vfs_stdsync, /* XXX assumes no cached data on union level */ + vfs_stdnosync, /* XXX assumes no cached data on union level */ vfs_stdvget, vfs_stdfhtovp, vfs_stdcheckexp, |