History log of /external/f2fs-tools/fsck/fsck.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
100ea9f321b92fa1e15889ec0ef72b6b8929459d 03-Nov-2014 JP Abgrall <jpa@google.com> fsck.f2fs: actually flag the fixed dentries as fixed

This is a followup from 056e4b04fc44a006d5529bafbf87b1d73296c665
Now the blk is marked as fixed so that the callers can write it back.

Change-Id: I99c94bc39e772e0d0baab81bd741ce55416ce0e6
Signed-off-by: JP Abgrall <jpa@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/fsck/fsck.c
0ca82d1b7231fdda4d1062b4a852d2aa53fa8316 31-Oct-2014 Jaegeuk Kim <jaegeuk@kernel.org> f2fs: use last_blk for print dentries

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/fsck/fsck.c
9464be283ebdbb17c8940bea6c8a4f7acb75299a 31-Oct-2014 Jaegeuk Kim <jaegeuk@kernel.org> fsck.f2fs: fix DATA_EXIST flag for old partition

This should fix the DATA_EXIST before recent inline_data is enabled.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/fsck/fsck.c
2c82eafaa38922a370545dc56d6210bf94b929e9 29-Oct-2014 JP Abgrall <jpa@google.com> fsck.f2fs: attempt to identify bad dentries

If a dentry has a bad ino (fsck_chk_nod_blk() fails)
and has a name len of 0, then __chk_dentries() will end up stuck:

....
[__chk_dentries: 663] [ 4]-[0x0] name[] len[0x0] ino[0x5f1710dc] type[0xd1]
[ASSERT] (sanity_check_nid: 184) --> nid is not valid. [0x5f1710dc]
[__chk_dentries: 663] [ 4]-[0x0] name[] len[0x0] ino[0x5f1710dc] type[0xd1]
[ASSERT] (sanity_check_nid: 184) --> nid is not valid. [0x5f1710dc]
[__chk_dentries: 663] [ 4]-[0x0] name[] len[0x0] ino[0x5f1710dc] type[0xd1]
[ASSERT] (sanity_check_nid: 184) --> nid is not valid. [0x5f1710dc]
....

This change tries to identify bad dentries:
- is the ino a valid NID?
- is the FILE_TYPE a happy type?

Change-Id: I5fb2f3869c96f2c928baaace148de1af102e558e
Signed-off-by: JP Abgrall <jpa@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/fsck/fsck.c
e90e81703d3245e14d90fcb1bdb5a6c6cdd6393e 19-Oct-2014 Jaegeuk Kim <jaegeuk@kernel.org> fsck.f2fs: fix wrongly allocated 0'th block for inline_data

This patch fixes not to allocate any 0'th block for inline_data.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/fsck/fsck.c
df2501e140764a8b67fc22388985359836760a0b 16-Oct-2014 Jaegeuk Kim <jaegeuk@kernel.org> fsck.f2fs: fix link count correctly

We should do *goto check* if there is something to fix.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/fsck/fsck.c
866c86a6376598c1e72141de2805ba0f43e6daaa 16-Oct-2014 Jaegeuk Kim <jaegeuk@kernel.org> fsck.f2fs: fix wrong hash_code made by previous buggy code

The previous f2fs remained wrong hash_code for international characters.
So, fsck.f2fs should fix that hash_code with current valid names.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/fsck/fsck.c
3a8c9a69525f75a6c59bee0eb3d882ddc341b3f1 15-Oct-2014 Jaegeuk Kim <jaegeuk@kernel.org> fsck.f2fs: support inline_dentry

This patch implements inline_dentry feature.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/fsck/fsck.c
73b6e3eb4e944338edd80b4f27c29b7aa31c76f2 04-Sep-2014 Jaegeuk Kim <jaegeuk@kernel.org> f2fs: rearrange options to remove redundant check

This patch summarizes the usage of options.

-a : auto_fix, fix corruption, only if f2fs reported some potential errors
-f : force, fix corruption entire partition
None : prompt, if fsck.f2fs detets any corruption

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/fsck/fsck.c
bc6a70006baab16bf51e9cc7a7b042f734d4ccd2 02-Sep-2014 Jaegeuk Kim <jaegeuk@kernel.org> fsck.f2fs: avoid build warnings

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/fsck/fsck.c
10d97dd1b386abcceec1b1bf590a3711d93e8c1c 29-Aug-2014 Jaegeuk Kim <jaegeuk@kernel.org> fsck.f2fs: check next block is free or not

