Date: Thu, 27 Apr 2000 01:54:36 -0400 (EDT) From: "John W. DeBoskey" <jwd@unx.sas.com> To: freebsd-current@freebsd.org Subject: Support for large mfs Message-ID: <200004270554.BAA34693@bb01f39.unx.sas.com>
next in thread | raw e-mail | index | archive | help
Hi, Today, we tried to create a 5Gig mfs. It turns out this is not such a good idea. It turns out that support is basically limited to an int. Extracts from some of the appropriate files show some of the problems... newfs.c: int fssize; /* file system size */ case 's': if ((fssize = atoi(optarg)) <= 0) ufs/ufs/ufsmount.h /* * Arguments to mount MFS */ struct mfs_args { char *fspec; /* name to export for statfs */ struct export_args export; /* if exported MFSes are supported */ caddr_t base; /* base of file system in memory */ u_long size; /* size of file system */ }; ufs/mfs/mfsnode.h struct mfsnode { struct vnode *mfs_vnode; /* vnode associated with this mfsnode */ caddr_t mfs_baseoff; /* base of file system in memory */ long mfs_size; /* size of memory file system */ pid_t mfs_pid; /* supporting process pid */ struct buf_queue_head buf_queue; /* list of I/O requests */ int mfs_active; long mfs_spare[1]; }; As can be seen above, the only constant we have is that the size is atleast a 4 byte entity. Before we start changing the size from an int/long/u_long to a quad_t, is there a better way to do this? How does md fit into the picture? Thanks! John ps: On a side note, what is the correct way to create a quad_t constant in the config file? The following works, but seems dirty: options MAXDSIZ="((__int64_t)5*1024*1024*1024)" To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200004270554.BAA34693>