I think the code I'm removing here is completely bogus.

vfs_flags field is used for VFCF_* flags which are given at file system
driver creation time (via VFS_SET(9)) macro.

What this code did was bascially this:

If file system registers itself with VFCF_UNICODE flag (stores file names
as Unicode), it will gain MNT_SOFTDEP flag (UFS soft-updates).

If file system registers itself with VFCF_LOOPBACK flag (aliases some other
mounted FS), it will gain MNT_SUIDDIR flag (special handling of SUID on
dirs).

The latter will be quite dangerous, but those flags are reset later in
vfs_domount().

MFC after:	1 month
This commit is contained in:
Pawel Jakub Dawidek 2007-04-01 13:08:05 +00:00
parent 3b1b4d767f
commit 5c1c2e82e2
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=168207

View File

@ -482,9 +482,6 @@ vfs_mount_alloc(struct vnode *vp, struct vfsconf *vfsp,
mp->mnt_vfc = vfsp; mp->mnt_vfc = vfsp;
vfsp->vfc_refcount++; /* XXX Unlocked */ vfsp->vfc_refcount++; /* XXX Unlocked */
mp->mnt_stat.f_type = vfsp->vfc_typenum; mp->mnt_stat.f_type = vfsp->vfc_typenum;
MNT_ILOCK(mp);
mp->mnt_flag |= vfsp->vfc_flags & MNT_VISFLAGMASK;
MNT_IUNLOCK(mp);
mp->mnt_gen++; mp->mnt_gen++;
strlcpy(mp->mnt_stat.f_fstypename, vfsp->vfc_name, MFSNAMELEN); strlcpy(mp->mnt_stat.f_fstypename, vfsp->vfc_name, MFSNAMELEN);
mp->mnt_vnodecovered = vp; mp->mnt_vnodecovered = vp;