diff options
author | tjr <tjr@FreeBSD.org> | 2004-07-03 13:22:38 +0000 |
---|---|---|
committer | tjr <tjr@FreeBSD.org> | 2004-07-03 13:22:38 +0000 |
commit | ab16560f3305829961b71dbe71233abcd50f0aba (patch) | |
tree | 651a802dbc4eb055206f7c5ccba7348f998b53bd /sys/modules | |
parent | 158b00dfc0a2916d3a3e23aa2bd11bd84d6c0841 (diff) | |
download | FreeBSD-src-ab16560f3305829961b71dbe71233abcd50f0aba.zip FreeBSD-src-ab16560f3305829961b71dbe71233abcd50f0aba.tar.gz |
By popular request, add a workaround that allows large (>128GB or so)
FAT32 filesystems to be mounted, subject to some fairly serious limitations.
This works by extending the internal pseudo-inode-numbers generated from
the file's starting cluster number to 64-bits, then creating a table
mapping these into arbitrary 32-bit inode numbers, which can fit in
struct dirent's d_fileno and struct vattr's va_fileid fields. The mappings
do not persist across unmounts or reboots, so it's not possible to export
these filesystems through NFS. The mapping table may grow to be rather
large, and may grow large enough to exhaust kernel memory on filesystems
with millions of files.
Don't enable this option unless you understand the consequences.
Diffstat (limited to 'sys/modules')
-rw-r--r-- | sys/modules/msdosfs/Makefile | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/modules/msdosfs/Makefile b/sys/modules/msdosfs/Makefile index ef8989f..9ee8451 100644 --- a/sys/modules/msdosfs/Makefile +++ b/sys/modules/msdosfs/Makefile @@ -3,9 +3,12 @@ .PATH: ${.CURDIR}/../../fs/msdosfs KMOD= msdosfs -SRCS= vnode_if.h \ +SRCS= opt_msdosfs.h vnode_if.h \ msdosfs_conv.c msdosfs_denode.c msdosfs_fat.c msdosfs_lookup.c \ msdosfs_vfsops.c msdosfs_vnops.c EXPORT_SYMS= msdosfs_iconv +opt_msdosfs.h: + touch ${.TARGET} + .include <bsd.kmod.mk> |