{
struct erofs_sb_info *sbi = root->sbi;
struct erofs_inode *dumpdir = erofs_igrab(root);
- int err;
+ int err, err2;
erofs_mark_parent_inode(root, root); /* rootdir mark */
root->next_dirwrite = NULL;
}
do {
- int err;
struct erofs_inode *dir = dumpdir;
/* used for adding sub-directories in reverse order due to FIFO */
struct erofs_inode *head, **last = &head;
}
*last = dumpdir; /* fixup the last (or the only) one */
dumpdir = head;
- err = erofs_mkfs_go(sbi, EROFS_MKFS_JOB_DIR_BH,
+ err2 = erofs_mkfs_go(sbi, EROFS_MKFS_JOB_DIR_BH,
&dir, sizeof(dir));
- if (err)
- return err;
+ if (err || err2)
+ return err ? err : err2;
} while (dumpdir);
return err;