The invalid checkpoin is freed in validate_checkpoint().
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fsck/mount.c | 11 +--
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/fsck/mount.c b/fsck/mount.c
index fe68f37..7533926 100644
--- a/fsck/mount.c
+++
Before copying an user specified extension to extension_list, check if it
is already in the list.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
mkfs/f2fs_format.c | 26 +-
1 file changed, 25 insertions(+), 1 deletion(-)
diff --git a/mkfs/f2fs_format.c
On 11/28/2015 10:31 AM, Chao Yu wrote:
> Hi Sheng Yong,
>
> On 11/28/15 8:39 AM, Sheng Yong wrote:
>>
>> On 11/27/2015 9:09 PM, Chao Yu wrote:
>>> Hi Sheng Yong,
>>>
>>> On 11/28/15 12:55 AM, Sheng Yong wrote:
>>>> Befo
On 11/28/2015 12:00 PM, Chao Yu wrote:
> On 11/28/15 11:07 AM, Sheng Yong wrote:
>> Before copying an user specified extension to extension_list, check if it
>> is already in the list.
>>
>> Signed-off-by: Sheng Yong <shengyo...@huawei.com>
&
Before copying an user specified extension to extension_list, check if it
is already in the list. User specified extensions are delimitted by token
either ',' or ' '.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
mkfs/f2fs_format.c | 20 +---
1 file changed, 17 inse
Hi, Chao Yu, Jaegeuk
I'm not sure if it is ok to send this patch out by me. If I did it the
wrong way, please ignore this patch.
thanks,
Sheng
On 11/30/2015 6:41 PM, Sheng Yong wrote:
> From: Chao Yu <chao2...@samsung.com>
>
> The length of extension name has a l
Before copying user specified extension to extension_list, check if it is
already in the list.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
mkfs/f2fs_format.c | 23 ++-
1 file changed, 22 insertions(+), 1 deletion(-)
diff --git a/mkfs/f2fs_format.c
If dotdot directory is corrupted, its slot may be ocupied by another
file. In this case, dentry[1] is not the parent directory. Rename and
cross-rename will update the inode in dentry[1] incorrectly. This
patch finds dotdot dentry by name.
Signed-off-by: Sheng Yong <shengyo...@huawei.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fsck/mount.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fsck/mount.c b/fsck/mount.c
index c758774..b5fbaaa 100644
--- a/fsck/mount.c
+++ b/fsck/mount.c
@@ -390,7 +390,7 @@ void *validate_checkpoint(
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
include/linux/f2fs_fs.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/linux/f2fs_fs.h b/include/linux/f2fs_fs.h
index 25c6324..2863274 100644
--- a/include/linux/f2fs_fs.h
+++ b/include/linux/f2fs_fs.h
@@
PATCH 1/4 cleans up get_{sb|cp} and set_{sb|cp} to integrate them into
get_val and set_val to avoid dumplicated definition of macro.
PATCH 3/4 and 4/4 check nat_entry->ino. If it is wrong, we drop
corresponding nodes.
thanks,
Sheng
Sheng Yong (4):
f2fs-tools: simplify get_{sb|cp} and set_
* Remove dumplicated definitions of get_{sb|cp} and set_{sb|cp}, and introduce
micros get_val and set_val instead.
* Add a new parameter to get_val and set_val so that they are not depended on
implied definition of `sb' and `cp'.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
If a nid is valid, the ino in its nat entry should record its parent nid.
However if the ino is zero, we should drop the node.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
Signed-off-by: Xue Liu <liuxueliu@huawei.com>
---
fsck/fsck.c | 5 +
1 file changed, 5 inserti
If the node is an inode, its ino in the nat entry should be equal to the
ino in its node footer. Otherwise, we drop the file.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
Signed-off-by: Xue Liu <liuxueliu@huawei.com>
---
fsck/fsck.c | 5 +
1 file changed, 5 insertions(+)
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
include/f2fs_fs.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/f2fs_fs.h b/include/f2fs_fs.h
index 2ab9f49..1b02d16 100644
--- a/include/f2fs_fs.h
+++ b/include/f2fs_fs.h
@@ -677,7 +677,7 @@ struct f2fs_s
s a trivial cleanup. I think it's ok to
keep it as it is now :)
thanks,
Sheng
> Thanks,
>
> On Sat, Jan 30, 2016 at 09:16:36AM +, Sheng Yong wrote:
>> * Remove dumplicated definitions of get_{sb|cp} and set_{sb|cp}, and
>> introduce
>> micros get_val and set_
-off-by: Sheng Yong <shengyo...@huawei.com>
---
fsck/fsck.c| 20 ++---
fsck/main.c| 8 +-
fsck/mount.c | 146 -
include/f2fs_fs.h | 88
mkfs/f2fs_format.c | 234 ++
The first nat entry must be null. If it is corrupted, we set its bit in
nat_area_bitmap, without increasing valid_nat_entry_cnt, fsck_verify will
nullify it at last.
Reported-by: Cheng Yinchao <chengyinc...@huawei.com>
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fsck/
d bugs [Fail]
=
So let's clean it.
Reported-by: Chen Yinchao <chengyinc...@huawei.com>
Signed-off-by: Liu Xue <liuxueliu@huawei.com>
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fsck/fsck.c | 46 --
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fs/f2fs/super.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index 28c8992..0e54e84 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -1417,7 +1417,7 @@ stat
This patch introduces a new struct f2fs_fault_info and a global f2fs_fault
to save fault injection status.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fs/f2fs/f2fs.h | 12
fs/f2fs/super.c | 1 +
2 files changed, 13 insertions(+)
diff --git a/fs/f2fs/f2fs.h b/f
Replace mount option "f2fs_injection" by injection attributes in sysfs.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fs/f2fs/f2fs.h | 24 ++--
fs/f2fs/super.c | 15 ---
2 files changed, 18 insertions(+), 21 deletions(-)
diff --git a/fs/
Replace mount option "f2fs_injection" by injection attributes in sysfs.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fs/f2fs/f2fs.h | 24 ++--
fs/f2fs/super.c | 18 --
2 files changed, 18 insertions(+), 24 deletions(-)
diff --git a/
Hi, Kim
On 5/13/2016 10:47 AM, Jaegeuk Kim wrote:
> Hi Sheng,
>
> On Fri, May 13, 2016 at 10:22:40AM +0800, Sheng Yong wrote:
>> This patch introduces a new struct f2fs_fault_info and a global f2fs_fault
>> to save fault injection status. All fault injection interfaces are
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fs/f2fs/super.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index 28c8992..0e54e84 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -1417,7 +1417,7 @@ stat
This patch introduces a new struct f2fs_fault_info and a global f2fs_fault
to save fault injection status. Fault injection entries are created in
/sys/fs/f2fs/fault_injection/ during initializing f2fs module.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
v3:
* Integrate all fault
This patch introduces a new struct f2fs_fault_info and a global f2fs_fault
to save fault injection status. All fault injection interfaces are created
in /sys/fs/f2fs/fault_injection during initializing f2fs module.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fs/f2fs/f2fs.h
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fs/f2fs/super.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index 28c8992..0e54e84 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -1417,7 +1417,7 @@ stat
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fsck/mount.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/fsck/mount.c b/fsck/mount.c
index e0223e0..3e3d176 100644
--- a/fsck/mount.c
+++ b/fsck/mount.c
@@ -70,6 +70,7 @@ void print_inode_info(struct f2fs_inode *inode, in
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fsck/fsck.c | 7 +++
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/fsck/fsck.c b/fsck/fsck.c
index 8a6373b..f349bd8 100644
--- a/fsck/fsck.c
+++ b/fsck/fsck.c
@@ -736,7 +736,7 @@ void fsck_chk_inode_blk(struct f2fs_s
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fsck/fsck.c | 2 +-
fsck/mount.c | 8
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/fsck/fsck.c b/fsck/fsck.c
index c24eb58..8a6373b 100644
--- a/fsck/fsck.c
+++ b/fsck/fsck.c
@@ -383,7 +383,7 @@ stat
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fsck/fsck.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fsck/fsck.c b/fsck/fsck.c
index f349bd8..33e8cf7 100644
--- a/fsck/fsck.c
+++ b/fsck/fsck.c
@@ -369,7 +369,7 @@ static int sanity_check_nid(struct f2fs_s
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fsck/mount.c| 4 ++--
fsck/resize.c | 4 ++--
mkfs/f2fs_format.c | 28 ++--
mkfs/f2fs_format_main.c | 4 ++--
4 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/fsck/mou
From: Xue Liu
From: Xue Liu
Call current_nat_addr() to calculate nat block address.
Signed-off-by: Xue Liu
---
fsck/mount.c | 56
1 file changed, 8
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fsck/fsck.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/fsck/fsck.c b/fsck/fsck.c
index 33e8cf7..d2248c6 100644
--- a/fsck/fsck.c
+++ b/fsck/fsck.c
@@ -1953,6 +1953,9 @@ void fsck_free(struct f2fs_sb_info *sbi)
if
Hi, Kinglong
On 1/24/2017 10:42 AM, Kinglong Mee wrote:
> wanted_total_sectors is introduced instead total_sectors,
> so that, the initialize is a fault, drop it.
>
> Signed-off-by: Kinglong Mee
> ---
> mkfs/f2fs_format_main.c | 3 ---
> 1 file changed, 3 deletions(-)
>
It is reported that fsck.f2fs behaves abnormally when running on MIPS32
rel 2 big endian cpu, since incorrect endianness. So let's correct all
endianess issues of f2fs-tools.
Reported-by: <k...@vodka.home.kg>
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fsck/dir.c
This patch allows fsck run -p without argument. So we could use -p as
-p, -p0, and -p1. '-p' and '-p0' have the same meaning as '-a'.
'-p1' checks more meta data than '-a'.
Reported-by: KARBOWSKI Piotr <piotr.karbow...@gmail.com>
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
Hi Jaegeuk,
On 1/20/2017 5:47 PM, Jaegeuk Kim wrote:
> On 01/20, Sheng Yong wrote:
[..]
>>>
>>> if (!strcmp("fsck.f2fs", prog)) {
>>> - const char *option_string = "ad:fp:t";
>>> + const char *option_string = &
Hi Jaegeuk,
On 1/20/2017 7:19 AM, Jaegeuk Kim wrote:
> Hi Sheng Yong,
>
> I tested this, but failed on -p with arguments.
Sorry, this may because double colon in optsting can only be used
at some Unix-like distributions :(
>
> Could you take a look at this change?
I te
`flags' is used to save value from userspace, there is no need to
initialize it, and FS_FL_USER_VISIBLE is the mask for getflags.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fs/f2fs/file.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/f2fs/file.c b/f
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fs/f2fs/gc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c
index c9b8a67..93985c6 100644
--- a/fs/f2fs/gc.c
+++ b/fs/f2fs/gc.c
@@ -275,7 +275,7 @@ static int get_victim_by_default(
If fscrypt is enabled, we need to convert the encrypted file name before
printing it. So let's export convert_encrypted_name for other functions,
and make it returns the length of converted string.
This patch also changes the parameter of file_is_encrypt to f2fs_inode.
Signed-off-by: Sheng Yong
Hi, Jaegeuk,
On 10/24/2016 10:16 AM, Sheng Yong wrote:
> If fscrypt is enabled, we need to convert the encrypted file name before
> printing it. So let's export convert_encrypted_name for other functions,
> and make it returns the length of converted string.
> This patch
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fsck/f2fs.h | 2 --
fsck/xattr.h | 1 -
2 files changed, 3 deletions(-)
diff --git a/fsck/f2fs.h b/fsck/f2fs.h
index fbb878a..1a0723c 100644
--- a/fsck/f2fs.h
+++ b/fsck/f2fs.h
@@ -19,8 +19,6 @@
#include
#include
#include
-#i
> [FSCK] valid_inode_count matched with CP [Ok..] [0x1]
> [FSCK] free segment_count matched with CP [Ok..] [0x24]
> [FSCK] next block offset is free [Ok..]
> [FSCK] fixing SIT types
> [FSCK] other corrupted bugs [Ok..]
>
Reported-by: <k...@vodka.home.kg>
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
Hi, k
Could you please try this? I think I've correct all endianness issue.
And can I have your reported-by and test-by?
thanks,
Sheng
---
fsck/dir.c| 6 +++---
fsck/dump.
Hi,
On 11/25/2016 6:30 AM, k...@vodka.home.kg wrote:
> Hi !
>
> I'm using f2fs on router Dlink dir-825 with openwrt/LEDE firmware.
> Its mips32 rel 2 big endian cpu.
>
> mkfs.f2fs - works
> mount - works
> fsck.f2fs - corrupts filesystem
>
> # i'm trying to fsck valid empty mountable f2fs
This patch checks the parameter range passed by ioctl to void that range
exceeds the max_file_blocks limit.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fs/f2fs/file.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index e0b2378..eb675f1
Hi, Jaegeuk
On 2017/7/1 23:10, Jaegeuk Kim wrote:
Hi,
On 06/26, Sheng Yong wrote:
After renaming a directory, fsck could detect unmatched pino. The scenario
can be reproduced as the following:
$ mkdir /bar/subbar /foo
$ rename /bar/subbar /foo
Then fsck will report:
[ASSERT
be reproduced as the following:
$ mkdir /bar/subbar /foo
$ rename /bar/subbar /foo
Then fsck will report:
[ASSERT] (__chk_dots_dentries:1182) --> Bad inode number[0x3] for '..', parent
parent ino is [0x4]
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fs/f2fs/di
Since directories will be written back with checkpoint and fsync a
directory will always write CP, there is no need to set LOST_PINO
after creating a directory.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fs/f2fs/dir.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff
ino is [0x4]
Rename sets LOST_PINO for old_inode. However, the flag cannot be cleared,
since dir is written back with CP. So, let's get rid of LOST_PINO for a
renamed dir and fix the pino directly at the end of rename.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fs/f2fs/namei.c | 5
0m01.94s user 0m50.80s system
enable readdir_ra: 0m18.55s real 0m00.44s user 0m15.39s system
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
Documentation/ABI/testing/sysfs-fs-f2fs | 6 ++
fs/f2fs/dir.c | 4
fs/f2fs/f2fs.h
If there is not enough space left, f2fs_preallocate_blocks may only
preallocte partial blocks. As a result, the write operation fails
but i_blocks is not 0. To avoid this, f2fs should write data in
non-preallocation way and write as many data as the size of i_blocks.
Signed-off-by: Sheng Yong
Commit d260081ccf37 ("f2fs: change recovery policy of xattr node block")
removes the use of blkaddr, which is no longer used. So remove the
parameter.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fs/f2fs/f2fs.h | 3 +--
fs/f2fs/node.c | 2 +-
fs/f2fs/recovery
On 2017/12/15 14:26, Yunlong Song wrote:
Signed-off-by: Yunlong Song
---
fsck/fsck.c | 11 ++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/fsck/fsck.c b/fsck/fsck.c
index 11b8b0b..2212aa3 100644
--- a/fsck/fsck.c
+++ b/fsck/fsck.c
@@ -14,6
On 2017/12/15 14:25, Yunlong Song wrote:
Signed-off-by: Yunlong Song
---
fsck/fsck.c | 19 ---
1 file changed, 16 insertions(+), 3 deletions(-)
diff --git a/fsck/fsck.c b/fsck/fsck.c
index 2212aa3..8ff4e4b 100644
--- a/fsck/fsck.c
+++ b/fsck/fsck.c
This patch removes an extra '\n' at the end of the string in FIX_MSG.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fsck/fsck.c | 4 ++--
fsck/mount.c | 3 ++-
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/fsck/fsck.c b/fsck/fsck.c
index 77490d8..1905319
With --dry-run enabled, fsck.f2fs will do all checks and "fixes" except
that all fixes will not be written to storage at last.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
Reviewed-by: Chao Yu <yuch...@huawei.com>
---
fsck/main.c | 14 +-
include
Do not set fix_on if it is allowed by user.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fsck/main.c | 2 +-
fsck/mount.c | 1 -
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/fsck/main.c b/fsck/main.c
index c9411eb..93037e1 100644
--- a/fsck/main.c
+++ b/fsck/
This patch exports read_all_xattrs to allow dump/fsck to get all xattrs,
and introduces print_xattr_entry which tries to parse an xattr entry
accroding to its xattr index.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fsck/dump.c | 18 -
fsck/fsck.h | 7 +++-
fsck/m
This patch introduces dump_xattr to create xattrs for dumped files.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fsck/dump.c | 63 ++---
1 file changed, 60 insertions(+), 3 deletions(-)
diff --git a/fsck/dump.c b/fsck/dump.c
f2fs_iget checks if i_mode is valid. If it is not, the file cannot be
accessed as well as deleted. To make sure such files can be removed,
fsck adds the same check, and removes incorrect inode blocks.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fsck/fsck.c | 21 ++
If a file is encrypted, its content is cipher text on the storage. So
there is no need to dump an encrypted file.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
Reviewed-by: Chao Yu <yuch...@huawei.com>
---
fsck/dump.c | 12
1 file changed, 8 insertions(+), 4 deleti
v1-v2:
[PATCH 3] print values of USER/SECRUITY xattr as hex instead of plain text.
[PATCH 4] replace xattr value if it already exists by setting parameter
`flags' as 0 of fsetxattr.
[PATCH 1/7] move message printing modification into a different patch.
thanks,
Sheng
Sheng Yong (9
Commit 7d96d138a378 ("fsck.f2fs: remove list.h") has already the usage
of list.h. So let's remove list.h itself.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
Reviewed-by: Chao Yu <yuch...@huawei.com>
---
include/list.h | 88
Fixing corrupted data depends on c.fix_on. If it's not set, we should not
force fixing corrupted data. So if nat entries are found invalid when
building nat_area_bitmap, we should just set c.bug_on, and fix it later.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
Reviewed-by: Chao Yu
This patch exports read_all_xattrs to allow dump/fsck to get all xattrs,
and introduces print_xattr_entry which tries to parse an xattr entry
accroding to its xattr index.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
v3->v5:
Please ignore the previous [PATCH v3/v4] because o
This patch exports read_all_xattrs to allow dump/fsck to get all xattrs,
and introduces print_xattr_entry which tries to parse an xattr entry
accroding to its xattr index.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
v2->v3:
check if is supported. If it is not, print ACL val
This patch exports read_all_xattrs to allow dump/fsck to get all xattrs,
and introduces print_xattr_entry which tries to parse an xattr entry
accroding to its xattr index.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
v3->v4:
Please ignore the previous [PATCH v3] because o
This patch exports read_all_xattrs to allow dump/fsck to get all xattrs,
and introduces print_xattr_entry which tries to parse an xattr entry
accroding to its xattr index.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fsck/dump.c | 18 -
fsck/fsck.h | 7 +++-
fsck/m
Fixing corrupted data depends on c.fix_on. If it's not set, we should not
force fixing corrupted data. So if nat entries are found invalid when
building nat_area_bitmap, we should just set c.bug_on, and fix it later.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fsck/mount.
If a file is encrypted, its content is cipher text on the storage. So
there is no need to dump an encrypted file.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fsck/dump.c | 12
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/fsck/dump.c b/fsck/dump.c
This patch introduces dump_xattr to create xattrs for dumped files.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fsck/dump.c | 63 ++---
1 file changed, 60 insertions(+), 3 deletions(-)
diff --git a/fsck/dump.c b/fsck/dump.c
Do not set fix_on if it is allowed by user.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fsck/main.c | 2 +-
fsck/mount.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/fsck/main.c b/fsck/main.c
index c9411eb..93037e1 100644
--- a/fsck/main.c
+++ b/fsck/
f2fs_iget checks if i_mode is valid. If it is not, the file cannot be
accessed as well as deleted. To make sure such files can be removed,
fsck adds the same check, and removes incorrect inode blocks.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fsck/fsck.c
Commit 7d96d138a378 ("fsck.f2fs: remove list.h") has already the usage
of list.h. So let's remove list.h itself.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
include/list.h | 88 --
1 file changed, 88 deletions
With --dry-run enabled, fsck.f2fs will do all checks and "fixes" except
that all fixes will not be written to storage at last.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fsck/main.c | 14 +-
include/f2fs_fs.h | 1 +
lib/libf2fs.c | 1 +
lib/li
Hi, Chao
On 2017/10/31 15:20, Chao Yu wrote:
On 2017/10/31 9:38, Sheng Yong wrote:
Fixing corrupted data depends on c.fix_on. If it's not set, we should not
force fixing corrupted data. So if nat entries are found invalid when
building nat_area_bitmap, we should just set c.bug_on, and fix
On 2017/10/31 15:51, Chao Yu wrote:
On 2017/10/31 9:38, Sheng Yong wrote:
[...]
+
+void print_xattr_entry(struct f2fs_xattr_entry *ent)
+{
+ char *value = (char *)(ent->e_name + le16_to_cpu(ent->e_name_len));
+ struct fscrypt_context *ctx;
+ int i;
+
+ MSG(0, &q
On 2017/10/31 15:57, Chao Yu wrote:
On 2017/10/31 9:38, Sheng Yong wrote:
If a file is encrypted, its content is cipher text on the storage. So
there is no need to dump an encrypted file.
IMO, if user have encryption key, it still has chance to read that file,
right? So how about keeping
On 2017/10/31 15:51, Chao Yu wrote:
On 2017/10/31 9:38, Sheng Yong wrote:
This patch introduces dump_xattr to create xattrs for dumped files.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fsck/dump.c | 63 ++---
On 2017/10/31 15:57, Chao Yu wrote:
On 2017/10/31 9:38, Sheng Yong wrote:
With --dry-run enabled, fsck.f2fs will do all checks and "fixes" except
that all fixes will not be written to storage at last.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fsck/m
On 2017/10/31 16:04, Chao Yu wrote:
On 2017/10/31 9:38, Sheng Yong wrote:
f2fs_iget checks if i_mode is valid. If it is not, the file cannot be
accessed as well as deleted. To make sure such files can be removed,
fsck adds the same check, and removes incorrect inode blocks.
Signed-off
On 2017/10/31 15:06, Chao Yu wrote:
On 2017/10/31 9:38, Sheng Yong wrote:
Do not set fix_on if it is allowed by user.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fsck/main.c | 2 +-
fsck/mount.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/fsck/
If SBI_NEED_FSCK is set, discard_wake will never be cleared. As a
result, the condition of wait_event_interruptible_timeout() is always
true, which gets discard thread run too frequently.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fs/f2fs/segment.c | 7 ---
1 file chan
move_curseg_info->reset_curseg changes cursegs, however, new segment
entries are not set as dirty. As a result, flush_sit_entries will not
update entries in SIT, especially when an empty segment is selected
as the new curseg, its seg_entry->type is lost.
Signed-off-by: Sheng Yong
---
If curseg is an empty segment, it will not be checked. This patch
introduces fsck_chk_curseg_info() to check SIT/SSA type of cursegs
to avoid curseg corruption.
Signed-off-by: Sheng Yong
---
fsck/fsck.c | 34 ++
fsck/fsck.h | 1 +
fsck/main.c | 2 ++
3 files
flush_sit_entries() is always called before write_checkpoint(). Since
free_segs is counted in write_checkpoint, there is no need to do that
in flush_sit_entries. Besides, the value of free_segs may be not
correct if we skip uptodate seg_entries.
Signed-off-by: Sheng Yong
---
fsck/mount.c | 7
resize.f2fs (f2fs_defragment) tries to migrate blocks to new positions.
However, if a curseg is selected, and f2fs_defragment is broken by any
error, curseg->next_blkoff is left not updated.
To avoid this, we skip cursegs when finding next free block.
Signed-off-by: Sheng Yong
---
fsck/f2f
Hi, Jaegeuk
On 2018/6/5 4:55, Jaegeuk Kim wrote:
On 06/04, Sheng Yong wrote:
resize.f2fs (f2fs_defragment) tries to migrate blocks to new positions.
However, if a curseg is selected, and f2fs_defragment is broken by any
error, curseg->next_blkoff is left not updated.
To avoid this, we s
If a quota node is corrupted, it may be removed. Then its qf_ino should
also be removed.
Signed-off-by: Sheng Yong
---
fsck/fsck.c | 19 +--
fsck/fsck.h | 1 +
fsck/mount.c | 2 +-
3 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/fsck/fsck.c b/fsck/fsck.c
Check extent for inline data/dentry inode. If an inode contains inline
data/dentry, it should have no extent.
Link: https://bugzilla.kernel.org/show_bug.cgi?id=200175
Reported-by: Wen Xu
Signed-off-by: Sheng Yong
---
fsck/fsck.c | 16 +++-
fsck/fsck.h | 1 +
2 files changed, 12
Check extra_attr feature for inode. If it is corrupted, remove the
inode.
Link: https://bugzilla.kernel.org/show_bug.cgi?id=200219
Reported-by: Wen Xu
Signed-off-by: Sheng Yong
---
fsck/fsck.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/fsck/fsck.c b/fsck/fsck.c
index 15264b2
k+0x3a7/0x6f0
[ 246.756533] worker_thread+0x82/0x750
[ 246.756537] kthread+0x16f/0x1c0
[ 246.756541] ? trace_event_raw_event_workqueue_work+0x110/0x110
[ 246.756544] ? kthread_create_worker_on_cpu+0xb0/0xb0
[ 246.756548] ret_from_fork+0x1f/0x30
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
0
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
v2->v1: do not change the index in meta inode
make move_data_block aware EAGAIN error
---
fs/f2fs/gc.c | 7 ++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c
index 33e79697e41c..aa720c
sb_getblk does not guarantee the buffer head is uptodate. If bh is not
uptodate, the data (may be used as boot code) in area before
F2FS_SUPER_OFFSET may get corrupted when super block is committed.
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
fs/f2fs/super.c | 4 ++--
1 file chan
Hi, Chao
On 2018/1/29 16:27, Chao Yu wrote:
On 2018/1/29 16:04, Sheng Yong wrote:
sb_getblk does not guarantee the buffer head is uptodate. If bh is not
uptodate, the data (may be used as boot code) in area before
Why boot code can be stored into the position f2fs superblock locates
On 2018/1/29 16:58, Chao Yu wrote:
Hi Sheng Yong,
On 2018/1/29 16:39, Sheng Yong wrote:
Hi, Chao
On 2018/1/29 16:27, Chao Yu wrote:
On 2018/1/29 16:04, Sheng Yong wrote:
sb_getblk does not guarantee the buffer head is uptodate. If bh is not
uptodate, the data (may be used as boot code
1 - 100 of 231 matches
Mail list logo