diff --git a/sys/ufs/lfs/lfs_vnops.c b/sys/ufs/lfs/lfs_vnops.c index 650c97f99a3d..137c65397c21 100644 --- a/sys/ufs/lfs/lfs_vnops.c +++ b/sys/ufs/lfs/lfs_vnops.c @@ -1,4 +1,4 @@ -/* $NetBSD: lfs_vnops.c,v 1.323 2019/01/01 10:06:55 hannken Exp $ */ +/* $NetBSD: lfs_vnops.c,v 1.324 2019/06/20 00:49:11 christos Exp $ */ /*- * Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc. @@ -125,7 +125,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: lfs_vnops.c,v 1.323 2019/01/01 10:06:55 hannken Exp $"); +__KERNEL_RCSID(0, "$NetBSD: lfs_vnops.c,v 1.324 2019/06/20 00:49:11 christos Exp $"); #ifdef _KERNEL_OPT #include "opt_compat_netbsd.h" @@ -350,9 +350,7 @@ const struct vnodeopv_entry_desc lfs_fifoop_entries[] = { const struct vnodeopv_desc lfs_fifoop_opv_desc = { &lfs_fifoop_p, lfs_fifoop_entries }; -#define LFS_READWRITE #include -#undef LFS_READWRITE /* * Allocate a new inode. diff --git a/sys/ufs/lfs/ulfs_readwrite.c b/sys/ufs/lfs/ulfs_readwrite.c index cce070119fa8..12984c77a04f 100644 --- a/sys/ufs/lfs/ulfs_readwrite.c +++ b/sys/ufs/lfs/ulfs_readwrite.c @@ -1,4 +1,4 @@ -/* $NetBSD: ulfs_readwrite.c,v 1.24 2017/06/10 05:29:36 maya Exp $ */ +/* $NetBSD: ulfs_readwrite.c,v 1.25 2019/06/20 00:49:11 christos Exp $ */ /* from NetBSD: ufs_readwrite.c,v 1.120 2015/04/12 22:48:38 riastradh Exp */ /*- @@ -33,9 +33,8 @@ */ #include -__KERNEL_RCSID(1, "$NetBSD: ulfs_readwrite.c,v 1.24 2017/06/10 05:29:36 maya Exp $"); +__KERNEL_RCSID(1, "$NetBSD: ulfs_readwrite.c,v 1.25 2019/06/20 00:49:11 christos Exp $"); -#ifdef LFS_READWRITE #define FS struct lfs #define I_FS i_lfs #define READ lfs_read @@ -46,17 +45,6 @@ __KERNEL_RCSID(1, "$NetBSD: ulfs_readwrite.c,v 1.24 2017/06/10 05:29:36 maya Exp #define BUFWR lfs_bufwr #define fs_sb_getbsize(fs) lfs_sb_getbsize(fs) #define fs_bmask lfs_bmask -#else -#define FS struct fs -#define I_FS i_fs -#define READ ffs_read -#define READ_S "ffs_read" -#define WRITE ffs_write -#define WRITE_S "ffs_write" -#define BUFRD ffs_bufrd -#define BUFWR ffs_bufwr -#define fs_sb_getbsize(fs) (fs)->fs_bsize -#endif static int ulfs_post_read_update(struct vnode *, int, int); static int ulfs_post_write_update(struct vnode *, struct uio *, int, @@ -95,20 +83,14 @@ READ(void *v) /* XXX Eliminate me by refusing directory reads from userland. */ if (vp->v_type == VDIR) return BUFRD(vp, uio, ioflag, ap->a_cred); -#ifdef LFS_READWRITE /* XXX Eliminate me by using ufs_bufio in lfs. */ if (vp->v_type == VREG && ip->i_number == LFS_IFILE_INUM) return BUFRD(vp, uio, ioflag, ap->a_cred); -#endif if ((u_int64_t)uio->uio_offset > fs->um_maxfilesize) return (EFBIG); if (uio->uio_resid == 0) return (0); -#ifndef LFS_READWRITE - if ((ip->i_flags & (SF_SNAPSHOT | SF_SNAPINVAL)) == SF_SNAPSHOT) - return ffs_snapshot_read(vp, uio, ioflag); -#endif /* !LFS_READWRITE */ if (uio->uio_offset >= ip->i_size) goto out; @@ -167,9 +149,6 @@ BUFRD(struct vnode *vp, struct uio *uio, int ioflag, kauth_cred_t cred) if (uio->uio_resid == 0) return 0; -#ifndef LFS_READWRITE - KASSERT(!ISSET(ip->i_flags, (SF_SNAPSHOT | SF_SNAPINVAL))); -#endif if (uio->uio_offset >= ip->i_size) goto out; @@ -283,12 +262,10 @@ WRITE(void *v) if (uio->uio_offset < 0 || (u_int64_t)uio->uio_offset + uio->uio_resid > fs->um_maxfilesize) return (EFBIG); -#ifdef LFS_READWRITE /* Disallow writes to the Ifile, even if noschg flag is removed */ /* XXX can this go away when the Ifile is no longer in the namespace? */ if (vp == fs->lfs_ivnode) return (EPERM); -#endif if (uio->uio_resid == 0) return (0); @@ -301,11 +278,9 @@ WRITE(void *v) KASSERT(vp->v_type == VREG); -#ifdef LFS_READWRITE async = true; lfs_availwait(fs, lfs_btofsb(fs, uio->uio_resid)); lfs_check(vp, LFS_UNUSED_LBN, 0); -#endif /* !LFS_READWRITE */ preallocoff = round_page(lfs_blkroundup(fs, MAX(osize, uio->uio_offset))); aflag = ioflag & IO_SYNC ? B_SYNC : 0; @@ -420,18 +395,7 @@ WRITE(void *v) * XXXUBC simplistic async flushing. */ -#ifndef LFS_READWRITE - if (!async && oldoff >> 16 != uio->uio_offset >> 16) { - mutex_enter(vp->v_interlock); - error = VOP_PUTPAGES(vp, (oldoff >> 16) << 16, - (uio->uio_offset >> 16) << 16, - PGO_CLEANIT | PGO_LAZY); - if (error) - break; - } -#else __USE(async); -#endif } if (error == 0 && ioflag & IO_SYNC) { mutex_enter(vp->v_interlock); @@ -462,9 +426,7 @@ BUFWR(struct vnode *vp, struct uio *uio, int ioflag, kauth_cred_t cred) daddr_t lbn; int extended=0; int error; -#ifdef LFS_READWRITE bool need_unreserve = false; -#endif KASSERT(ISSET(ioflag, IO_NODELOCKED)); KASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE); @@ -481,9 +443,7 @@ BUFWR(struct vnode *vp, struct uio *uio, int ioflag, kauth_cred_t cred) uio->uio_resid > fs->um_maxfilesize || uio->uio_offset > (fs->um_maxfilesize - uio->uio_resid)) return EFBIG; -#ifdef LFS_READWRITE KASSERT(vp != fs->lfs_ivnode); -#endif if (uio->uio_resid == 0) return 0; @@ -494,10 +454,8 @@ BUFWR(struct vnode *vp, struct uio *uio, int ioflag, kauth_cred_t cred) KASSERT(vp->v_type != VREG); -#ifdef LFS_READWRITE lfs_availwait(fs, lfs_btofsb(fs, uio->uio_resid)); lfs_check(vp, LFS_UNUSED_LBN, 0); -#endif /* !LFS_READWRITE */ /* XXX Should never have pages cached here. */ KASSERT(vp->v_uobj.uo_npages == 0); @@ -510,13 +468,11 @@ BUFWR(struct vnode *vp, struct uio *uio, int ioflag, kauth_cred_t cred) else flags &= ~B_CLRBUF; -#ifdef LFS_READWRITE error = lfs_reserve(fs, vp, NULL, lfs_btofsb(fs, (ULFS_NIADDR + 1) << lfs_sb_getbshift(fs))); if (error) break; need_unreserve = true; -#endif error = lfs_balloc(vp, uio->uio_offset, xfersize, cred, flags, &bp); @@ -543,28 +499,17 @@ BUFWR(struct vnode *vp, struct uio *uio, int ioflag, kauth_cred_t cred) brelse(bp, BC_INVAL); break; } -#ifdef LFS_READWRITE (void)VOP_BWRITE(bp->b_vp, bp); lfs_reserve(fs, vp, NULL, -lfs_btofsb(fs, (ULFS_NIADDR + 1) << lfs_sb_getbshift(fs))); need_unreserve = false; -#else - if (ioflag & IO_SYNC) - (void)bwrite(bp); - else if (xfersize + blkoffset == fs->fs_bsize) - bawrite(bp); - else - bdwrite(bp); -#endif if (error || xfersize == 0) break; } -#ifdef LFS_READWRITE if (need_unreserve) { lfs_reserve(fs, vp, NULL, -lfs_btofsb(fs, (ULFS_NIADDR + 1) << lfs_sb_getbshift(fs))); } -#endif error = ulfs_post_write_update(vp, uio, ioflag, cred, osize, resid, extended, error);