If block allocation is made to the next block offset, we should drop that
block.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/fsck/fsck.c
893312ced238b9ee93c5427aa6e6c1f29fe39899 28-Aug-2014 Jaegeuk Kim <jaegeuk@kernel.org> fsck.f2fs: fix checkpoint

- fix nat entries
- fix sit entries
- fix checkpoint

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/fsck/fsck.c
6591dadcb05b7787dfa4c703728f773069dece04 28-Aug-2014 Jaegeuk Kim <jaegeuk@kernel.org> fsck.f2fs: handle correctly segment summary entries

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/fsck/fsck.c
1118af29cae53275851c3b1f7ef266e67cc7e2a7 28-Aug-2014 Jaegeuk Kim <jaegeuk@kernel.org> fsck.f2fs: remove corrupted xattr block

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/fsck/fsck.c
83e54446710466a0c4493236079184131f0004ce 28-Aug-2014 Jaegeuk Kim <jaegeuk@kernel.org> fsck.f2fs: corrupted orphan inode will be removed

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/fsck/fsck.c
6b20b0d6788b4e7241c3acad1560d8eaad80b319 29-Aug-2014 Jaegeuk Kim <jaegeuk@kernel.org> fsck.f2fs: remove dentry if its inode block is corrupted

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/fsck/fsck.c
269eac2e0346e92fa1428bbfbc3fa50233f8c4ef 28-Aug-2014 Jaegeuk Kim <jaegeuk@kernel.org> fsck.f2fs: add fixing messeages

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/fsck/fsck.c
dc530859c5e422b10ab70bc3b9d4b7ff0d004d57 29-Aug-2014 Jaegeuk Kim <jaegeuk@kernel.org> fsck.f2fs: fix inode block inconsistency

This patch is to fix inode block inconsistency such as iblocks and ilinks.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/fsck/fsck.c
fffeed796a79fa6621d01b0e4c5fa18d9d89cdd7 28-Aug-2014 Jaegeuk Kim <jaegeuk@kernel.org> fsck.f2fs: give a chance to recover sit entries

This patch skips initial verfication on SIT entries, which checks the number of
valid blocks from its bitmap.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/fsck/fsck.c
3b4b82634489b2f9d367b1f897d51a341208d163 28-Aug-2014 Jaegeuk Kim <jaegeuk@kernel.org> fsck.f2fs: handle error cases

Do sanity check first and then update metadata.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/fsck/fsck.c
02d04218720248f35ee2bcf4ca34c8b0e6e05140 28-Aug-2014 Jaegeuk Kim <jaegeuk@kernel.org> fsck.f2fs: remove return value of get_node_info

We don't need to get the return value.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/fsck/fsck.c
e9cd4deec85930bed5862c7cd136d2dcc0e02907 28-Aug-2014 Jaegeuk Kim <jaegeuk@kernel.org> fsck.f2fs: handle IS_VALID_BLK_ADDR

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/fsck/fsck.c
b3a4f9457718eb1aecb85d082f9e6f737ce3af86 28-Aug-2014 Jaegeuk Kim <jaegeuk@kernel.org> fsck.f2fs: clean up codes

Fix wrong coding style.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/fsck/fsck.c
f4ef4a14e978e7328037b43a8a6ec9d2a2d4bb5a 27-Aug-2014 Jaegeuk Kim <jaegeuk@kernel.org> fsck.f2fs: retry to fix corrupted image

This patch adds a facility to retry conducting fsck.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/fsck/fsck.c
347fe81d8e860d29a254ac066d87c5efe87d717b 27-Aug-2014 Jaegeuk Kim <jaegeuk@kernel.org> f2fs_dentry_hash: avoid casting unsigned char to singed char

This can hurt when calculating hash value, resulting in false alarm.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/fsck/fsck.c
ab258b431b634f4980f279db22cbee83271f6f16 20-Aug-2014 Jaegeuk Kim <jaegeuk@kernel.org> fsck.f2fs: show inode numbers

