Date: Mon, 30 Jul 2018 20:36:51 +0000 (UTC) From: Ed Maste <emaste@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r336935 - head/sys/fs/msdosfs Message-ID: <201807302036.w6UKapAF070772@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: emaste Date: Mon Jul 30 20:36:51 2018 New Revision: 336935 URL: https://svnweb.freebsd.org/changeset/base/336935 Log: 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 Modified: head/sys/fs/msdosfs/denode.h head/sys/fs/msdosfs/msdosfs_vnops.c Modified: head/sys/fs/msdosfs/denode.h ============================================================================== --- head/sys/fs/msdosfs/denode.h Mon Jul 30 20:35:50 2018 (r336934) +++ head/sys/fs/msdosfs/denode.h Mon Jul 30 20:36:51 2018 (r336935) @@ -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. Modified: head/sys/fs/msdosfs/msdosfs_vnops.c ============================================================================== --- head/sys/fs/msdosfs/msdosfs_vnops.c Mon Jul 30 20:35:50 2018 (r336934) +++ head/sys/fs/msdosfs/msdosfs_vnops.c Mon Jul 30 20:36:51 2018 (r336935) @@ -79,8 +79,6 @@ #include <fs/msdosfs/fat.h> #include <fs/msdosfs/msdosfsmount.h> -#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); /*
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201807302036.w6UKapAF070772>