[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