| /freebsd/sys/fs/nfsclient/ |
| H A D | nfs_clvnops.c | 3997 struct vnode *invp = ap->a_invp; in nfs_copy_file_range() local 4022 if ((invp == outvp && (ap->a_flags & COPY_FILE_RANGE_CLONE) == 0) || in nfs_copy_file_range() 4023 (invp != outvp && invp->v_mount != outvp->v_mount)) { in nfs_copy_file_range() 4027 if (invp == outvp) { in nfs_copy_file_range() 4050 error = vn_lock(invp, invp_lock | LK_NOWAIT); in nfs_copy_file_range() 4057 error = vn_lock(invp, invp_lock); in nfs_copy_file_range() 4059 VOP_UNLOCK(invp); in nfs_copy_file_range() 4075 nmp = VFSTONFS(invp->v_mount); in nfs_copy_file_range() 4076 np = VTONFS(invp); in nfs_copy_file_range() 4084 VOP_UNLOCK(invp); in nfs_copy_file_range() [all …]
|
| H A D | nfs_clrpcops.c | 9127 nfsrpc_copy_file_range(vnode_t invp, off_t *inoffp, vnode_t outvp, in nfsrpc_copy_file_range() argument 9134 struct nfsmount *nmp = VFSTONFS(invp->v_mount); in nfsrpc_copy_file_range() 9141 innfhp = VTONFS(invp)->n_fhp; in nfsrpc_copy_file_range() 9147 nfscl_getstateid(invp, innfhp->nfh_fh, innfhp->nfh_len, in nfsrpc_copy_file_range() 9155 error = nfsrpc_copyrpc(invp, *inoffp, outvp, *outoffp, lenp, in nfsrpc_copy_file_range() 9198 nfsrpc_copyrpc(vnode_t invp, off_t inoff, vnode_t outvp, off_t outoff, in nfsrpc_copyrpc() argument 9213 nmp = VFSTONFS(invp->v_mount); in nfsrpc_copyrpc() 9220 nfscl_reqstart(nd, NFSPROC_COPY, nmp, VTONFS(invp)->n_fhp->nfh_fh, in nfsrpc_copyrpc() 9221 VTONFS(invp)->n_fhp->nfh_len, &opcntp, NULL, 0, 0, cred); in nfsrpc_copyrpc() 9237 nfscl_fillsattr(nd, &va, invp, 0, 0); in nfsrpc_copyrpc() [all …]
|
| /freebsd/sys/kern/ |
| H A D | vfs_vnops.c | 3294 vn_copy_file_range(struct vnode *invp, off_t *inoffp, struct vnode *outvp, in vn_copy_file_range() argument 3310 if (invp->v_type == VDIR || outvp->v_type == VDIR) in vn_copy_file_range() 3313 invp->v_type != VREG || outvp->v_type != VREG) in vn_copy_file_range() 3330 error = VOP_GETLOWVNODE(invp, &invpl, FREAD); in vn_copy_file_range() 3563 vn_generic_copy_file_range(struct vnode *invp, off_t *inoffp, in vn_generic_copy_file_range() argument 3591 error = vn_lock(invp, LK_SHARED); in vn_generic_copy_file_range() 3594 if (VOP_PATHCONF(invp, _PC_MIN_HOLE_SIZE, &holein) != 0) in vn_generic_copy_file_range() 3596 error = VOP_GETATTR(invp, &inva, incred); in vn_generic_copy_file_range() 3599 VOP_UNLOCK(invp); in vn_generic_copy_file_range() 3692 blksize = MAX(invp->v_mount->mnt_stat.f_iosize, in vn_generic_copy_file_range() [all …]
|
| H A D | vfs_syscalls.c | 5139 struct vnode *invp, *outvp; in kern_copy_file_range() local 5223 invp = infp->f_vnode; in kern_copy_file_range() 5249 if (invp == outvp) { in kern_copy_file_range() 5255 rangelock_may_recurse(&invp->v_rl); in kern_copy_file_range() 5261 rl_rcookie = vn_rangelock_tryrlock(invp, inoff, inoff + len); in kern_copy_file_range() 5265 rl_rcookie = vn_rangelock_rlock(invp, inoff, inoff + len); in kern_copy_file_range() 5266 vn_rangelock_unlock(invp, rl_rcookie); in kern_copy_file_range() 5270 error = vn_copy_file_range(invp, &inoff, outvp, &outoff, &retlen, in kern_copy_file_range() 5274 vn_rangelock_unlock(invp, rl_rcookie); in kern_copy_file_range()
|
| H A D | vnode_if.src | 791 %% copy_file_range invp U U U 796 IN struct vnode *invp;
|
| /freebsd/sys/fs/fuse/ |
| H A D | fuse_vnops.c | 968 struct vnode *invp = ap->a_invp; in fuse_vnop_copy_file_range() local 970 struct mount *mp = vnode_mount(invp); in fuse_vnop_copy_file_range() 1010 vn_lock_pair(invp, false, LK_SHARED, outvp, false, LK_EXCLUSIVE); in fuse_vnop_copy_file_range() 1011 if (invp->v_data == NULL || outvp->v_data == NULL) { in fuse_vnop_copy_file_range() 1016 err = fuse_filehandle_getrw(invp, FREAD, &infufh, incred, pid); in fuse_vnop_copy_file_range() 1036 vnode_pager_clean_sync(invp); in fuse_vnop_copy_file_range() 1043 fdisp_make_vp(&fdi, FUSE_COPY_FILE_RANGE, invp, td, incred); in fuse_vnop_copy_file_range() 1065 fuse_vnode_update(invp, FN_ATIMECHANGE); in fuse_vnop_copy_file_range() 1071 if (invp != outvp) in fuse_vnop_copy_file_range() 1072 VOP_UNLOCK(invp); in fuse_vnop_copy_file_range()
|
| /freebsd/sys/contrib/openzfs/module/os/freebsd/zfs/ |
| H A D | zfs_vnops_os.c | 6927 struct vnode *invp = ap->a_invp; in zfs_freebsd_copy_file_range() local 6953 if (invp == outvp) { in zfs_freebsd_copy_file_range() 6960 vn_lock_pair(invp, false, LK_SHARED, outvp, false, in zfs_freebsd_copy_file_range() 6963 vn_lock_pair(invp, false, outvp, false); in zfs_freebsd_copy_file_range() 6965 if (VN_IS_DOOMED(invp) || VN_IS_DOOMED(outvp)) { in zfs_freebsd_copy_file_range() 6977 error = zfs_clone_range(VTOZ(invp), ap->a_inoffp, VTOZ(outvp), in zfs_freebsd_copy_file_range() 6986 if (invp != outvp) in zfs_freebsd_copy_file_range() 6987 VOP_UNLOCK(invp); in zfs_freebsd_copy_file_range() 6994 if (invp != outvp) in zfs_freebsd_copy_file_range() 6995 VOP_UNLOCK(invp); in zfs_freebsd_copy_file_range()
|
| /freebsd/sys/sys/ |
| H A D | vnode.h | 776 int vn_copy_file_range(struct vnode *invp, off_t *inoffp, 785 int vn_generic_copy_file_range(struct vnode *invp, off_t *inoffp,
|