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>
index | next in thread | raw e-mail
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
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200004270554.BAA34693>
