diff options
author | Jaegeuk Kim <jaegeuk@kernel.org> | 2014-10-09 14:58:40 -0700 |
---|---|---|
committer | JP Abgrall <jpa@google.com> | 2014-11-07 15:32:19 -0800 |
commit | 4c992fe23ae6739767f584a96157d0585282d8e2 (patch) | |
tree | 2085615329afab40b17b561749d79f0302aff29a | |
parent | 0b72253b7e46d3c0d98769a0afcbf71efc0153ec (diff) | |
download | android_external_f2fs-tools-4c992fe23ae6739767f584a96157d0585282d8e2.tar.gz android_external_f2fs-tools-4c992fe23ae6739767f584a96157d0585282d8e2.tar.bz2 android_external_f2fs-tools-4c992fe23ae6739767f584a96157d0585282d8e2.zip |
fsck.f2fs: fix superblock offset
The second offset should be F2FS_BLKSIZE + F2FS_SUPER_OFFSET.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
-rw-r--r-- | fsck/mount.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/fsck/mount.c b/fsck/mount.c index 415f977..8b39d37 100644 --- a/fsck/mount.c +++ b/fsck/mount.c @@ -223,9 +223,14 @@ int sanity_check_raw_super(struct f2fs_super_block *raw_super) int validate_super_block(struct f2fs_sb_info *sbi, int block) { - u64 offset = (block + 1) * F2FS_SUPER_OFFSET; + u64 offset; sbi->raw_super = malloc(sizeof(struct f2fs_super_block)); + if (block == 0) + offset = F2FS_SUPER_OFFSET; + else + offset = F2FS_BLKSIZE + F2FS_SUPER_OFFSET; + if (dev_read(sbi->raw_super, offset, sizeof(struct f2fs_super_block))) return -1; |