diff options
author | Konstantin Belousov <kib@FreeBSD.org> | 2021-08-01 17:46:59 +0000 |
---|---|---|
committer | Konstantin Belousov <kib@FreeBSD.org> | 2021-08-27 15:39:45 +0000 |
commit | 95d42526e92cb2a9842d71d3c585aabf32da7534 (patch) | |
tree | 98eb8ebca1f02fcab9fd8d78a55b30f17877e86d /sys/fs/msdosfs/denode.h | |
parent | ae7e8a02e6e93455e026036132c4d053b2c12ad9 (diff) | |
download | src-95d42526e92cb2a9842d71d3c585aabf32da7534.tar.gz src-95d42526e92cb2a9842d71d3c585aabf32da7534.zip |
msdosfs: fix rename
Use the same locking algorithm for msdosfs_rename() as used by ufs_rename().
Convert doscheckpath() to non-sleeping version.
Reported by: trasz
PR: 257522
In collaboration with: pho
Reviewed by: mckusick
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D31464
Diffstat (limited to 'sys/fs/msdosfs/denode.h')
-rw-r--r-- | sys/fs/msdosfs/denode.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/fs/msdosfs/denode.h b/sys/fs/msdosfs/denode.h index 80ebf250febf..67ffa522000a 100644 --- a/sys/fs/msdosfs/denode.h +++ b/sys/fs/msdosfs/denode.h @@ -268,7 +268,7 @@ int msdosfs_lookup(struct vop_cachedlookup_args *); int msdosfs_inactive(struct vop_inactive_args *); int msdosfs_reclaim(struct vop_reclaim_args *); int msdosfs_lookup_ino(struct vnode *vdp, struct vnode **vpp, - struct componentname *cnp, uint64_t *inum); + struct componentname *cnp, daddr_t *scnp, u_long *blkoffp); #endif /* @@ -288,6 +288,7 @@ int createde(struct denode *dep, struct denode *ddep, struct denode **depp, stru int deupdat(struct denode *dep, int waitfor); int removede(struct denode *pdep, struct denode *dep); int detrunc(struct denode *dep, u_long length, int flags, struct ucred *cred); -int doscheckpath( struct denode *source, struct denode *target); +int doscheckpath( struct denode *source, struct denode *target, + daddr_t *wait_scn); #endif /* _KERNEL || MAKEFS */ #endif /* !_FS_MSDOSFS_DENODE_H_ */ |