diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2018-05-10 07:21:20 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2018-05-10 07:21:20 +0000 |
commit | dbce6944f18836258a5005600b6fe140e488fdaa (patch) | |
tree | cc37998acb2345418ce7cdd1b034310678c6f8f4 | |
parent | 28a107dde7c3fa70f3b4fcb19a67799af8cfc1e5 (diff) | |
parent | f7135ed552cf454fbf9b1c1208c23c28f4c864fe (diff) | |
download | f2fs-tools-pie-vts-release.tar.gz |
Snap for 4773106 from f7135ed552cf454fbf9b1c1208c23c28f4c864fe to pi-releaseandroid-vts-9.0_r9android-vts-9.0_r8android-vts-9.0_r7android-vts-9.0_r6android-vts-9.0_r5android-vts-9.0_r4android-vts-9.0_r19android-vts-9.0_r18android-vts-9.0_r17android-vts-9.0_r16android-vts-9.0_r15android-vts-9.0_r14android-vts-9.0_r13android-vts-9.0_r12android-vts-9.0_r11android-vts-9.0_r10android-p-preview-5android-p-preview-4android-cts-9.0_r9android-cts-9.0_r8android-cts-9.0_r7android-cts-9.0_r6android-cts-9.0_r5android-cts-9.0_r4android-cts-9.0_r3android-cts-9.0_r20android-cts-9.0_r2android-cts-9.0_r19android-cts-9.0_r18android-cts-9.0_r17android-cts-9.0_r16android-cts-9.0_r15android-cts-9.0_r14android-cts-9.0_r13android-cts-9.0_r12android-cts-9.0_r11android-cts-9.0_r10android-cts-9.0_r1android-9.0.0_r9android-9.0.0_r8android-9.0.0_r7android-9.0.0_r6android-9.0.0_r5android-9.0.0_r3android-9.0.0_r2android-9.0.0_r10android-9.0.0_r1pie-vts-releasepie-release-2pie-releasepie-r2-s1-releasepie-r2-releasepie-cts-release
Change-Id: I78b8d9ced49ff7cb4f9ce726286ac7e06da94637
-rw-r--r-- | fsck/fsck.c | 26 | ||||
-rw-r--r-- | fsck/sload.c | 4 |
2 files changed, 15 insertions, 15 deletions
diff --git a/fsck/fsck.c b/fsck/fsck.c index 6c1b9a7..668ecc1 100644 --- a/fsck/fsck.c +++ b/fsck/fsck.c @@ -1764,19 +1764,7 @@ int fsck_chk_meta(struct f2fs_sb_info *sbi) if (fsck_chk_orphan_node(sbi)) return -EINVAL; - /* 5. check quota inode simply */ - if (fsck_chk_quota_node(sbi)) - return -EINVAL; - - if (fsck->nat_valid_inode_cnt != le32_to_cpu(cp->valid_inode_count)) { - ASSERT_MSG("valid inode does not match: nat_valid_inode_cnt %u," - " valid_inode_count %u", - fsck->nat_valid_inode_cnt, - le32_to_cpu(cp->valid_inode_count)); - return -EINVAL; - } - - /*check nat entry with sit_area_bitmap*/ + /* 5. check nat entry -- must be done before quota check */ for (i = 0; i < fsck->nr_nat_entries; i++) { u32 blk = le32_to_cpu(fsck->entries[i].block_addr); nid_t ino = le32_to_cpu(fsck->entries[i].ino); @@ -1816,6 +1804,18 @@ int fsck_chk_meta(struct f2fs_sb_info *sbi) } } + /* 6. check quota inode simply */ + if (fsck_chk_quota_node(sbi)) + return -EINVAL; + + if (fsck->nat_valid_inode_cnt != le32_to_cpu(cp->valid_inode_count)) { + ASSERT_MSG("valid inode does not match: nat_valid_inode_cnt %u," + " valid_inode_count %u", + fsck->nat_valid_inode_cnt, + le32_to_cpu(cp->valid_inode_count)); + return -EINVAL; + } + return 0; } 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 @@ static int set_perms_and_caps(struct dentry *de) /* 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 @@ static void set_inode_metadata(struct dentry *de) 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 |