diff options
author | Craig Rodrigues <rodrigc@FreeBSD.org> | 2006-12-09 01:49:19 +0000 |
---|---|---|
committer | Craig Rodrigues <rodrigc@FreeBSD.org> | 2006-12-09 01:49:19 +0000 |
commit | e9022ef898a64e68b9f2ef8314f34310ccf1fc80 (patch) | |
tree | a95928b35eb0f91c4f663288223ef0a0720ded49 /sys | |
parent | 6890d7af94ea0583926e295cd8a370144886d4f4 (diff) | |
download | src-e9022ef898a64e68b9f2ef8314f34310ccf1fc80.tar.gz src-e9022ef898a64e68b9f2ef8314f34310ccf1fc80.zip |
Minor cleanup. If we are doing a mount update, and we pass in
an "export" flag indicating that we are trying to NFS export the
filesystem, and the MSDOSFS_LARGEFS flag is set on the filesystem,
then deny the mount update and export request. Otherwise,
let the full mount update proceed normally.
MSDOSFS_LARGES and NFS don't mix because of the way inodes are calculated
for MSDOSFS_LARGEFS.
MFC after: 3 days
Notes
Notes:
svn path=/head/; revision=165022
Diffstat (limited to 'sys')
-rw-r--r-- | sys/fs/msdosfs/msdosfs_vfsops.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/sys/fs/msdosfs/msdosfs_vfsops.c b/sys/fs/msdosfs/msdosfs_vfsops.c index b6d81f400f60..eb872bcb7216 100644 --- a/sys/fs/msdosfs/msdosfs_vfsops.c +++ b/sys/fs/msdosfs/msdosfs_vfsops.c @@ -262,11 +262,15 @@ msdosfs_mount(struct mount *mp, struct thread *td) pmp = VFSTOMSDOSFS(mp); if (vfs_flagopt(mp->mnt_optnew, "export", NULL, 0)) { - /* Process export requests. */ - if ((pmp->pm_flags & MSDOSFS_LARGEFS) != 0) + /* + * Forbid export requests if filesystem has + * MSDOSFS_LARGEFS flag set. + */ + if ((pmp->pm_flags & MSDOSFS_LARGEFS) != 0) { + vfs_mount_error(mp, + "MSDOSFS_LARGEFS flag set, cannot export"); return (EOPNOTSUPP); - else - return (0); + } } if (!(pmp->pm_flags & MSDOSFSMNT_RONLY) && vfs_flagopt(mp->mnt_optnew, "ro", NULL, 0)) { |