aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk@kernel.org>2014-10-09 14:58:40 -0700
committerJP Abgrall <jpa@google.com>2014-11-07 15:32:19 -0800
commit4c992fe23ae6739767f584a96157d0585282d8e2 (patch)
tree2085615329afab40b17b561749d79f0302aff29a
parent0b72253b7e46d3c0d98769a0afcbf71efc0153ec (diff)
downloadandroid_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.c7
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;