cvs commit: src/sys/conf NOTES files options src/sys/fs/msdosfs
msdosfs_fileno.c msdosfs_vfsops.c msdosfs_vnops.c msdosfsmount.h
src/sys/modules/msdosfs Makefile
Alfred Perlstein
alfred at freebsd.org
Sat Jul 3 16:01:27 PDT 2004
What are the implications of expanding the VFS API to take 64bit
inodes?
* Tim J. Robbins <tjr at FreeBSD.org> [040703 06:22] wrote:
> tjr 2004-07-03 13:22:39 UTC
>
> FreeBSD src repository
>
> Modified files:
> sys/conf NOTES files options
> sys/fs/msdosfs msdosfs_vfsops.c msdosfs_vnops.c
> msdosfsmount.h
> sys/modules/msdosfs Makefile
> Added files:
> sys/fs/msdosfs msdosfs_fileno.c
> Log:
> 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.
>
> Revision Changes Path
> 1.1241 +12 -0 src/sys/conf/NOTES
> 1.923 +1 -0 src/sys/conf/files
> 1.460 +3 -0 src/sys/conf/options
> 1.1 +163 -0 src/sys/fs/msdosfs/msdosfs_fileno.c (new)
> 1.121 +14 -0 src/sys/fs/msdosfs/msdosfs_vfsops.c
> 1.148 +33 -13 src/sys/fs/msdosfs/msdosfs_vnops.c
> 1.33 +23 -1 src/sys/fs/msdosfs/msdosfsmount.h
> 1.21 +4 -1 src/sys/modules/msdosfs/Makefile
--
- Alfred Perlstein
- Research Engineering Development Inc.
- email: bright at mu.org cell: 408-480-4684
More information about the freebsd-fs
mailing list