From 04dca80dba70e820a49974d1cb00b356c315aaff Mon Sep 17 00:00:00 2001 From: phk Date: Wed, 16 Oct 2002 07:51:18 +0000 Subject: A better solution to avoiding variable sized structs in DEVFS. --- sys/fs/devfs/devfs_vfsops.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'sys/fs/devfs/devfs_vfsops.c') diff --git a/sys/fs/devfs/devfs_vfsops.c b/sys/fs/devfs/devfs_vfsops.c index 9b2e174..5f4d855 100644 --- a/sys/fs/devfs/devfs_vfsops.c +++ b/sys/fs/devfs/devfs_vfsops.c @@ -79,6 +79,9 @@ devfs_nmount(mp, ndp, td) MALLOC(fmp, struct devfs_mount *, sizeof(struct devfs_mount), M_DEVFS, M_WAITOK | M_ZERO); + MALLOC(fmp->dm_dirent, struct devfs_dirent **, + sizeof(struct devfs_dirent *) * NDEVFSINO, + M_DEVFS, M_WAITOK | M_ZERO); lockinit(&fmp->dm_lock, PVFS, "devfs", 0, LK_NOPAUSE); mp->mnt_flag |= MNT_LOCAL; @@ -133,6 +136,7 @@ devfs_unmount(mp, mntflags, td) devfs_purge(fmp->dm_rootdir); mp->mnt_data = 0; lockdestroy(&fmp->dm_lock); + free(fmp->dm_dirent, M_DEVFS); free(fmp, M_DEVFS); return 0; } -- cgit v1.1