Anthony G. Basile [Sat, 7 Mar 2015 16:16:54 +0000 (11:16 -0500)]
f2fs-tools: fix build system to make distcheck correctly
The current build system fails to `make distcheck` correctly
for two reasons: 1) Some header files are not listed in the
source files for fsck.f2fs and mkfs.f2fs, and so don't make it
into the dist tarball. 2) By setting a default prefix in
configure.ac, the mock install doesn't add the correct prefix
and instead tries to install directly to the file system.
This patch corrects those problems and also adds an autogen.sh
script for convenience.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Thu, 5 Mar 2015 04:33:57 +0000 (20:33 -0800)]
f2fs-tools: release 1.4.1
This version includes mostly bug fixes.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Michael Lass [Tue, 3 Mar 2015 23:42:17 +0000 (00:42 +0100)]
f2fstat: fix option parsing
On systems using unsigned char as default (char)EOF != EOF.
Use int to store returned value of getopt to make it work on all platforms.
Signed-off-by: Michael Lass <bevan@bi-co.net>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Tue, 24 Feb 2015 18:09:07 +0000 (10:09 -0800)]
fsck.f2fs: remove corrupted data indices in direct node blocks
Previously, only data blocks locating in its inode block could be fixed.
This patch investigates direct node blocks to fix indices too.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Chao Yu [Fri, 6 Feb 2015 08:11:41 +0000 (16:11 +0800)]
mkfs.f2fs: avoid memory leak in mkfs
This patch fixes memory leak in mkfs.
Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Chao Yu [Thu, 5 Feb 2015 09:38:09 +0000 (17:38 +0800)]
fsck.f2fs: support large sector size
Since f2fs support large sector size in commit
55cf9cb63f0e "f2fs: support large
sector size", block device with sector size of 512/1024/2048/4096 bytes can be
supported.
But fsck.f2fs still use default F2FS_LOG_SECTOR_SIZE/F2FS_LOG_SECTORS_PER_BLOCK to
verify related data in f2fs image, it's wrong, let's fix this issue in this patch.
Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Chao Yu [Thu, 5 Feb 2015 09:36:39 +0000 (17:36 +0800)]
mkfs.f2fs: support large sector size
Since f2fs support large sector size in commit
55cf9cb63f0e "f2fs: support large
sector size", block device with sector size of 512/1024/2048/4096 bytes can be
supported.
But mkfs.f2fs still use default sector size: 512 bytes as sector size, let's fix
this issue in this patch.
v2:
o remove unneeded printed message when sector size is large than 512 bytes
suggested by Kinglong.
o show correct sector size in printed message.
o use config.sectors_per_blk instead of DEFAULT_SECTORS_PER_BLOCK suggested by
Kinglong.
v3:
o remove another unneeded printed message when sector size is large than 512
bytes suggested by Kinglong.
Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Reviewed-by: Kinglong Mee <kinglongmee@gmail.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Tue, 2 Dec 2014 22:08:11 +0000 (14:08 -0800)]
fsck.f2fs: readahead node blocks to speed up
This patch adds readahead system call to speed up node block reads.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Thu, 15 Jan 2015 00:18:15 +0000 (16:18 -0800)]
dump.f2fs: show checkpoint flag
This patch is to show the checkpoint flag.
With this flag, we can guess the last status of the partition.
And, this can be used by xfstests.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Fri, 9 Jan 2015 10:59:57 +0000 (02:59 -0800)]
fsck.f2fs: fix sit types seamlessly
SIT types can be wrong when active_logs are 2 or 4.
So, let's fix this implicitly.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Chao Yu [Thu, 22 Jan 2015 03:19:05 +0000 (11:19 +0800)]
fibmap.f2fs: fix the wrong stat info
fibmap shows ino, size, blocks with incorrectly decimal number, fix it.
Before:
--------------------------------------------
dev [8:16]
ino [0x 238ea : 0]
mode [0x 81a4 : 33188]
nlink [0x 1 : 1]
uid [0x 0 : 0]
gid [0x 0 : 0]
size [0x 79e00 : 0]
blksize [0x 1000 : 4096]
blocks [0x 268 : 0]
--------------------------------------------
Patched:
--------------------------------------------
dev [8:16]
ino [0x 238ea : 145642]
mode [0x 81a4 : 33188]
nlink [0x 1 : 1]
uid [0x 0 : 0]
gid [0x 0 : 0]
size [0x 79e00 : 499200]
blksize [0x 1000 : 4096]
blocks [0x 268 : 616]
--------------------------------------------
Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Yann E. MORIN [Thu, 25 Dec 2014 17:52:00 +0000 (18:52 +0100)]
configure: add check for bswap_64
include/f2fs_fs.h checks the HAVE_BSWAP_64 conidtional, but configure
nevers checks for it.
Add a check that the function is indeed declared, and fix the variable
name to match the naming scheme of autoconf (and not those of WAF like
is used by samba), and adapt the check as suggested in the autoconf
manual.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Yann E. MORIN [Thu, 25 Dec 2014 17:39:19 +0000 (18:39 +0100)]
configure: also check for byteswap.h
include/f2fs_fs.h checks the HAVE_BYTESWAP_H conditional, but it is
never checked for in configure.
Add that header to the list of headers checked for.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Sat, 20 Dec 2014 00:05:10 +0000 (16:05 -0800)]
parse.f2fs: add a tool to parse IO traces made by runtime f2fs
This patch adds parse.f2fs to retrieve process information and an amount
of data reads and writes from given IO trace got by f2fs.
Signed-off-by: Jaegeuk Kim <jaegeuk@motorola.com>
Jaegeuk Kim [Sat, 13 Dec 2014 21:55:59 +0000 (13:55 -0800)]
dump.f2fs: dump owner of data given block address
This patch introduces a feature to dump owner information of given block
address.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Tue, 25 Nov 2014 01:43:44 +0000 (17:43 -0800)]
fsck.f2fs: no need to fix SIT type for COLD_DATA
If hot or warm data blocks were moved to the cold log, we should remain them
in the cold log.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Changman Lee [Mon, 17 Nov 2014 05:03:41 +0000 (14:03 +0900)]
mkfs.f2fs: introduce some macros to simplify coding style
This patch tries to simplify coding style for readability.
Rename shortly
o rename super_block to sb
And, introduce some macros.
o set/get_cp
o set/get_sb
o next/prev_zone, last_zone and last_section
o ALIGN, SEG_ALIGN and ZONE_ALIGN
Signed-off-by: Changman Lee <cm224.lee@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Fri, 14 Nov 2014 05:00:39 +0000 (21:00 -0800)]
fsck.f2fs: remove unused value
Remove build warning.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Changman Lee [Thu, 13 Nov 2014 11:15:05 +0000 (20:15 +0900)]
mkfs.f2fs: fix missing endian conversion
This is for conversion from cpu to little endian and vice versa.
Signed-off-by: Changman Lee <cm224.lee@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Changman Lee [Thu, 13 Nov 2014 11:15:04 +0000 (20:15 +0900)]
mkfs: use compact mode for data summaries
This patch is for optimization related to format
o reduce 2 blocks for data summaries
o reduce initial mount time after mkfs.f2fs
Signed-off-by: Changman Lee <cm224.lee@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
JP Abgrall [Thu, 13 Nov 2014 23:20:05 +0000 (15:20 -0800)]
fsck.f2fs: add a missing 'fixed' during chk_dentries()
One of the cases would update the dentries but not set
fixed=1 causing the update to not be written out.
Change-Id: I111d599f93f7d5306dacd7d62da946fdb5c262ee
Signed-off-by: JP Abgrall <jpa@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Thu, 13 Nov 2014 21:30:24 +0000 (13:30 -0800)]
fsck.f2fs: avoid false alarm on SIT type fix
This patch removed a false alarm when detecting any inconsistency in SIT types.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Sun, 9 Nov 2014 06:33:49 +0000 (22:33 -0800)]
fsck.f2fs: remove unneeded return
To show better output.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Sun, 9 Nov 2014 06:28:42 +0000 (22:28 -0800)]
fsck.f2fs: show orphan inodes when fixing partition
Let's show orphan inode information when fixing partition.
Otherwise, it causes a false alarm.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Changman Lee [Tue, 4 Nov 2014 09:10:54 +0000 (18:10 +0900)]
mkfs.f2fs: reclaim free space in case of regular file
If we use regular file instead block device, let's reclaim its free
space.
Signed-off-by: Changman Lee <cm224.lee@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Fri, 7 Nov 2014 04:44:57 +0000 (20:44 -0800)]
mkfs.f2fs: give a kernel version for initial format
This is to identify when the format was done.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Fri, 7 Nov 2014 03:34:40 +0000 (19:34 -0800)]
fsck.f2fs: trigger fsck.f2fs when new change was made
This patch remains user specified triggering information in superblock.
Then, if the information was changed, fsck.f2fs is triggered.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Thu, 6 Nov 2014 04:25:49 +0000 (20:25 -0800)]
fsck.f2fs: fix SIT entry types
Sometimes, SIT entry type is broken, so we need to rebuild it.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
JP Abgrall [Mon, 3 Nov 2014 21:27:42 +0000 (13:27 -0800)]
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>
Jaegeuk Kim [Fri, 31 Oct 2014 19:48:42 +0000 (12:48 -0700)]
f2fs: use last_blk for print dentries
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Fri, 31 Oct 2014 18:06:45 +0000 (11:06 -0700)]
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>
JP Abgrall [Wed, 29 Oct 2014 02:11:52 +0000 (19:11 -0700)]
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>
Jaegeuk Kim [Sun, 19 Oct 2014 06:51:17 +0000 (23:51 -0700)]
fsck.f2fs: show inline status of inode
This patch adds to show inline status of each inode.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Sun, 19 Oct 2014 06:49:30 +0000 (23:49 -0700)]
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>
Jaegeuk Kim [Thu, 16 Oct 2014 16:40:16 +0000 (09:40 -0700)]
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>
Jaegeuk Kim [Wed, 15 Oct 2014 23:53:25 +0000 (16:53 -0700)]
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>
Jaegeuk Kim [Tue, 14 Oct 2014 22:15:40 +0000 (15:15 -0700)]
fsck.f2fs: support inline_dentry
This patch implements inline_dentry feature.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Thu, 9 Oct 2014 21:58:40 +0000 (14:58 -0700)]
fsck.f2fs: fix superblock offset
The second offset should be F2FS_BLKSIZE + F2FS_SUPER_OFFSET.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Tue, 7 Oct 2014 22:34:28 +0000 (15:34 -0700)]
mkfs.f2fs: avoid build warning
Avoid build warning for printf.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Mon, 29 Sep 2014 18:29:13 +0000 (11:29 -0700)]
fsck.f2fs: fix wrong block addres of nids
This patch avoids assert when nid has wrong block address.
Let's fix this.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
joerg jungermann [Fri, 26 Sep 2014 05:05:12 +0000 (22:05 -0700)]
mkfs.f2fs: possible endianes bug in mkfs.f2fs roll-forward speed
I might found a bug in mkfs.f2fs. while experimenting with f2fs on my big
endian MIPS32 device (platform lantiq, 14.07-rc3, uclibc).
I ran into an issue that mkfs.f2fs, was not able to format block devices if I
did not specify the sector count manually.
I hunted it down to lib/libf2fs.c.
After I found that the detected sector count equals to the wanted sector count
shifted left (32+9) times.
I found two issues:
Firstly it uses ioctl BLKGETSIZE, which writes to an uint32_t the size of the
device.
As c->total_sectors is of type uint64_t, the value is written in to the first
4 bytes.
That explained the left shift of 32 bits.
Secondly BLKGETSIZE determines the size of the device in bytes (AFAIK, learned
by observation).
In the first branch of the if-block patched below, the c->total_sectors is
calculated by
c->total_sectors = stat_buf.st_size / c->sector_size;
The else branch omits the devision. sector_sice is mostly 512, that explained
the left shift by 9 bytes.
* fixes sector count calculation
* uses BLKGETSIZE64 if avail
Signed-off-by: joerg jungermann <jj@borkum.net>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Tue, 23 Sep 2014 05:22:33 +0000 (22:22 -0700)]
f2fs-tools: fix for build big-endian processors
This patch fixes build failure on big-endian systems.
Reported-and-Tested-by: Jan Engelhardt <jengelh@inai.de>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Thu, 18 Sep 2014 16:57:09 +0000 (09:57 -0700)]
f2fs-tools: release 1.4.0
This version includes:
- fsck.f2fs fixing corrupted images/partitions
- dump.f2fs retrieving speicific file
- bug fixes on f2fsstat and fibmap.f2fs
- refactor code blocks for android build
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Thu, 18 Sep 2014 18:35:53 +0000 (03:35 +0900)]
f2fstat: enhance readability of output
This patch enhances output readability of f2fstat.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Mon, 8 Sep 2014 18:13:00 +0000 (11:13 -0700)]
tracepoint.sh: update latest tracepoints
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Thu, 4 Sep 2014 02:41:44 +0000 (19:41 -0700)]
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>
Jaegeuk Kim [Wed, 3 Sep 2014 01:07:35 +0000 (18:07 -0700)]
fsck.f2fs: add auto_fix feature
This patch adds an auto_fix feature which fixes inconsistency of f2fs images.
E.g.,
With this option, -a, fsck.f2fs tries to fix inconsistency only if its valid
checkpoint has CP_FSCK_FLAG, written by previous bug_on cases.
So, normally it does fix nothing, so that there is no performance regression.
But, if a sort of corruption was reported by the f2fs module, this tries to
fix potential corrupted partition.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Tue, 2 Sep 2014 17:52:56 +0000 (10:52 -0700)]
fsck.f2fs: avoid build warnings
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Sat, 30 Aug 2014 00:15:09 +0000 (17:15 -0700)]
fsck.f2fs: remove list.h
Just use list_head only.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Thu, 28 Aug 2014 23:55:45 +0000 (16:55 -0700)]
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>
Jaegeuk Kim [Thu, 28 Aug 2014 21:55:07 +0000 (14:55 -0700)]
fsck.f2fs: fix checkpoint
- fix nat entries
- fix sit entries
- fix checkpoint
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Thu, 28 Aug 2014 20:49:04 +0000 (13:49 -0700)]
fsck.f2fs: handle correctly segment summary entries
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Thu, 28 Aug 2014 17:56:14 +0000 (10:56 -0700)]
fsck.f2fs: remove corrupted xattr block
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Thu, 28 Aug 2014 17:50:51 +0000 (10:50 -0700)]
fsck.f2fs: corrupted orphan inode will be removed
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Fri, 29 Aug 2014 18:26:57 +0000 (11:26 -0700)]
fsck.f2fs: remove dentry if its inode block is corrupted
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Thu, 28 Aug 2014 17:27:17 +0000 (10:27 -0700)]
fsck.f2fs: add fixing messeages
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Fri, 29 Aug 2014 18:46:25 +0000 (11:46 -0700)]
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>
Jaegeuk Kim [Thu, 28 Aug 2014 00:15:55 +0000 (17:15 -0700)]
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>
Jaegeuk Kim [Thu, 28 Aug 2014 00:13:23 +0000 (17:13 -0700)]
fsck.f2fs: cleanup mount.c
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Thu, 28 Aug 2014 00:06:17 +0000 (17:06 -0700)]
fsck.f2fs: handle error cases
Do sanity check first and then update metadata.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Wed, 27 Aug 2014 23:39:23 +0000 (16:39 -0700)]
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>
Jaegeuk Kim [Wed, 27 Aug 2014 23:32:06 +0000 (16:32 -0700)]
fsck.f2fs: handle IS_VALID_BLK_ADDR
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Wed, 27 Aug 2014 23:16:16 +0000 (16:16 -0700)]
fsck.f2fs: clean up codes
Fix wrong coding style.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Wed, 27 Aug 2014 00:26:01 +0000 (17:26 -0700)]
fsck.f2fs: retry to fix corrupted image
This patch adds a facility to retry conducting fsck.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Tue, 26 Aug 2014 23:28:12 +0000 (16:28 -0700)]
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>
Jaegeuk Kim [Tue, 19 Aug 2014 22:10:47 +0000 (15:10 -0700)]
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>
Jaegeuk Kim [Tue, 19 Aug 2014 21:05:21 +0000 (14:05 -0700)]
dump.f2fs: support dump_file from image
This patch adds supporting dump_file, which can extract a file from image.
You can simply select [yes|no] when doing dump.f2fs -i [inode number] [img].
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Tue, 29 Jul 2014 23:24:52 +0000 (16:24 -0700)]
mkfs.f2fs: remove build warning
Should be unsigned int for le32_to_cpu.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Tue, 29 Jul 2014 23:24:11 +0000 (16:24 -0700)]
tracepoint.sh: add missing tracepoints
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Sankalp Bose [Wed, 23 Jul 2014 00:28:14 +0000 (03:28 +0300)]
mkfs.f2fs: fix name conflict for BLKDISCARD
The compile time option BLKDISCARD conflicts with ioctl code
for discard. This causes discard to fail with "Info: This
device doesn't support TRIM". Rename compile time option
to WITH_BLKDISCARD.
Signed-off-by: Sankalp Bose <sankalp@tuxera.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Changman Lee [Thu, 10 Jul 2014 06:26:04 +0000 (15:26 +0900)]
mkfs.f2fs: large volume support
This patch supports large volume over about 3TB.
Signed-off-by: Changman Lee <cm224.lee@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Mark Salyzyn [Mon, 30 Jun 2014 20:57:17 +0000 (13:57 -0700)]
f2fs-tools: 64-bit compile issue
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Change-Id: I9398b877571d3dabbcb29c87a67d59672ea7fbaa
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
JP Abgrall [Fri, 13 Jun 2014 20:25:20 +0000 (13:25 -0700)]
libf2fs: move the finalize_device() into the io lib.
This is required so that libf2fs.c can be used against any kind
of device (E.g. an in-memory sparse file) just by linking against
something that provides the libf2fs_io.c functions.
libf2fs is currently libf2fs.c + libf2fs_io.c
Signed-off-by: JP Abgrall <jpa@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Fri, 13 Jun 2014 08:41:58 +0000 (17:41 +0900)]
mkfs: set BLKDISCARD by default
And let's show some debug info as well.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim [Fri, 13 Jun 2014 07:51:32 +0000 (16:51 +0900)]
libf2fs, fsck, mkfs: call f2fs_finalize_device before exit
The fsck tool should call f2fs_finalize_device before exit to close the device
file.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
JP Abgrall [Thu, 12 Jun 2014 04:55:38 +0000 (21:55 -0700)]
mkfs: support passing in the number of sectors to use
Adds the optional sectors count:
mkfs.f2fs [options] device [sectors]
Change-Id: I3ac83121576574bda074140ffa60195a2bc9947b
Signed-off-by: JP Abgrall <jpa@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
JP Abgrall [Thu, 12 Jun 2014 04:56:56 +0000 (21:56 -0700)]
License tweak: LGPL v2.1 vs LGPL v2
The important part is
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
Change-Id: Ic1a02ec5cfcb2bedda3d53f3061037e1e7437221
Signed-off-by: JP Abgrall <jpa@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Changman Lee [Mon, 12 May 2014 13:03:46 +0000 (22:03 +0900)]
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>
Jaegeuk Kim [Wed, 21 May 2014 03:05:31 +0000 (12:05 +0900)]
fibmap: need linux/fs.h for FIBMAP
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
JP Abgrall [Wed, 14 May 2014 00:02:55 +0000 (17:02 -0700)]
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>
Jaegeuk Kim [Fri, 9 May 2014 01:32:14 +0000 (10:32 +0900)]
f2fs: fix to remove the test code that should not be merged
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Jaegeuk Kim [Mon, 7 Apr 2014 03:10:59 +0000 (12:10 +0900)]
f2fs-tools: announce dual licenses with GPL and LGPL v2
This patch announces LGPL v2 for the following files.
- include/f2fs_fs.h
- lib/libf2fs.c
- lib/libf2fs_io.c
- mkfs/f2fs_format.c
- mkfs/f2fs_format_main.c
- mkfs/f2fs_format_utils.c
- mkfs/f2fs_format_utils.h
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
JP Abgrall [Mon, 31 Mar 2014 22:33:01 +0000 (15:33 -0700)]
format: add support for dev_fill() and extra dev_*() debugging.
Support an fs_io dev_fill().
This helps with devices that actually already return 0 on uninitialized
data. It also helps with in memory devices using sparse libs: don't
allocate a block of 0s.
Signed-off-by: JP Abgrall <jpa@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
JP Abgrall [Thu, 6 Feb 2014 03:54:12 +0000 (19:54 -0800)]
further split up lib2fs so that it does not do any IO directly.
This will allow turning mkfs into a libarary more easily.
Signed-off-by: JP Abgrall <jpa@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
JP Abgrall [Thu, 6 Feb 2014 03:53:19 +0000 (19:53 -0800)]
split up mkfs format into main and just the format code.
This will allow using the format code as a library.
Signed-off-by: JP Abgrall <jpa@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Dongho Sim [Wed, 26 Mar 2014 08:25:14 +0000 (08:25 +0000)]
mkfs: fix wrong extension count
fix an bug related to extension list.
there was the potential bug in set_cold_files function, namei.c.
Signed-off-by: Dongho Sim <dh.sim@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Natanael Copa [Mon, 3 Mar 2014 09:20:58 +0000 (09:20 +0000)]
fibmap.f2fs: compile fix for musl libc
Include sys/types.h for major/minor macros.
This fixes the following compile error with musl libc:
fibmap.o: In function `print_stat':
/home/ncopa/src/f2fs-tools/tools/fibmap.c:34: undefined reference to `minor'
/home/ncopa/src/f2fs-tools/tools/fibmap.c:34: undefined reference to `major'
fibmap.o: In function `stat_bdev':
/home/ncopa/src/f2fs-tools/tools/fibmap.c:54: undefined reference to `minor'
/home/ncopa/src/f2fs-tools/tools/fibmap.c:54: undefined reference to `major'
collect2: error: ld returned 1 exit status
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Jaegeuk Kim [Thu, 27 Feb 2014 11:12:35 +0000 (20:12 +0900)]
mkfs: support large directory
This patch synchronizes mkfs with the latest f2fs configuration in which
supports large directory by assigning dir_level.
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Jaegeuk Kim [Mon, 24 Feb 2014 23:07:25 +0000 (08:07 +0900)]
fsck: remove build warnings
This patch casts some variable types to remove build warnings.
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Changman Lee [Thu, 13 Feb 2014 06:13:23 +0000 (15:13 +0900)]
f2fstat: add nat caches and free nids
This patch shows nat caches and free nids using f2fs.
Signed-off-by: Changman Lee <cm224.lee@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Changman Lee [Thu, 13 Feb 2014 06:13:22 +0000 (15:13 +0900)]
f2fstat: show cp count calling f2fs
This patch is to inform how many checkpoint is called.
Signed-off-by: Changman Lee <cm224.lee@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Changman Lee [Thu, 6 Feb 2014 07:37:53 +0000 (16:37 +0900)]
f2fstat: add memory information used by f2fs
This patch adds memory information used by f2fs.
Signed-off-by: Changman Lee <cm224.lee@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Jaegeuk Kim [Wed, 5 Feb 2014 16:09:36 +0000 (01:09 +0900)]
mkfs, fsck: change the results for readability
This patch cleans up several printing formats.
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Changman Lee [Wed, 29 Jan 2014 04:36:54 +0000 (13:36 +0900)]
f2fstat: add option to select partition to see status
If there are some partitions, this may select a partition to see its
status. If no selection, you will see first section of status.
e.g.) f2fstat -p /dev/sda3
Signed-off-by: Changman Lee <cm224.lee@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Jaegeuk Kim [Tue, 28 Jan 2014 10:23:57 +0000 (19:23 +0900)]
mkfs: fix the wrong nat bitmap size
We should consider checksum bytes in the checkpoint block.
Previously, this bug incured very critical panics for node entry handling.
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Jaegeuk Kim [Mon, 20 Jan 2014 08:42:21 +0000 (17:42 +0900)]
f2fs-tools: resolve build warnings
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Changman Lee [Thu, 16 Jan 2014 03:01:27 +0000 (12:01 +0900)]
fibmap.f2fs: add bdev information
This patch shows devname and start_lba based on zero sector.
fibmap reports related lba, sometimes we want to know absolute lba of
file to compare with blktrace.
Signed-off-by: Changman Lee <cm224.lee@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Changman Lee [Thu, 16 Jan 2014 03:01:26 +0000 (12:01 +0900)]
f2fs-tools: move fsck/fibmap.f2fs to tools/
Let's move miscellaneous utilities into tools directory.
Signed-off-by: Changman Lee <cm224.lee@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Changman Lee [Fri, 10 Jan 2014 08:44:59 +0000 (17:44 +0900)]
f2fs-tools: add f2fstat to print f2fs's status in sec
This tool prints /sys/kernel/debug/f2fs/status in sec so that we
can monitor variation of f2fs status.
Signed-off-by: Changman Lee <cm224.lee@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
JP Abgrall [Fri, 10 Jan 2014 01:53:18 +0000 (17:53 -0800)]
mkfs: write the cp page 2 of the checkpoint pack 2 during format
Currently mkfs followed by fsck will fail with
[f2fs_crc_valid: 351] CRC validation failed: cal_crc =
4076150800 blk_crc = 0 buff_size = 0x0
This is because the validatie_checkpoint() tries to read and checksum the
cp page 2, and it is invoked on both cp packs.
But format only writes the page 1 of the 2nd checkpoint pack.
Signed-off-by: JP Abgrall <jpa@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>