summaryrefslogtreecommitdiff
path: root/ubi-utils/src
diff options
context:
space:
mode:
authorFrank Haverkamp <haver@vnet.ibm.com>2008-02-22 13:37:26 +0200
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2008-02-22 13:37:26 +0200
commit40c38155739054fb559fe9726e1e0de0cc3be5fb (patch)
tree7dc0826aa70ebf96d29e74d112d3662e8dd90d1e /ubi-utils/src
parentfb552c18cb72e2eb778e74f4bac2d61e059b4278 (diff)
ubi-utils: pddcustomize fixup update volume
Somehow calling ubi_update_start was forgotten and caused the tool not to write but silently ignore the write. Signed-off-by: Frank Haverkamp <haver@vnet.ibm.com>
Diffstat (limited to 'ubi-utils/src')
-rw-r--r--ubi-utils/src/bootenv.c2
-rw-r--r--ubi-utils/src/pddcustomize.c19
2 files changed, 14 insertions, 7 deletions
diff --git a/ubi-utils/src/bootenv.c b/ubi-utils/src/bootenv.c
index a6dd4de..fd02bd1 100644
--- a/ubi-utils/src/bootenv.c
+++ b/ubi-utils/src/bootenv.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) International Business Machines Corp., 2006
+ * Copyright (c) International Business Machines Corp., 2008
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/ubi-utils/src/pddcustomize.c b/ubi-utils/src/pddcustomize.c
index 515efd6..859346c 100644
--- a/ubi-utils/src/pddcustomize.c
+++ b/ubi-utils/src/pddcustomize.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) International Business Machines Corp., 2006
+ * Copyright (c) International Business Machines Corp., 2008
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -27,6 +27,7 @@
* 1.3 Removed argp because we want to use uClibc.
* 1.4 Minor cleanups
* 1.5 Migrated to new libubi
+ * 1.6 Fixed broken volume update
*/
#include <stdio.h>
@@ -46,7 +47,7 @@
#include "libubi.h"
#include "ubimirror.h"
-#define PROGRAM_VERSION "1.5"
+#define PROGRAM_VERSION "1.6"
#define DEFAULT_DEV_PATTERN "/dev/ubi%d"
#define DEFAULT_VOL_PATTERN "/dev/ubi%d_%d"
@@ -369,7 +370,7 @@ ubi_write_bootenv(uint32_t devno, uint32_t id, bootenv_t env)
int rc = 0;
char path[PATH_MAX];
FILE* fp_out = NULL;
- size_t nbytes ;
+ size_t nbytes;
rc = bootenv_size(env, &nbytes);
if (rc) {
@@ -387,6 +388,13 @@ ubi_write_bootenv(uint32_t devno, uint32_t id, bootenv_t env)
fp_out = fopen(path, "r+");
if (fp_out == NULL) {
err_msg("Cannot fopen volume:%d number:%d\n", devno, id);
+ rc = -EBADF;
+ goto err;
+ }
+
+ rc = ubi_update_start(ulib, fileno(fp_out), nbytes);
+ if (rc != 0) {
+ err_msg("Cannot start update for %s\n", path);
goto err;
}
@@ -396,7 +404,6 @@ ubi_write_bootenv(uint32_t devno, uint32_t id, bootenv_t env)
devno, id);
goto err;
}
-
err:
if( fp_out )
fclose(fp_out);
@@ -495,9 +502,9 @@ main(int argc, char **argv) {
rc = write_bootenv(args.file_in, env);
else
rc = ubi_write_bootenv(EXAMPLE_UBI_DEVICE, boot_volno, env);
- if (rc != 0) {
+ if (rc != 0)
goto err;
- }
+
if( args.both ) /* No side specified, update both */
rc = do_mirror(boot_volno);