diff options
author | davide <davide@FreeBSD.org> | 2012-10-31 03:55:33 +0000 |
---|---|---|
committer | davide <davide@FreeBSD.org> | 2012-10-31 03:55:33 +0000 |
commit | ff8afcf2e90551635735f0eb4ddfb075b22455fa (patch) | |
tree | f919fea09d59ac41f1a4021ed77ed41229a643b8 /sys/fs/smbfs/smbfs_vfsops.c | |
parent | 793cdde76e978e65ad5e743e35dbe3a92b381e90 (diff) | |
download | FreeBSD-src-ff8afcf2e90551635735f0eb4ddfb075b22455fa.zip FreeBSD-src-ff8afcf2e90551635735f0eb4ddfb075b22455fa.tar.gz |
- Do not put in the mntqueue half-constructed vnodes.
- Change the code so that it relies on vfs_hash rather than on a
home-made hashtable.
- There's no need to inline fnv_32_buf().
Reviewed by: delphij
Tested by: pho
Sponsored by: iXsystems inc.
Diffstat (limited to 'sys/fs/smbfs/smbfs_vfsops.c')
-rw-r--r-- | sys/fs/smbfs/smbfs_vfsops.c | 16 |
1 files changed, 0 insertions, 16 deletions
diff --git a/sys/fs/smbfs/smbfs_vfsops.c b/sys/fs/smbfs/smbfs_vfsops.c index c3d5a88..11dba2a 100644 --- a/sys/fs/smbfs/smbfs_vfsops.c +++ b/sys/fs/smbfs/smbfs_vfsops.c @@ -58,8 +58,6 @@ SYSCTL_NODE(_vfs, OID_AUTO, smbfs, CTLFLAG_RW, 0, "SMB/CIFS filesystem"); SYSCTL_INT(_vfs_smbfs, OID_AUTO, version, CTLFLAG_RD, &smbfs_version, 0, ""); SYSCTL_INT(_vfs_smbfs, OID_AUTO, debuglevel, CTLFLAG_RW, &smbfs_debuglevel, 0, ""); -static MALLOC_DEFINE(M_SMBFSHASH, "smbfs_hash", "SMBFS hash table"); - static vfs_init_t smbfs_init; static vfs_uninit_t smbfs_uninit; static vfs_cmount_t smbfs_cmount; @@ -170,10 +168,6 @@ smbfs_mount(struct mount *mp) smp = malloc(sizeof(*smp), M_SMBFSDATA, M_WAITOK | M_ZERO); mp->mnt_data = smp; - smp->sm_hash = hashinit(desiredvnodes, M_SMBFSHASH, &smp->sm_hashlen); - if (smp->sm_hash == NULL) - goto bad; - sx_init(&smp->sm_hashlock, "smbfsh"); smp->sm_share = ssp; smp->sm_root = NULL; if (1 != vfs_scanopt(mp->mnt_optnew, @@ -243,12 +237,6 @@ smbfs_mount(struct mount *mp) smbfs_free_scred(scred); return error; bad: - if (smp) { - if (smp->sm_hash) - free(smp->sm_hash, M_SMBFSHASH); - sx_destroy(&smp->sm_hashlock); - free(smp, M_SMBFSDATA); - } if (ssp) smb_share_put(ssp, scred); smbfs_free_scred(scred); @@ -291,10 +279,6 @@ smbfs_unmount(struct mount *mp, int mntflags) goto out; smb_share_put(smp->sm_share, scred); mp->mnt_data = NULL; - - if (smp->sm_hash) - free(smp->sm_hash, M_SMBFSHASH); - sx_destroy(&smp->sm_hashlock); free(smp, M_SMBFSDATA); MNT_ILOCK(mp); mp->mnt_flag &= ~MNT_LOCAL; |