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...


int     fssize;                 /* file system size */   

                case 's':
                        if ((fssize = atoi(optarg)) <= 0)


 * 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 */


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


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 [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to