Erasing all rootfs_data blocks may cause some problems with partition identification. It won't contain MAGIC, but will be successfully mounted with delayed blocks marking. This may be really confusing when user reboots before JFFS2 finishes its blocks management. During the next boot rootfs_data will be a valid partition (possibly with data) but libblkid won't detect it. Also adjust message in jffs2_mark to make more sense when used together with jffs2_reset.
Signed-off-by: Rafał Miłecki <zaj...@gmail.com> --- jffs2reset.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/jffs2reset.c b/jffs2reset.c index d634386..20218de 100644 --- a/jffs2reset.c +++ b/jffs2reset.c @@ -27,6 +27,8 @@ #include "libfstools/libfstools.h" #include "libfstools/volume.h" +static int jffs2_mark(struct volume *v); + static int ask_user(int argc, char **argv) { @@ -50,8 +52,8 @@ static int jffs2_reset(struct volume *v) overlay_delete(mp, false); mount(mp, "/", NULL, MS_REMOUNT, 0); } else { - ULOG_INFO("%s is not mounted, erasing it\n", v->blk); - volume_erase_all(v); + ULOG_INFO("%s is not mounted\n", v->blk); + return jffs2_mark(v); } return 0; @@ -64,7 +66,7 @@ static int jffs2_mark(struct volume *v) int fd; fd = open(v->blk, O_WRONLY); - ULOG_INFO("%s - marking with deadc0de\n", v->blk); + ULOG_INFO("%s will be erased on next mount\n", v->blk); if (!fd) { ULOG_ERR("opening %s failed\n", v->blk); return -1; -- 1.8.4.5 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel