From 22e56aea3f45119e09d209a3f81c33a289afe8de Mon Sep 17 00:00:00 2001 From: Ed Maste Date: Mon, 30 Jul 2018 20:36:51 +0000 Subject: [PATCH] msdosfs: use same max filesize #define as NetBSD and move to header For use by makefs msdosfs support. Obtained from: NetBSD denode.h 1.6 Sponsored by: The FreeBSD Foundation --- sys/fs/msdosfs/denode.h | 2 ++ sys/fs/msdosfs/msdosfs_vnops.c | 6 ++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/fs/msdosfs/denode.h b/sys/fs/msdosfs/denode.h index 2f785466d7ca..2aaa1a374bd7 100644 --- a/sys/fs/msdosfs/denode.h +++ b/sys/fs/msdosfs/denode.h @@ -174,6 +174,8 @@ struct denode { #define DE_MODIFIED 0x0020 /* Denode has been modified */ #define DE_RENAME 0x0040 /* Denode is in the process of being renamed */ +/* Maximum size of a file on a FAT filesystem */ +#define MSDOSFS_FILESIZE_MAX 0xFFFFFFFFLL /* * Transfer directory entries between internal and external form. diff --git a/sys/fs/msdosfs/msdosfs_vnops.c b/sys/fs/msdosfs/msdosfs_vnops.c index 2641dde2d9e5..f2c8456b7805 100644 --- a/sys/fs/msdosfs/msdosfs_vnops.c +++ b/sys/fs/msdosfs/msdosfs_vnops.c @@ -79,8 +79,6 @@ #include #include -#define DOS_FILESIZE_MAX 0xffffffff - /* * Prototypes for MSDOSFS vnode operations */ @@ -548,7 +546,7 @@ msdosfs_read(struct vop_read_args *ap) * The caller is supposed to ensure that * uio->uio_offset >= 0 and uio->uio_resid >= 0. * We don't need to check for large offsets as in ffs because - * dep->de_FileSize <= DOS_FILESIZE_MAX < OFF_MAX, so large + * dep->de_FileSize <= MSDOSFS_FILESIZE_MAX < OFF_MAX, so large * offsets cannot cause overflow even in theory. */ @@ -663,7 +661,7 @@ msdosfs_write(struct vop_write_args *ap) * The caller is supposed to ensure that * uio->uio_offset >= 0 and uio->uio_resid >= 0. */ - if ((uoff_t)uio->uio_offset + uio->uio_resid > DOS_FILESIZE_MAX) + if ((uoff_t)uio->uio_offset + uio->uio_resid > MSDOSFS_FILESIZE_MAX) return (EFBIG); /*