bumping mount path lengths in struct statfs

Kostik Belousov kostikbel at gmail.com
Tue Jun 21 19:21:53 UTC 2011


On Tue, Jun 21, 2011 at 09:16:18AM -0600, Will Andrews wrote:
> Hi,
> 
> struct statfs contains the following:
> 
>  90         char      f_mntfromname[MNAMELEN];  /* mounted filesystem */
>  91         char      f_mntonname[MNAMELEN];    /* directory on which mounted */
> 
> Where MNAMELEN is, currently, 88.  These limit the length of the path
> that a filesystem can be mounted to.  This is enforced by
> kern/vfs_mount.c:vfs_donmount().  This limit seems archaic, especially
> given use cases like virtualization (large filesystem structures to
> support underlying VMs), builds (which often make extensive use of
> chroot with nullfs/NFS), ZFS, snapshots, etc.  Does anyone object to
> bumping MNAMELEN to 1024 (PATH_MAX/MAXPATHLEN)?  Or some other
> reasonably large value?

There is nothing inherently wrong with bumping the length. But the
work required is probably more then you estimated. The cause is the
ABI breakage. For sure, you will need to provide the shims for compat
syscalls. Unfortunately, this is not enough.

Even quick look over our tree shows that struct statfs is used in API by
several base libraries. Look e.g. at the getmntinfo(3). Libc would need
shims too, at least.

You will need to do the ABI analisys of the whole system, provide the
shims for the symbol-versioned libraries, and bump so version for
unversioned.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-fs/attachments/20110621/03adfe8f/attachment.pgp


More information about the freebsd-fs mailing list