diff options
author | dyson <dyson@FreeBSD.org> | 1997-09-21 04:24:27 +0000 |
---|---|---|
committer | dyson <dyson@FreeBSD.org> | 1997-09-21 04:24:27 +0000 |
commit | e64b1984f97c6d987d7d36b61a3afe5028a08312 (patch) | |
tree | 325bcf17de3aad0383fb86548872026a7c3d2599 /sys/msdosfs | |
parent | 1419fcb42b4e1e5a73f4574739f4c232fde357e2 (diff) | |
download | FreeBSD-src-e64b1984f97c6d987d7d36b61a3afe5028a08312.zip FreeBSD-src-e64b1984f97c6d987d7d36b61a3afe5028a08312.tar.gz |
Change the M_NAMEI allocations to use the zone allocator. This change
plus the previous changes to use the zone allocator decrease the useage
of malloc by half. The Zone allocator will be upgradeable to be able
to use per CPU-pools, and has more intelligent usage of SPLs. Additionally,
it has reasonable stats gathering capabilities, while making most calls
inline.
Diffstat (limited to 'sys/msdosfs')
-rw-r--r-- | sys/msdosfs/msdosfs_vnops.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/sys/msdosfs/msdosfs_vnops.c b/sys/msdosfs/msdosfs_vnops.c index f4ce26a..8d9bfc5 100644 --- a/sys/msdosfs/msdosfs_vnops.c +++ b/sys/msdosfs/msdosfs_vnops.c @@ -1,4 +1,4 @@ -/* $Id: msdosfs_vnops.c,v 1.43 1997/08/26 07:32:39 phk Exp $ */ +/* $Id: msdosfs_vnops.c,v 1.44 1997/09/14 02:57:44 peter Exp $ */ /* $NetBSD: msdosfs_vnops.c,v 1.20 1994/08/21 18:44:13 ws Exp $ */ /*- @@ -177,9 +177,9 @@ msdosfs_create(ap) if ((error = createde(&ndirent, pdep, &dep)) == 0) { *ap->a_vpp = DETOV(dep); if ((cnp->cn_flags & SAVESTART) == 0) - free(cnp->cn_pnbuf, M_NAMEI); + zfree(namei_zone, cnp->cn_pnbuf); } else { - free(cnp->cn_pnbuf, M_NAMEI); + zfree(namei_zone, cnp->cn_pnbuf); } vput(ap->a_dvp); /* release parent dir */ return error; @@ -207,7 +207,7 @@ msdosfs_mknod(ap) default: error = EINVAL; - free(ap->a_cnp->cn_pnbuf, M_NAMEI); + zfree(namei_zone, ap->a_cnp->cn_pnbuf); vput(ap->a_dvp); break; } @@ -1336,7 +1336,7 @@ msdosfs_mkdir(ap) * change size. */ if (pdep->de_StartCluster == MSDOSFSROOT && pdep->de_fndclust == (u_long)-1) { - free(ap->a_cnp->cn_pnbuf, M_NAMEI); + zfree(namei_zone, ap->a_cnp->cn_pnbuf); vput(ap->a_dvp); return ENOSPC; } @@ -1348,7 +1348,7 @@ msdosfs_mkdir(ap) */ error = clusteralloc(pmp, 0, 1, CLUST_EOFE, &newcluster, NULL); if (error) { - free(ap->a_cnp->cn_pnbuf, M_NAMEI); + zfree(namei_zone, ap->a_cnp->cn_pnbuf); vput(ap->a_dvp); return error; } @@ -1376,7 +1376,7 @@ msdosfs_mkdir(ap) error = bwrite(bp); if (error) { clusterfree(pmp, newcluster, NULL); - free(ap->a_cnp->cn_pnbuf, M_NAMEI); + zfree(namei_zone, ap->a_cnp->cn_pnbuf); vput(ap->a_dvp); return error; } @@ -1401,7 +1401,7 @@ msdosfs_mkdir(ap) } else { *ap->a_vpp = DETOV(ndep); } - free(ap->a_cnp->cn_pnbuf, M_NAMEI); + zfree(namei_zone, ap->a_cnp->cn_pnbuf); #ifdef MSDOSFS_DEBUG printf("msdosfs_mkdir(): vput(%08x)\n", ap->a_dvp); #endif @@ -1479,7 +1479,7 @@ msdosfs_symlink(ap) char *a_target; } */ *ap; { - free(ap->a_cnp->cn_pnbuf, M_NAMEI); + zfree(namei_zone, ap->a_cnp->cn_pnbuf); vput(ap->a_dvp); return EINVAL; } @@ -1794,7 +1794,7 @@ msdosfs_abortop(ap) } */ *ap; { if ((ap->a_cnp->cn_flags & (HASBUF | SAVESTART)) == HASBUF) - FREE(ap->a_cnp->cn_pnbuf, M_NAMEI); + zfree(namei_zone, ap->a_cnp->cn_pnbuf); return 0; } |