[PATCH v2 3/4] commands: ubi: Add ubiupdatevol command

Teresa Remmet t.remmet at phytec.de
Tue Jun 28 04:17:34 PDT 2016


Hello Sascha,

Am Dienstag, den 28.06.2016, 07:45 +0200 schrieb Sascha Hauer:
> On Mon, Jun 27, 2016 at 01:42:19PM +0200, Teresa Remmet wrote:
> > Add ubiupdatevol command. This is to update static
> > and dynamic volumes.
> > 
> > Signed-off-by: Teresa Remmet <t.remmet at phytec.de>
> > ---
> > Changes in v2:
> > 	- instead of using read_file, used a smaller
> > 		buffer and read/write in a loop
> > 
> >  commands/ubi.c | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 81 insertions(+)
> > 
> > diff --git a/commands/ubi.c b/commands/ubi.c
> > index dc2b4b5..b8b3f38 100644
> > --- a/commands/ubi.c
> > +++ b/commands/ubi.c
> > @@ -7,10 +7,91 @@
> >  #include <getopt.h>
> >  #include <linux/mtd/mtd.h>
> >  #include <linux/kernel.h>
> > +#include <linux/stat.h>
> >  #include <linux/mtd/mtd-abi.h>
> >  #include <mtd/ubi-user.h>
> >  #include <mtd/ubi-media.h>
> >  
> > +static int do_ubiupdatevol(int argc, char *argv[])
> > +{
> > +	int fd_img, fd_vol, ret = 0;
> > +	uint64_t size = 0;
> > +	struct stat st;
> > +	unsigned int count;
> > +	void *buf;
> > +
> > +	if (argc - optind < 2)
> > +		return COMMAND_ERROR_USAGE;
> > +
> > +	if (stat(argv[optind+1], &st)) {
> > +		perror("stat image");
> > +		return 1;
> > +	}
> > +
> > +	size = st.st_size;
> 
> While applying I added a test that tests for FILESIZE_MAX here and bails
> out with an error.

I could add a check for FILESIZE_MAX and give a special error message in
this case. But we need a correct file size for static volumes. So tftp
server which do not pass the file size, will fail here.

Teresa

> 
> Sascha
> 





More information about the barebox mailing list