summaryrefslogtreecommitdiffstats
path: root/sys/fs/smbfs/smbfs_vfsops.c
diff options
context:
space:
mode:
authordavide <davide@FreeBSD.org>2012-10-31 03:55:33 +0000
committerdavide <davide@FreeBSD.org>2012-10-31 03:55:33 +0000
commitff8afcf2e90551635735f0eb4ddfb075b22455fa (patch)
treef919fea09d59ac41f1a4021ed77ed41229a643b8 /sys/fs/smbfs/smbfs_vfsops.c
parent793cdde76e978e65ad5e743e35dbe3a92b381e90 (diff)
downloadFreeBSD-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.c16
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;
OpenPOWER on IntegriCloud