On Fri, 2009-11-20 at 14:57 +0100, Jan Damborsky wrote:
> Hi Alex,
...
>
> TI_ATTR_DC_RAMDISK_INODES_NUM is mandatory attribute and TI fails to create
> ramdisk if it is not specified.
>
> Since it is optional parameter for newfs(1M), I might recommend to make
> it optional for TI as well and let newfs(1M) work out the default nbpi
> if this attribute is not provided - e.g. something like
>
> 158 if (nvlist_lookup_uint32(attrs, TI_ATTR_DC_RAMDISK_INODES_NUM,
> 159 &ramdisk_nbpi) != 0) {
> 160 ls_write_dbg_message(TIDC, LS_DBGLVL_ERR,
> 161 "Number of bytes per inode not provided\n");
> 162 return (TI_E_INVALID_RAMDISK_ATTR);
> 163 }
> ->
> 158 if (nvlist_lookup_uint32(attrs, TI_ATTR_DC_RAMDISK_INODES_NUM,
> 159 &ramdisk_nbpi) != 0) {
> 160 ls_write_dbg_message(TIDC, LS_DBGLVL_INFO,
> 161 "Number of bytes per inode not provided, newfs(1M)"
> 162 " will use the default value\n");
> 163 ramdisk_nbpi = 0;
> 164 }
>
> ...
>
> 211 (void) snprintf(cmd, sizeof (cmd), "/usr/sbin/newfs -m 0 -o space
> "
> 212 "-i %d %s 0</dev/null", ramdisk_nbpi, pseudod);
> ->
> 211 if (ramdisk_nbpi != 0)
> 212 (void) snprintf(cmd, sizeof (cmd), "/usr/sbin/newfs -m 0 -o
> space "
> 213 "-i %d %s 0</dev/null", ramdisk_nbpi, pseudod);
> 214 else
> 215 (void) snprintf(cmd, sizeof (cmd), "/usr/sbin/newfs -m 0 -o
> space "
> 216 "%s 0</dev/null", pseudod);
>
>
Default for newfs is 2048, so I think here is better:
158 if (nvlist_lookup_uint32(attrs,
TI_ATTR_DC_RAMDISK_INODES_NUM,
> 159 &ramdisk_nbpi) != 0) {
> 160 ls_write_dbg_message(TIDC, LS_DBGLVL_INFO,
> 161 "Number of bytes per inode not provided, newfs(1M)"
> 162 " will use the default value\n");
> 163 ramdisk_nbpi = 2048;
> 164 }
..
211 (void) snprintf(cmd, sizeof (cmd), "/usr/sbin/newfs -m 0 -o
space "
> 212 "-i %d %s 0</dev/null", ramdisk_nbpi, pseudod);
--
::alhazred