aboutsummaryrefslogtreecommitdiff
path: root/sys/fs/msdosfs/denode.h
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2021-08-01 17:46:59 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2021-08-27 15:39:45 +0000
commit95d42526e92cb2a9842d71d3c585aabf32da7534 (patch)
tree98eb8ebca1f02fcab9fd8d78a55b30f17877e86d /sys/fs/msdosfs/denode.h
parentae7e8a02e6e93455e026036132c4d053b2c12ad9 (diff)
downloadsrc-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.h5
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_ */