From owner-svn-src-all@freebsd.org Wed Aug 19 02:51:21 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 93C743AFB81; Wed, 19 Aug 2020 02:51:21 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BWXNT3S0Fz4469; Wed, 19 Aug 2020 02:51:21 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5A71C1BEBD; Wed, 19 Aug 2020 02:51:21 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07J2pLYe064543; Wed, 19 Aug 2020 02:51:21 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07J2pI0b063679; Wed, 19 Aug 2020 02:51:18 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008190251.07J2pI0b063679@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Wed, 19 Aug 2020 02:51:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364372 - in head/sys: cam/ctl compat/linux dev/xen/blkback fs/cd9660 fs/ext2fs fs/msdosfs fs/udf kern sys ufs/ffs vm X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: in head/sys: cam/ctl compat/linux dev/xen/blkback fs/cd9660 fs/ext2fs fs/msdosfs fs/udf kern sys ufs/ffs vm X-SVN-Commit-Revision: 364372 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 02:51:21 -0000 Author: mjg Date: Wed Aug 19 02:51:17 2020 New Revision: 364372 URL: https://svnweb.freebsd.org/changeset/base/364372 Log: vfs: drop the error parameter from vn_isdisk, introduce vn_isdisk_error Most consumers pass NULL. Modified: head/sys/cam/ctl/ctl_backend_block.c head/sys/compat/linux/linux_stats.c head/sys/dev/xen/blkback/blkback.c head/sys/fs/cd9660/cd9660_vfsops.c head/sys/fs/ext2fs/ext2_vfsops.c head/sys/fs/msdosfs/msdosfs_vfsops.c head/sys/fs/udf/udf_vfsops.c head/sys/kern/vfs_aio.c head/sys/kern/vfs_bio.c head/sys/kern/vfs_subr.c head/sys/sys/vnode.h head/sys/ufs/ffs/ffs_softdep.c head/sys/ufs/ffs/ffs_vfsops.c head/sys/vm/swap_pager.c head/sys/vm/vnode_pager.c Modified: head/sys/cam/ctl/ctl_backend_block.c ============================================================================== --- head/sys/cam/ctl/ctl_backend_block.c Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/cam/ctl/ctl_backend_block.c Wed Aug 19 02:51:17 2020 (r364372) @@ -2184,7 +2184,7 @@ again: be_lun->vn = nd.ni_vp; /* We only support disks and files. */ - if (vn_isdisk(be_lun->vn, &error)) { + if (vn_isdisk_error(be_lun->vn, &error)) { error = ctl_be_block_open_dev(be_lun, req); } else if (be_lun->vn->v_type == VREG) { error = ctl_be_block_open_file(be_lun, req); @@ -2547,7 +2547,7 @@ ctl_be_block_modify(struct ctl_be_block_softc *softc, control_softc->ha_mode == CTL_HA_MODE_SER_ONLY) { if (be_lun->vn == NULL) error = ctl_be_block_open(be_lun, req); - else if (vn_isdisk(be_lun->vn, &error)) + else if (vn_isdisk_error(be_lun->vn, &error)) error = ctl_be_block_open_dev(be_lun, req); else if (be_lun->vn->v_type == VREG) { vn_lock(be_lun->vn, LK_SHARED | LK_RETRY); Modified: head/sys/compat/linux/linux_stats.c ============================================================================== --- head/sys/compat/linux/linux_stats.c Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/compat/linux/linux_stats.c Wed Aug 19 02:51:17 2020 (r364372) @@ -65,7 +65,7 @@ translate_vnhook_major_minor(struct vnode *vp, struct { int major, minor; - if (vn_isdisk(vp, NULL)) { + if (vn_isdisk(vp)) { sb->st_mode &= ~S_IFMT; sb->st_mode |= S_IFBLK; } @@ -131,7 +131,7 @@ translate_fd_major_minor(struct thread *td, int fd, st fget(td, fd, &cap_no_rights, &fp) != 0) return; vp = fp->f_vnode; - if (vp != NULL && vn_isdisk(vp, NULL)) { + if (vp != NULL && vn_isdisk(vp)) { buf->st_mode &= ~S_IFMT; buf->st_mode |= S_IFBLK; } Modified: head/sys/dev/xen/blkback/blkback.c ============================================================================== --- head/sys/dev/xen/blkback/blkback.c Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/dev/xen/blkback/blkback.c Wed Aug 19 02:51:17 2020 (r364372) @@ -2735,7 +2735,7 @@ xbb_open_backend(struct xbb_softc *xbb) xbb->vn = nd.ni_vp; /* We only support disks and files. */ - if (vn_isdisk(xbb->vn, &error)) { + if (vn_isdisk_error(xbb->vn, &error)) { error = xbb_open_dev(xbb); } else if (xbb->vn->v_type == VREG) { error = xbb_open_file(xbb); Modified: head/sys/fs/cd9660/cd9660_vfsops.c ============================================================================== --- head/sys/fs/cd9660/cd9660_vfsops.c Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/fs/cd9660/cd9660_vfsops.c Wed Aug 19 02:51:17 2020 (r364372) @@ -165,7 +165,7 @@ cd9660_mount(struct mount *mp) NDFREE(&ndp, NDF_ONLY_PNBUF); devvp = ndp.ni_vp; - if (!vn_isdisk(devvp, &error)) { + if (!vn_isdisk_error(devvp, &error)) { vput(devvp); return (error); } Modified: head/sys/fs/ext2fs/ext2_vfsops.c ============================================================================== --- head/sys/fs/ext2fs/ext2_vfsops.c Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/fs/ext2fs/ext2_vfsops.c Wed Aug 19 02:51:17 2020 (r364372) @@ -247,7 +247,7 @@ ext2_mount(struct mount *mp) NDFREE(ndp, NDF_ONLY_PNBUF); devvp = ndp->ni_vp; - if (!vn_isdisk(devvp, &error)) { + if (!vn_isdisk_error(devvp, &error)) { vput(devvp); return (error); } Modified: head/sys/fs/msdosfs/msdosfs_vfsops.c ============================================================================== --- head/sys/fs/msdosfs/msdosfs_vfsops.c Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/fs/msdosfs/msdosfs_vfsops.c Wed Aug 19 02:51:17 2020 (r364372) @@ -343,7 +343,7 @@ msdosfs_mount(struct mount *mp) devvp = ndp.ni_vp; NDFREE(&ndp, NDF_ONLY_PNBUF); - if (!vn_isdisk(devvp, &error)) { + if (!vn_isdisk_error(devvp, &error)) { vput(devvp); return (error); } Modified: head/sys/fs/udf/udf_vfsops.c ============================================================================== --- head/sys/fs/udf/udf_vfsops.c Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/fs/udf/udf_vfsops.c Wed Aug 19 02:51:17 2020 (r364372) @@ -233,7 +233,7 @@ udf_mount(struct mount *mp) NDFREE(ndp, NDF_ONLY_PNBUF); devvp = ndp->ni_vp; - if (vn_isdisk(devvp, &error) == 0) { + if (!vn_isdisk_error(devvp, &error)) { vput(devvp); return (error); } Modified: head/sys/kern/vfs_aio.c ============================================================================== --- head/sys/kern/vfs_aio.c Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/kern/vfs_aio.c Wed Aug 19 02:51:17 2020 (r364372) @@ -1972,7 +1972,7 @@ sys_aio_cancel(struct thread *td, struct aio_cancel_ar if (fp->f_type == DTYPE_VNODE) { vp = fp->f_vnode; - if (vn_isdisk(vp, &error)) { + if (vn_isdisk(vp)) { fdrop(fp, td); td->td_retval[0] = AIO_NOTCANCELED; return (0); Modified: head/sys/kern/vfs_bio.c ============================================================================== --- head/sys/kern/vfs_bio.c Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/kern/vfs_bio.c Wed Aug 19 02:51:17 2020 (r364372) @@ -2724,7 +2724,7 @@ brelse(struct buf *bp) if ((bp->b_flags & B_VMIO) && (bp->b_flags & B_NOCACHE || (bp->b_ioflags & BIO_ERROR && bp->b_iocmd == BIO_READ)) && (v_mnt == NULL || (v_mnt->mnt_vfc->vfc_flags & VFCF_NETWORK) == 0 || - vn_isdisk(bp->b_vp, NULL) || (bp->b_flags & B_DELWRI) == 0)) { + vn_isdisk(bp->b_vp) || (bp->b_flags & B_DELWRI) == 0)) { vfs_vmio_invalidate(bp); allocbuf(bp, 0); } @@ -3757,7 +3757,7 @@ bp_unmapped_get_kva(struct buf *bp, daddr_t blkno, int * Calculate the amount of the address space we would reserve * if the buffer was mapped. */ - bsize = vn_isdisk(bp->b_vp, NULL) ? DEV_BSIZE : bp->b_bufobj->bo_bsize; + bsize = vn_isdisk(bp->b_vp) ? DEV_BSIZE : bp->b_bufobj->bo_bsize; KASSERT(bsize != 0, ("bsize == 0, check bo->bo_bsize")); offset = blkno * bsize; maxsize = size + (offset & PAGE_MASK); @@ -4013,7 +4013,7 @@ newbuf_unlocked: if (flags & GB_NOCREAT) return (EEXIST); - bsize = vn_isdisk(vp, NULL) ? DEV_BSIZE : bo->bo_bsize; + bsize = vn_isdisk(vp) ? DEV_BSIZE : bo->bo_bsize; KASSERT(bsize != 0, ("bsize == 0, check bo->bo_bsize")); offset = blkno * bsize; vmio = vp->v_object != NULL; @@ -4026,7 +4026,7 @@ newbuf_unlocked: } maxsize = imax(maxsize, bsize); if ((flags & GB_NOSPARSE) != 0 && vmio && - !vn_isdisk(vp, NULL)) { + !vn_isdisk(vp)) { error = VOP_BMAP(vp, blkno, NULL, &d_blkno, 0, 0); KASSERT(error != EOPNOTSUPP, ("GB_NOSPARSE from fs not supporting bmap, vp %p", Modified: head/sys/kern/vfs_subr.c ============================================================================== --- head/sys/kern/vfs_subr.c Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/kern/vfs_subr.c Wed Aug 19 02:51:17 2020 (r364372) @@ -4977,8 +4977,8 @@ vn_need_pageq_flush(struct vnode *vp) /* * Check if vnode represents a disk device */ -int -vn_isdisk(struct vnode *vp, int *errp) +bool +vn_isdisk_error(struct vnode *vp, int *errp) { int error; @@ -4996,9 +4996,16 @@ vn_isdisk(struct vnode *vp, int *errp) error = ENOTBLK; dev_unlock(); out: - if (errp != NULL) - *errp = error; + *errp = error; return (error == 0); +} + +bool +vn_isdisk(struct vnode *vp) +{ + int error; + + return (vn_isdisk_error(vp, &error)); } /* Modified: head/sys/sys/vnode.h ============================================================================== --- head/sys/sys/vnode.h Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/sys/vnode.h Wed Aug 19 02:51:17 2020 (r364372) @@ -718,7 +718,8 @@ int vn_generic_copy_file_range(struct vnode *invp, off unsigned int flags, struct ucred *incred, struct ucred *outcred, struct thread *fsize_td); int vn_need_pageq_flush(struct vnode *vp); -int vn_isdisk(struct vnode *vp, int *errp); +bool vn_isdisk_error(struct vnode *vp, int *errp); +bool vn_isdisk(struct vnode *vp); int _vn_lock(struct vnode *vp, int flags, const char *file, int line); #define vn_lock(vp, flags) _vn_lock(vp, flags, __FILE__, __LINE__) int vn_open(struct nameidata *ndp, int *flagp, int cmode, struct file *fp); Modified: head/sys/ufs/ffs/ffs_softdep.c ============================================================================== --- head/sys/ufs/ffs/ffs_softdep.c Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/ufs/ffs/ffs_softdep.c Wed Aug 19 02:51:17 2020 (r364372) @@ -12723,7 +12723,7 @@ softdep_fsync_mountdev(vp) struct worklist *wk; struct bufobj *bo; - if (!vn_isdisk(vp, NULL)) + if (!vn_isdisk(vp)) panic("softdep_fsync_mountdev: vnode not a disk"); bo = &vp->v_bufobj; restart: Modified: head/sys/ufs/ffs/ffs_vfsops.c ============================================================================== --- head/sys/ufs/ffs/ffs_vfsops.c Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/ufs/ffs/ffs_vfsops.c Wed Aug 19 02:51:17 2020 (r364372) @@ -728,7 +728,7 @@ ffs_mount(struct mount *mp) return (error); NDFREE(&ndp, NDF_ONLY_PNBUF); devvp = ndp.ni_vp; - if (!vn_isdisk(devvp, &error)) { + if (!vn_isdisk_error(devvp, &error)) { vput(devvp); return (error); } Modified: head/sys/vm/swap_pager.c ============================================================================== --- head/sys/vm/swap_pager.c Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/vm/swap_pager.c Wed Aug 19 02:51:17 2020 (r364372) @@ -919,7 +919,7 @@ sysctl_swap_fragmentation(SYSCTL_HANDLER_ARGS) sbuf_new_for_sysctl(&sbuf, NULL, 128, req); mtx_lock(&sw_dev_mtx); TAILQ_FOREACH(sp, &swtailq, sw_list) { - if (vn_isdisk(sp->sw_vp, NULL)) + if (vn_isdisk(sp->sw_vp)) devname = devtoname(sp->sw_vp->v_rdev); else devname = "[file]"; @@ -2325,7 +2325,7 @@ sys_swapon(struct thread *td, struct swapon_args *uap) NDFREE(&nd, NDF_ONLY_PNBUF); vp = nd.ni_vp; - if (vn_isdisk(vp, &error)) { + if (vn_isdisk_error(vp, &error)) { error = swapongeom(vp); } else if (vp->v_type == VREG && (vp->v_mount->mnt_vfc->vfc_flags & VFCF_NETWORK) != 0 && @@ -2548,7 +2548,7 @@ swapoff_all(void) mtx_lock(&sw_dev_mtx); TAILQ_FOREACH_SAFE(sp, &swtailq, sw_list, spt) { mtx_unlock(&sw_dev_mtx); - if (vn_isdisk(sp->sw_vp, NULL)) + if (vn_isdisk(sp->sw_vp)) devname = devtoname(sp->sw_vp->v_rdev); else devname = "[file]"; @@ -2596,7 +2596,7 @@ swap_dev_info(int name, struct xswdev *xs, char *devna xs->xsw_nblks = sp->sw_nblks; xs->xsw_used = sp->sw_used; if (devname != NULL) { - if (vn_isdisk(sp->sw_vp, NULL)) + if (vn_isdisk(sp->sw_vp)) tmp_devname = devtoname(sp->sw_vp->v_rdev); else tmp_devname = "[file]"; Modified: head/sys/vm/vnode_pager.c ============================================================================== --- head/sys/vm/vnode_pager.c Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/vm/vnode_pager.c Wed Aug 19 02:51:17 2020 (r364372) @@ -152,7 +152,7 @@ vnode_create_vobject(struct vnode *vp, off_t isize, st struct vattr va; bool last; - if (!vn_isdisk(vp, NULL) && vn_canvmio(vp) == FALSE) + if (!vn_isdisk(vp) && vn_canvmio(vp) == FALSE) return (0); object = vp->v_object; @@ -160,7 +160,7 @@ vnode_create_vobject(struct vnode *vp, off_t isize, st return (0); if (size == 0) { - if (vn_isdisk(vp, NULL)) { + if (vn_isdisk(vp)) { size = IDX_TO_OFF(INT_MAX); } else { if (VOP_GETATTR(vp, &va, td->td_ucred))