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

Reply via email to