- free(namelist);
-
- DEBUG(1, "rmdir %s\n", dir);
- rmdir(dir);
-
- return 0;
-}
-
-static int main_jffs2reset(int argc, char **argv)
-{
- char mtd[32];
- char *mp;
-
- if (ask_user(argc, argv))
- return -1;
-
- if (check_fs_exists("overlay")) {
- ERROR("overlayfs not found\n");
- return -1;
- }
-
- if (find_mtd_block("rootfs_data", mtd, sizeof(mtd))) {
- ERROR("no rootfs_data was found\n");
- return -1;
- }
-
- mp = find_mount_point(mtd, "jffs2");
- if (mp) {
- LOG("%s is mounted as %s, only ereasing files\n", mtd, mp);
- foreachdir(mp, handle_rmdir);
- mount(mp, "/", NULL, MS_REMOUNT, 0);
- } else {
- LOG("%s is not mounted, erasing it\n", mtd);
- find_mtd_char("rootfs_data", mtd, sizeof(mtd));
- mtd_erase(mtd);
- }
-
- return 0;
-}
-
-static int main_jffs2mark(int argc, char **argv)
-{
- FILE *fp;
- __u32 deadc0de = __cpu_to_be32(0xdeadc0de);
- char mtd[32];
- size_t sz;
-
- if (ask_user(argc, argv))
- return -1;
-
- if (find_mtd_block("rootfs_data", mtd, sizeof(mtd))) {
- ERROR("no rootfs_data was found\n");
- return -1;
- }
-
- fp = fopen(mtd, "w");
- LOG("%s - marking with deadc0de\n", mtd);
- if (!fp) {
- ERROR("opening %s failed\n", mtd);
- return -1;
- }
-
- sz = fwrite(&deadc0de, sizeof(deadc0de), 1, fp);
- fclose(fp);
-
- if (sz != 1) {
- ERROR("writing %s failed: %s\n", mtd, strerror(errno));
- return -1;
- }
-
- return 0;