fsck.f2fs -d 1 [dev]
: shows inode informations
fsck.f2fs -d -1 [dev]
: shows directory tree with inode number

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/fsck/fsck.c
fd9816f31e5cd668962f00511d7a91d055d76048 12-May-2014 Changman Lee <cm224.lee@samsung.com> fsck.f2fs: large volume support

This patch support large volume over about 3TB.

Signed-off-by: Changman Lee <cm224.lee@samsung.com>
[Jaegeuk Kim: add missing cp_payload in f2fs_super_block]
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/fsck/fsck.c
3c85e737308ef95629b232745d6a8d141d87cc9a 14-May-2014 JP Abgrall <jpa@google.com> Cleanup various build warnings (signed vs unsigned, unused vars,...)

* removed unused includes.
* removed unused parameters.
* Fixed a bunch of warnings around:
int i;
if (i < some_uint) ...
and
u32 x;
...
if (x < 0) return error;
* Protect BLKDISCARD usage if it is not available.

Change-Id: Iede035b1beb2df01c961589a69aff47a5258ecd2
Signed-off-by: JP Abgrall <jpa@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/fsck/fsck.c
192d979c61719dd1a44eb845033e949dcabba3e7 25-Feb-2014 Jaegeuk Kim <jaegeuk.kim@samsung.com> fsck: remove build warnings

This patch casts some variable types to remove build warnings.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/fsck/fsck.c
858c4039c85f7c00c57925902985701b1e083555 05-Feb-2014 Jaegeuk Kim <jaegeuk.kim@samsung.com> mkfs, fsck: change the results for readability

This patch cleans up several printing formats.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/fsck/fsck.c
4f267323a28c3fb50fa08256517e2dae4e347b2d 20-Jan-2014 Jaegeuk Kim <jaegeuk.kim@samsung.com> f2fs-tools: resolve build warnings

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/fsck/fsck.c
061ee67915ba3e8c86bde89a2efb1b8a9aadfb37 25-Oct-2013 Huajun Li <huajun.li@intel.com> f2fs-tools: add inline data check

Add inline data check

Signed-off-by: Weihong Xu <weihong.xu@intel.com>
Signed-off-by: Huajun Li <huajun.li@intel.com>
Signed-off-by: Haicheng Li <haicheng.li@linux.intel.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/fsck/fsck.c
f1d452af4a353380483b916a3e1c44fc8eb796b7 30-Oct-2013 Jaegeuk Kim <jaegeuk.kim@samsung.com> fsck: fix orphan node blocks

Previously, fsck handles only the orphan inode block excpet its indirect node
blocks.
This causes false-alarm, unreachable nat entries [xxx].
This patch fixes to cover indirect node blocks in an orphan inode.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/fsck/fsck.c
8e678b2edfba95f3edbb1730c69da365d659e95d 16-Oct-2013 Jaegeuk Kim <jaegeuk.kim@samsung.com> fsck: fix checking orphan inodes

This patch fixes bugs in the orphan inode procedure.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/fsck/fsck.c
76a069430a295a27bf478d4a5d2fd71112a11a54 08-Oct-2013 Jaegeuk Kim <jaegeuk.kim@samsung.com> fsck: fix to handle file types correctly

The file type is based on the number, not bit operations.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/fsck/fsck.c
78b795e05d411e28f2480f78ad9225bd21e199fe 08-Oct-2013 Jaegeuk Kim <jaegeuk.kim@samsung.com> fsck: skip to check block addresses in device files

The device files use i_addr or i_nid fields for their rdev numbers.
So, fsck should skip to check block addresses inside of them.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/fsck/fsck.c
cd1e4704d0cbf1cbb49b3f33c576566b4b1e296e 20-Aug-2013 Jaegeuk Kim <jaegeuk.kim@samsung.com> fsck, lib: support inline xattr

This patch adjusts the modification to handle inline xattrs.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/fsck/fsck.c
6e8f2d5d222eff0abea4b5c0abc7433834094924 07-Aug-2013 Changman Lee <cm224.lee@samsung.com> f2fs-tools: add debug message for checking xattr

This patch adds debug message to confirm xattr block is checked.

