[automerger skipped] fsck.f2fs: fix check order in -p1
am: 3f378efee4 -s ours
Change-Id: Ibaeaf1337a559f80715d41a335adfeed760f7099
diff --git a/fsck/sload.c b/fsck/sload.c
index 2842f2c..e9b12e3 100644
--- a/fsck/sload.c
+++ b/fsck/sload.c
@@ -106,7 +106,7 @@
/* Permissions */
if (fs_config_func != NULL) {
- fs_config_func(mnt_path, S_ISDIR(de->mode),
+ fs_config_func(mnt_path, de->file_type == F2FS_FT_DIR,
c.target_out_dir, &uid, &gid, &imode,
&capabilities);
de->uid = uid & 0xffff;
@@ -157,7 +157,7 @@
de->size = stat.st_size;
de->mode = stat.st_mode &
- (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO);
+ (S_IFMT|S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO);
if (c.fixed_time == -1 && c.from_dir)
de->mtime = stat.st_mtime;
else
diff --git a/lib/libf2fs_io.c b/lib/libf2fs_io.c
index 4781517..76d283d 100644
--- a/lib/libf2fs_io.c
+++ b/lib/libf2fs_io.c
@@ -114,8 +114,13 @@
return 0;
}
+#ifdef SPARSE_CALLBACK_USES_SIZE_T
+static int sparse_import_segment(void *UNUSED(priv), const void *data,
+ size_t len, unsigned int block, unsigned int nr_blocks)
+#else
static int sparse_import_segment(void *UNUSED(priv), const void *data, int len,
unsigned int block, unsigned int nr_blocks)
+#endif
{
/* Ignore chunk headers, only write the data */
if (!nr_blocks || len % F2FS_BLKSIZE)