[U-Boot] [PATCH v2] sandbox: block driver using host file/device as backing store
Henrik Nordström
henrik at henriknordstrom.net
Thu May 16 03:09:16 CEST 2013
ons 2013-05-15 klockan 15:20 -0700 skrev Simon Glass:
> Hi Henrik,
>
> On Wed, May 15, 2013 at 2:54 PM, Henrik Nordström
> <henrik at henriknordstrom.net> wrote:
> > Version 2 of this patch addressing the code comments by Simon and adding
> > some small missing pieces.
>
> Looks good.
>
> For change log, you should follow the standard approach - also instead
> of 'comments by Simon' it is good to list the things you changed. You
> might find patman useful for preparing and sending patches.
Just looked into it and looks nice. Giving it a try for next version.
Took a little while to get started, mostly because it crashes & burns
when not finding an matching alias for sandbox.
> blank line here, please fix globally (a blank line between
> declarations and code).
Ok.
> > +static int do_sandbox_info(cmd_tbl_t *cmdtp, int flag, int argc,
> > + char * const argv[])
> > +{
> > + if (argc < 1 || argc > 2)
> > + return CMD_RET_USAGE;
>
> Probably best to put this after the declarations
Ok. Also restrucured do_sandbox_bind a little to match this. There one
of the declarations depends on this being checked first.
> Move to top of function. Try to collect your declarations within a
> block when it's easy to do so.
Ok.
> > + printf("%3s %12s %s\n", "dev", "blocks", "path");
> > + for (dev = min_dev; dev <= max_dev; dev++) {
> > + printf("%3d ", dev);
> > + block_dev_desc_t *blk_dev = host_get_dev(dev);
> > + if (!blk_dev)
> > + continue;
>
> Does this case ever happen? If so you don't print \n.
Yes. And it then relies on the driver to print an error.
> > + struct host_block_dev *host_dev = blk_dev->priv;
>
> Maybe leave the assignment here but put the declaration at the start
> of the block.
Yes.
> > COBJS-$(CONFIG_IDE_SIL680) += sil680.o
> > COBJS-$(CONFIG_SCSI_SYM53C8XX) += sym53c8xx.o
> > COBJS-$(CONFIG_SYSTEMACE) += systemace.o
> > +COBJS-$(CONFIG_SANDBOX) += sandbox.o
>
> Alphabetic order so this should go up two.
up seven. sorted on filename here not CONFIG_..
> > +#include <sandboxblockdev.h>
>
> How about sandbox-blockdev.h
Yee.
> puts() when you don't have format args. Please fix globally.
Ok.
> > + if (host_dev->fd == -1) {
> > + printf("Failed to access host backing file '%s'\n",
> > + host_dev->filename);
> > + return 1;
>
> -ENOENT might be better (include errno.h)
or maybe just -errno?
and handle the error in do_sandbox_bind().
> > +int host_dev_bind(int dev, char *filename);
>
> Please add a comment as to what this function does, describing the
> meaning and valid values for each argument.
Ok.
> =>ext4load host 0:3
> Segmentation fault (core dumped)
Doesn't ext2load expect a address & filename to load?
Regads
Henrik
More information about the U-Boot
mailing list