Signed-off-by: Changman Lee <cm224.lee@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/fsck/fsck.c
57baa23a3279a4b9e9df0ab92ee20a2c79b839d8 30-Jul-2013 Changman Lee <cm224.lee@samsung.com> f2fs-tools: add option to display directory tree

This option shows directory tree of f2fs.

Usage: fsck.f2fs -t /dev/sdx

`-- p0
|-- f4
`-- d6
|-- f5e
|-- cb6
|-- fdb
|-- fe8
`-- l9a

Signed-off-by: Changman Lee <cm224.lee@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/fsck/fsck.c
8843554c8c43e713e2ce4e36ac3c06f9eca94b09 18-Jul-2013 Changman Lee <cm224.lee@samsung.com> dump: dump inode information from blkaddr

This patch is to dump inode which blkaddr belongs in.
Usage:
dump.f2fs /dev/sdx -b blk_addr (in 4KB)

Signed-off-by: Changman Lee <cm224.lee@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/fsck/fsck.c
0307b93ce2e44e80a1efb279894601ae64ffaf47 15-Jul-2013 Jaegeuk Kim <jaegeuk.kim@samsung.com> fsck: fix name search

The next name slots should be calculated by F2FS_SLOT_LEN not F2FS_NAME_LEN.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/fsck/fsck.c
7f35b548d4b0e3c8577ad7a09433e589a0ab3f2a 04-Jul-2013 Changman Lee <cm224.lee@samsung.com> f2fs-tools: add fsck.f2fs and dump.f2fs

fsck.f2fs checks file system consistency, but does not repair a broken
file system yet.
dump.f2fs shows the information of a specific inode and makes dump file
of SSA and SIT.
f2fs checks file system consistency as follows:
o When data about used area and its metadata are identical,
f2fs is considered consistent. To verify such consistency, we use
three bitmaps: nat_area_bitmap, sit_area_bitmap, and main_area_bitmap.
First, each bit in nat_area_bitmap corresponds to a nid in NAT.
Second, each bit in sit_area_bitmap corresponds to a valid block in a
segment. This bitmap is same to the total valid_map of f2fs_sit_entries
in SIT.
Last, each bit in main_area_bitmap corresponds to a block in main area
except meta area.
After a consistency check of each block, we set or clear the
corresponding bit of each bitmap.
From the root node, we start consistency check. The verified
information varies according to block type.
1. NODE
- Read information of node block from NAT
- Check if block address is allocated using node info.
- Check if the type of f2fs_summary related to nid in SSA is NODE.
- Update the corresponding bit in nat_area_bitmap.
- Update the corresponding bit in sit_area_bitmap.
- Set the corresponding bit in main_area_bitmap to 1.
- Then, read node block. According to its attribute, explore
inode/direct node/indirect node/double indirect node
recursively.
- If it is an inode block, we also check its xattr and hard link.
2. DATA
- Check if the type of f2fs_summary related to nid in SSA is DATA.
- Set the corresponding bits of sit_area_bitmap and
main_area_bitmap to visited
- If it is a dentry block, traverse each dentries that may be
regular
file or directory. At this time, it will check inode block again.
Finally, we verify whether
- every nat_area_bitmap is visited
- any unreachable hard link exists
- values of sit_area_bitmap and main_area_bitmap are identical
- total_valid_block_count/node_count/inode_count are correct

Usage:
o fsck.f2fs
# fsck.f2fs /dev/sdx
options:
-d debug level [default:0]
o dump.f2fs
# dump.f2fs -i [ino] /dev/sdx
# dump.f2fs -s 0~-1 /dev/sdx (SIT dump)
# dump.f2fs -a 0~-1 /dev/sdx (SSA dump)
options:
-d debug level [default:0]
-i inode no (hex)
-s [SIT dump segno from #1~#2 (decimal), for all 0~-1]
-a [SSA dump segno from #1~#2 (decimal), for all 0~-1]

Note: To use dump.f2fs, please run make install or ln -s fsck.f2fs
dump.f2fs

Signed-off-by: Changman Lee <cm224.lee@samsung.com>
Signed-off-by: Byoung Geun Kim <bgbg.kim@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/fsck/fsck.c