From: Gabriel Krisman Bertazi <hidden> Date: 2021-08-02 21:46:59
FAN_FS_ERROR is a new (still unmerged) fanotify event to monitor
fileystem errors. This patchset introduces a new LTP test for this
feature.
Testing file system errors is slightly tricky, in particular because
they are mostly file system dependent. Since there are only patches for
ext4, I choose to make the test around it, since there wouldn't be much
to do with other file systems. The second challenge is how we cause the
file system errors, since there is no error injection for ext4 in Linux.
In this series, this is done by corrupting specific data in the
test device with the help of debugfs.
The FAN_FS_ERROR feature is flying around linux-ext4 and fsdevel, and
the latest version is available on the branch below:
https://gitlab.collabora.com/krisman/linux -b fanotify-notifications-single-slot
A proper manpage description is also available on the respective mailing
list, or in the branch below:
https://gitlab.collabora.com/krisman/man-pages.git -b fan-fs-error
Please, let me know your thoughts.
Gabriel Krisman Bertazi (7):
syscalls/fanotify20: Introduce helpers for FAN_FS_ERROR test
syscalls/fanotify20: Validate the generic error info
syscalls/fanotify20: Validate incoming FID in FAN_FS_ERROR
syscalls/fanotify20: Watch event after filesystem abort
syscalls/fanotify20: Support submission of debugfs commands
syscalls/fanotify20: Test file event with broken inode
syscalls/fanotify20: Test capture of multiple errors
testcases/kernel/syscalls/fanotify/.gitignore | 1 +
.../kernel/syscalls/fanotify/fanotify20.c | 328 ++++++++++++++++++
2 files changed, 329 insertions(+)
create mode 100644 testcases/kernel/syscalls/fanotify/fanotify20.c
--
2.32.0
From: Gabriel Krisman Bertazi <hidden> Date: 2021-08-02 21:47:02
fanotify20 is a new test validating the FAN_FS_ERROR file system error
event. This adds some basic structure for the next patches.
The strategy for error reporting testing in fanotify20 goes like this:
- Generate a broken filesystem
- Start FAN_FS_ERROR monitoring group
- Make the file system notice the error through ordinary operations
- Observe the event generated
Signed-off-by: Gabriel Krisman Bertazi <redacted>
---
testcases/kernel/syscalls/fanotify/.gitignore | 1 +
.../kernel/syscalls/fanotify/fanotify20.c | 135 ++++++++++++++++++
2 files changed, 136 insertions(+)
create mode 100644 testcases/kernel/syscalls/fanotify/fanotify20.c
From: Gabriel Krisman Bertazi <hidden> Date: 2021-08-02 21:47:06
Implement some validation for the generic error info record emitted by
the kernel. The error number is fs-specific but, well, we only support
ext4 for now anyway.
Signed-off-by: Gabriel Krisman Bertazi <redacted>
---
.../kernel/syscalls/fanotify/fanotify20.c | 59 ++++++++++++++++++-
1 file changed, 58 insertions(+), 1 deletion(-)
From: Gabriel Krisman Bertazi <hidden> Date: 2021-08-02 21:47:10
Verify the FID provided in the event. If the testcase has a null inode,
this is assumed to be a superblock error (i.e. null FH).
Signed-off-by: Gabriel Krisman Bertazi <redacted>
---
.../kernel/syscalls/fanotify/fanotify20.c | 51 +++++++++++++++++++
1 file changed, 51 insertions(+)
@@ -57,6 +65,9 @@ static const struct test_case {char*name;interror;unsignedinterror_count;++/* inode can be null for superblock errors */+unsignedint*inode;void(*trigger_error)(void);void(*prepare_fs)(void);}testcases[]={
@@ -83,6 +94,42 @@ struct fanotify_event_info_header *get_event_info(((structfanotify_event_info_error*)\get_event_info((event),FAN_EVENT_INFO_TYPE_ERROR))+#define get_event_info_fid(event) \+((structfanotify_event_info_fid*)\+get_event_info((event),FAN_EVENT_INFO_TYPE_FID))++intcheck_error_event_info_fid(structfanotify_event_info_fid*fid,+conststructtest_case*ex)+{+intfail=0;+structfile_handle*fh=(structfile_handle*)&fid->handle;++if(!ex->inode){+uint32_t*h=(uint32_t*)fh->f_handle;++if(!(fh->handle_type==FILEID_INVALID&&!h[0]&&!h[1])){+tst_res(TFAIL,"%s: file handle should have been invalid",+ex->name);+fail++;+}+returnfail;+}elseif(fh->handle_type==FILEID_INO32_GEN){+uint32_t*h=(uint32_t*)fh->f_handle;++if(h[0]!=*ex->inode){+tst_res(TFAIL,+"%s: Unexpected file handle inode (%u!=%u)",+ex->name,*ex->inode,h[0]);+fail++;+}+}else{+tst_res(TFAIL,"%s: Test can't handle received FH type (%d)",+ex->name,fh->handle_type);+}++returnfail;+}+intcheck_error_event_info_error(structfanotify_event_info_error*info_error,conststructtest_case*ex){
From: Gabriel Krisman Bertazi <hidden> Date: 2021-08-02 21:47:14
This test monitors the EXT4 specific error triggered after a file system
abort. It works by forcing a remount with the option "abort". This is
an error not related to a file so it is reported against the superblock
with a NULL FH.
Signed-off-by: Gabriel Krisman Bertazi <redacted>
---
testcases/kernel/syscalls/fanotify/fanotify20.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
From: Gabriel Krisman Bertazi <hidden> Date: 2021-08-02 21:47:18
In order to test FAN_FS_ERROR, we want to corrupt the filesystem. The
easiest way to do it is by using debugfs. Add a small helper to issue
debugfs requests. Since most likely this will be the only testcase to
need this, don't bother making it a proper helper for now.
Signed-off-by: Gabriel Krisman Bertazi <redacted>
---
testcases/kernel/syscalls/fanotify/fanotify20.c | 7 +++++++
1 file changed, 7 insertions(+)
From: Gabriel Krisman Bertazi <hidden> Date: 2021-08-02 21:47:25
This test corrupts an inode entry with an invalid mode through debugfs
and then tries to access it. This should result in a ext4 error, which
we monitor through the fanotify group.
Signed-off-by: Gabriel Krisman Bertazi <redacted>
---
.../kernel/syscalls/fanotify/fanotify20.c | 38 +++++++++++++++++++
1 file changed, 38 insertions(+)
@@ -76,6 +76,36 @@ static void trigger_fs_abort(void)MS_REMOUNT|MS_RDONLY,"abort");}+#define TCASE2_BASEDIR "tcase2"+#define TCASE2_BAD_DIR TCASE2_BASEDIR"/bad_dir"++staticunsignedinttcase2_bad_ino;+staticvoidtcase2_prepare_fs(void)+{+structstatstat;++SAFE_MKDIR(MOUNT_PATH"/"TCASE2_BASEDIR,0777);+SAFE_MKDIR(MOUNT_PATH"/"TCASE2_BAD_DIR,0777);++SAFE_STAT(MOUNT_PATH"/"TCASE2_BAD_DIR,&stat);+tcase2_bad_ino=stat.st_ino;++SAFE_UMOUNT(MOUNT_PATH);+do_debugfs_request(tst_device->dev,"sif "TCASE2_BAD_DIR" mode 0xff");+SAFE_MOUNT(tst_device->dev,MOUNT_PATH,tst_device->fs_type,0,NULL);+}++staticvoidtcase2_trigger_lookup(void)+{+intret;++/* SAFE_OPEN cannot be used here because we expect it to fail. */+ret=open(MOUNT_PATH"/"TCASE2_BAD_DIR,O_RDONLY,0);+if(ret!=-1&&errno!=EUCLEAN)+tst_res(TFAIL,"Unexpected lookup result(%d) of %s (%d!=%d)",+ret,TCASE2_BAD_DIR,errno,EUCLEAN);+}+staticconststructtest_case{char*name;interror;
@@ -92,6 +122,14 @@ static const struct test_case {.error_count=1,.error=EXT4_ERR_ESHUTDOWN,.inode=NULL+},+{+.name="Lookup of inode with invalid mode",+.prepare_fs=tcase2_prepare_fs,+.trigger_error=&tcase2_trigger_lookup,+.error_count=1,+.error=0,+.inode=&tcase2_bad_ino,}};
From: Gabriel Krisman Bertazi <hidden> Date: 2021-08-02 21:47:27
When multiple FS errors occur, only the first is stored. This testcase
validates this behavior by issuing two different errors and making sure
only the first is stored, while the second is simply accumulated in
error_count.
Signed-off-by: Gabriel Krisman Bertazi <redacted>
---
.../kernel/syscalls/fanotify/fanotify20.c | 25 +++++++++++++++++++
1 file changed, 25 insertions(+)
From: Amir Goldstein <amir73il@gmail.com> Date: 2021-08-03 08:30:52
On Tue, Aug 3, 2021 at 12:47 AM Gabriel Krisman Bertazi
[off-list ref] wrote:
quoted hunk
fanotify20 is a new test validating the FAN_FS_ERROR file system error
event. This adds some basic structure for the next patches.
The strategy for error reporting testing in fanotify20 goes like this:
- Generate a broken filesystem
- Start FAN_FS_ERROR monitoring group
- Make the file system notice the error through ordinary operations
- Observe the event generated
Signed-off-by: Gabriel Krisman Bertazi <redacted>
---
testcases/kernel/syscalls/fanotify/.gitignore | 1 +
.../kernel/syscalls/fanotify/fanotify20.c | 135 ++++++++++++++++++
2 files changed, 136 insertions(+)
create mode 100644 testcases/kernel/syscalls/fanotify/fanotify20.c
This will cause test to fail on old kernels.
You need to start this test with
fanotify_events_supported_by_kernel(FAN_FS_ERROR)
but you cannot use it as is.
Create a macro like
REQUIRE_FANOTIFY_INIT_FLAGS_SUPPORTED_ON_FS
which calls fanotify_init_flags_err_msg(...fanotify_events_supported_by_kernel())
and pass init flags as argument to fanotify_events_supported_by_kernel()
instead of using hardcoded flags FAN_CLASS_CONTENT.
From: Amir Goldstein <amir73il@gmail.com> Date: 2021-08-03 08:42:30
On Tue, Aug 3, 2021 at 12:47 AM Gabriel Krisman Bertazi
[off-list ref] wrote:
quoted hunk
Implement some validation for the generic error info record emitted by
the kernel. The error number is fs-specific but, well, we only support
ext4 for now anyway.
Signed-off-by: Gabriel Krisman Bertazi <redacted>
---
.../kernel/syscalls/fanotify/fanotify20.c | 59 ++++++++++++++++++-
1 file changed, 58 insertions(+), 1 deletion(-)
From: Amir Goldstein <amir73il@gmail.com> Date: 2021-08-03 08:56:44
On Tue, Aug 3, 2021 at 12:47 AM Gabriel Krisman Bertazi
[off-list ref] wrote:
quoted hunk
Verify the FID provided in the event. If the testcase has a null inode,
this is assumed to be a superblock error (i.e. null FH).
Signed-off-by: Gabriel Krisman Bertazi <redacted>
---
.../kernel/syscalls/fanotify/fanotify20.c | 51 +++++++++++++++++++
1 file changed, 51 insertions(+)
From: Amir Goldstein <amir73il@gmail.com> Date: 2021-08-03 09:04:27
On Tue, Aug 3, 2021 at 12:47 AM Gabriel Krisman Bertazi
[off-list ref] wrote:
quoted hunk
This test corrupts an inode entry with an invalid mode through debugfs
and then tries to access it. This should result in a ext4 error, which
we monitor through the fanotify group.
Signed-off-by: Gabriel Krisman Bertazi <redacted>
---
.../kernel/syscalls/fanotify/fanotify20.c | 38 +++++++++++++++++++
1 file changed, 38 insertions(+)
From: Amir Goldstein <amir73il@gmail.com> Date: 2021-08-03 09:08:24
On Tue, Aug 3, 2021 at 12:47 AM Gabriel Krisman Bertazi
[off-list ref] wrote:
quoted hunk
This test corrupts an inode entry with an invalid mode through debugfs
and then tries to access it. This should result in a ext4 error, which
we monitor through the fanotify group.
Signed-off-by: Gabriel Krisman Bertazi <redacted>
---
.../kernel/syscalls/fanotify/fanotify20.c | 38 +++++++++++++++++++
1 file changed, 38 insertions(+)
@@ -76,6 +76,36 @@ static void trigger_fs_abort(void)MS_REMOUNT|MS_RDONLY,"abort");}+#define TCASE2_BASEDIR "tcase2"+#define TCASE2_BAD_DIR TCASE2_BASEDIR"/bad_dir"++staticunsignedinttcase2_bad_ino;+staticvoidtcase2_prepare_fs(void)+{+structstatstat;++SAFE_MKDIR(MOUNT_PATH"/"TCASE2_BASEDIR,0777);+SAFE_MKDIR(MOUNT_PATH"/"TCASE2_BAD_DIR,0777);++SAFE_STAT(MOUNT_PATH"/"TCASE2_BAD_DIR,&stat);+tcase2_bad_ino=stat.st_ino;++SAFE_UMOUNT(MOUNT_PATH);+do_debugfs_request(tst_device->dev,"sif "TCASE2_BAD_DIR" mode 0xff");+SAFE_MOUNT(tst_device->dev,MOUNT_PATH,tst_device->fs_type,0,NULL);+}++staticvoidtcase2_trigger_lookup(void)+{+intret;++/* SAFE_OPEN cannot be used here because we expect it to fail. */+ret=open(MOUNT_PATH"/"TCASE2_BAD_DIR,O_RDONLY,0);+if(ret!=-1&&errno!=EUCLEAN)+tst_res(TFAIL,"Unexpected lookup result(%d) of %s (%d!=%d)",+ret,TCASE2_BAD_DIR,errno,EUCLEAN);+}+staticconststructtest_case{char*name;interror;
@@ -92,6 +122,14 @@ static const struct test_case {.error_count=1,.error=EXT4_ERR_ESHUTDOWN,.inode=NULL+},+{+.name="Lookup of inode with invalid mode",+.prepare_fs=tcase2_prepare_fs,+.trigger_error=&tcase2_trigger_lookup,+.error_count=1,+.error=0,+.inode=&tcase2_bad_ino,
Why is error 0?
What's the rationale?
Thanks,
Amir.
From: Gabriel Krisman Bertazi <hidden> Date: 2021-08-04 04:52:59
Amir Goldstein [off-list ref] writes:
On Tue, Aug 3, 2021 at 12:47 AM Gabriel Krisman Bertazi
[off-list ref] wrote:
quoted
This test corrupts an inode entry with an invalid mode through debugfs
and then tries to access it. This should result in a ext4 error, which
we monitor through the fanotify group.
Signed-off-by: Gabriel Krisman Bertazi <redacted>
---
.../kernel/syscalls/fanotify/fanotify20.c | 38 +++++++++++++++++++
1 file changed, 38 insertions(+)
@@ -76,6 +76,36 @@ static void trigger_fs_abort(void)MS_REMOUNT|MS_RDONLY,"abort");}+#define TCASE2_BASEDIR "tcase2"+#define TCASE2_BAD_DIR TCASE2_BASEDIR"/bad_dir"++staticunsignedinttcase2_bad_ino;+staticvoidtcase2_prepare_fs(void)+{+structstatstat;++SAFE_MKDIR(MOUNT_PATH"/"TCASE2_BASEDIR,0777);+SAFE_MKDIR(MOUNT_PATH"/"TCASE2_BAD_DIR,0777);++SAFE_STAT(MOUNT_PATH"/"TCASE2_BAD_DIR,&stat);+tcase2_bad_ino=stat.st_ino;++SAFE_UMOUNT(MOUNT_PATH);+do_debugfs_request(tst_device->dev,"sif "TCASE2_BAD_DIR" mode 0xff");+SAFE_MOUNT(tst_device->dev,MOUNT_PATH,tst_device->fs_type,0,NULL);+}++staticvoidtcase2_trigger_lookup(void)+{+intret;++/* SAFE_OPEN cannot be used here because we expect it to fail. */+ret=open(MOUNT_PATH"/"TCASE2_BAD_DIR,O_RDONLY,0);+if(ret!=-1&&errno!=EUCLEAN)+tst_res(TFAIL,"Unexpected lookup result(%d) of %s (%d!=%d)",+ret,TCASE2_BAD_DIR,errno,EUCLEAN);+}+staticconststructtest_case{char*name;interror;
@@ -92,6 +122,14 @@ static const struct test_case {.error_count=1,.error=EXT4_ERR_ESHUTDOWN,.inode=NULL+},+{+.name="Lookup of inode with invalid mode",+.prepare_fs=tcase2_prepare_fs,+.trigger_error=&tcase2_trigger_lookup,+.error_count=1,+.error=0,+.inode=&tcase2_bad_ino,
Why is error 0?
What's the rationale?
Hi Amir,
That is specific to Ext4. Some ext4 conditions report bogus error codes. I will
come up with a kernel patch changing it.
--
Gabriel Krisman Bertazi
From: Gabriel Krisman Bertazi <hidden> Date: 2021-08-04 04:54:17
Amir Goldstein [off-list ref] writes:
On Tue, Aug 3, 2021 at 12:47 AM Gabriel Krisman Bertazi
[off-list ref] wrote:
quoted
Verify the FID provided in the event. If the testcase has a null inode,
this is assumed to be a superblock error (i.e. null FH).
Signed-off-by: Gabriel Krisman Bertazi <redacted>
---
.../kernel/syscalls/fanotify/fanotify20.c | 51 +++++++++++++++++++
1 file changed, 51 insertions(+)
From: Amir Goldstein <amir73il@gmail.com> Date: 2021-08-04 05:28:00
On Wed, Aug 4, 2021 at 7:52 AM Gabriel Krisman Bertazi
[off-list ref] wrote:
Amir Goldstein [off-list ref] writes:
quoted
On Tue, Aug 3, 2021 at 12:47 AM Gabriel Krisman Bertazi
[off-list ref] wrote:
quoted
This test corrupts an inode entry with an invalid mode through debugfs
and then tries to access it. This should result in a ext4 error, which
we monitor through the fanotify group.
Signed-off-by: Gabriel Krisman Bertazi <redacted>
---
.../kernel/syscalls/fanotify/fanotify20.c | 38 +++++++++++++++++++
1 file changed, 38 insertions(+)
@@ -76,6 +76,36 @@ static void trigger_fs_abort(void)MS_REMOUNT|MS_RDONLY,"abort");}+#define TCASE2_BASEDIR "tcase2"+#define TCASE2_BAD_DIR TCASE2_BASEDIR"/bad_dir"++staticunsignedinttcase2_bad_ino;+staticvoidtcase2_prepare_fs(void)+{+structstatstat;++SAFE_MKDIR(MOUNT_PATH"/"TCASE2_BASEDIR,0777);+SAFE_MKDIR(MOUNT_PATH"/"TCASE2_BAD_DIR,0777);++SAFE_STAT(MOUNT_PATH"/"TCASE2_BAD_DIR,&stat);+tcase2_bad_ino=stat.st_ino;++SAFE_UMOUNT(MOUNT_PATH);+do_debugfs_request(tst_device->dev,"sif "TCASE2_BAD_DIR" mode 0xff");+SAFE_MOUNT(tst_device->dev,MOUNT_PATH,tst_device->fs_type,0,NULL);+}++staticvoidtcase2_trigger_lookup(void)+{+intret;++/* SAFE_OPEN cannot be used here because we expect it to fail. */+ret=open(MOUNT_PATH"/"TCASE2_BAD_DIR,O_RDONLY,0);+if(ret!=-1&&errno!=EUCLEAN)+tst_res(TFAIL,"Unexpected lookup result(%d) of %s (%d!=%d)",+ret,TCASE2_BAD_DIR,errno,EUCLEAN);+}+staticconststructtest_case{char*name;interror;
@@ -92,6 +122,14 @@ static const struct test_case {.error_count=1,.error=EXT4_ERR_ESHUTDOWN,.inode=NULL+},+{+.name="Lookup of inode with invalid mode",+.prepare_fs=tcase2_prepare_fs,+.trigger_error=&tcase2_trigger_lookup,+.error_count=1,+.error=0,+.inode=&tcase2_bad_ino,
Why is error 0?
What's the rationale?
Hi Amir,
That is specific to Ext4. Some ext4 conditions report bogus error codes. I will
come up with a kernel patch changing it.
Well, I would not expect a FAN_FS_ERROR event to ever have 0 error
value. Since this test practically only tests ext4, I do not think it
is reasonable
for the test to VERIFY a bug. It is fine to write this test with expectations
that are not met and let it fail.
But a better plan would probably be to merge the patches up to 5 to test
FAN_FS_ERROR and then add more test cases after ext4 is fixed
Either that or you fix the ext4 problem along with FAN_FS_ERROR.
Forgot to say that the test needs to declare .needs_cmds "debugfs".
In any case, as far as prerequisite to merging FAN_FS_ERROR
your WIP tests certainly suffice.
Please keep your test branch around so we can use it to validate
the kernel patches.
I usually hold off on submitting LTP tests for inclusion until at least -rc3
after kernel patches have been merged.
Thanks,
Amir.
From: Amir Goldstein <amir73il@gmail.com> Date: 2021-08-04 05:40:08
On Wed, Aug 4, 2021 at 7:54 AM Gabriel Krisman Bertazi
[off-list ref] wrote:
Amir Goldstein [off-list ref] writes:
quoted
On Tue, Aug 3, 2021 at 12:47 AM Gabriel Krisman Bertazi
[off-list ref] wrote:
quoted
Verify the FID provided in the event. If the testcase has a null inode,
this is assumed to be a superblock error (i.e. null FH).
Signed-off-by: Gabriel Krisman Bertazi <redacted>
---
.../kernel/syscalls/fanotify/fanotify20.c | 51 +++++++++++++++++++
1 file changed, 51 insertions(+)
@@ -57,6 +65,9 @@ static const struct test_case {char*name;interror;unsignedinterror_count;++/* inode can be null for superblock errors */+unsignedint*inode;
Any reason not to use fanotify_fid_t * like fanotify16.c?
No reason other than I didn't notice they existed. Sorry. I will get
this fixed.
No problem. That's what review is for ;-)
BTW, unless anyone is specifically interested I don't think there
is a reason to re post the test patches before the submission request.
Certainly not for the small fixes that I requested.
I do request that you post a link to a branch with the fixed test
so that we can experiment with the kernel patches.
I've also CC'ed Matthew who may want to help with review of the test
and man page that you posted in the cover letter [1].
Thanks,
Amir.
[1] https://lore.kernel.org/linux-ext4/20210802214645.2633028-1-krisman@collabora.com/T/#m9cf637c6aca94e28390f61deac5a53afbc9e88ae
From: Matthew Bobrowski <hidden> Date: 2021-08-04 07:40:15
On Wed, Aug 04, 2021 at 08:39:55AM +0300, Amir Goldstein wrote:
On Wed, Aug 4, 2021 at 7:54 AM Gabriel Krisman Bertazi
[off-list ref] wrote:
quoted
Amir Goldstein [off-list ref] writes:
quoted
On Tue, Aug 3, 2021 at 12:47 AM Gabriel Krisman Bertazi
[off-list ref] wrote:
quoted
Verify the FID provided in the event. If the testcase has a null inode,
this is assumed to be a superblock error (i.e. null FH).
Signed-off-by: Gabriel Krisman Bertazi <redacted>
---
.../kernel/syscalls/fanotify/fanotify20.c | 51 +++++++++++++++++++
1 file changed, 51 insertions(+)
@@ -57,6 +65,9 @@ static const struct test_case {char*name;interror;unsignedinterror_count;++/* inode can be null for superblock errors */+unsignedint*inode;
Any reason not to use fanotify_fid_t * like fanotify16.c?
No reason other than I didn't notice they existed. Sorry. I will get
this fixed.
No problem. That's what review is for ;-)
BTW, unless anyone is specifically interested I don't think there
is a reason to re post the test patches before the submission request.
Certainly not for the small fixes that I requested.
I do request that you post a link to a branch with the fixed test
so that we can experiment with the kernel patches.
I've also CC'ed Matthew who may want to help with review of the test
and man page that you posted in the cover letter [1].
I'll get around to going through both the LTP and man-page series by the
end of this week. Feel free to also loop me in directly on any subsequent
iterations of the like.
/M
From: Gabriel Krisman Bertazi <hidden> Date: 2021-08-05 21:50:20
Hi Amir,
thanks for the review.
Amir Goldstein [off-list ref] writes:
Well, I would not expect a FAN_FS_ERROR event to ever have 0 error
value. Since this test practically only tests ext4, I do not think it
is reasonable
for the test to VERIFY a bug. It is fine to write this test with expectations
that are not met and let it fail.
This gave me a good chuckle. :) I will check for a
EXT4_ERR_EFSCORRUPTED and propose a fix on ext4.
But a better plan would probably be to merge the patches up to 5 to test
FAN_FS_ERROR and then add more test cases after ext4 is fixed
Either that or you fix the ext4 problem along with FAN_FS_ERROR.
Forgot to say that the test needs to declare .needs_cmds "debugfs".
In any case, as far as prerequisite to merging FAN_FS_ERROR
your WIP tests certainly suffice.
Please keep your test branch around so we can use it to validate
the kernel patches.
I usually hold off on submitting LTP tests for inclusion until at least -rc3
after kernel patches have been merged.
As requested, I will not send a new version of the test for now. I
published them on the following unstable branch:
https://gitlab.collabora.com/krisman/ltp -b fan-fs-error
The v1, as submitted in this thread is also available at:
https://gitlab.collabora.com/krisman/ltp -b fan-fs-error-v1
Thanks,
--
Gabriel Krisman Bertazi
From: Petr Vorel <pvorel@suse.cz> Date: 2021-08-20 10:21:23
Hi all,
No problem. That's what review is for ;-)
BTW, unless anyone is specifically interested I don't think there
is a reason to re post the test patches before the submission request.
Certainly not for the small fixes that I requested.
I do request that you post a link to a branch with the fixed test
so that we can experiment with the kernel patches.
I've also CC'ed Matthew who may want to help with review of the test
and man page that you posted in the cover letter [1].
@Amir Thanks a lot for your review, agree with all you mentioned.
@Gabriel Thanks for your contribution. I'd also consider squashing some of the
commits.
Kind regards,
Petr
From: Matthew Bobrowski <hidden> Date: 2021-08-20 21:58:24
Hey Gabriel,
On Fri, Aug 20, 2021 at 12:21:19PM +0200, Petr Vorel wrote:
Hi all,
quoted
No problem. That's what review is for ;-)
quoted
BTW, unless anyone is specifically interested I don't think there
is a reason to re post the test patches before the submission request.
Certainly not for the small fixes that I requested.
quoted
I do request that you post a link to a branch with the fixed test
so that we can experiment with the kernel patches.
quoted
I've also CC'ed Matthew who may want to help with review of the test
and man page that you posted in the cover letter [1].
@Amir Thanks a lot for your review, agree with all you mentioned.
@Gabriel Thanks for your contribution. I'd also consider squashing some of the
commits.
Is the FAN_FS_ERROR feature to be included within the 5.15 release? If so,
I may need to do some shuffling around as these LTP tests collide with the
ones I author for the FAN_REPORT_PIDFD series.
/M
From: Jan Kara <jack@suse.cz> Date: 2021-08-23 09:35:26
On Sat 21-08-21 07:58:07, Matthew Bobrowski wrote:
On Fri, Aug 20, 2021 at 12:21:19PM +0200, Petr Vorel wrote:
quoted
Hi all,
quoted
No problem. That's what review is for ;-)
quoted
BTW, unless anyone is specifically interested I don't think there
is a reason to re post the test patches before the submission request.
Certainly not for the small fixes that I requested.
quoted
I do request that you post a link to a branch with the fixed test
so that we can experiment with the kernel patches.
quoted
I've also CC'ed Matthew who may want to help with review of the test
and man page that you posted in the cover letter [1].
@Amir Thanks a lot for your review, agree with all you mentioned.
@Gabriel Thanks for your contribution. I'd also consider squashing some of the
commits.
Is the FAN_FS_ERROR feature to be included within the 5.15 release? If so,
I may need to do some shuffling around as these LTP tests collide with the
ones I author for the FAN_REPORT_PIDFD series.
No, I don't think FAN_FS_ERROR is quite ready for the coming merge window.
So you should be fine.
Honza
--
Jan Kara [off-list ref]
SUSE Labs, CR
From: Matthew Bobrowski <hidden> Date: 2021-08-23 11:19:39
On Mon, Aug 23, 2021 at 11:35:24AM +0200, Jan Kara wrote:
On Sat 21-08-21 07:58:07, Matthew Bobrowski wrote:
quoted
On Fri, Aug 20, 2021 at 12:21:19PM +0200, Petr Vorel wrote:
quoted
Hi all,
quoted
No problem. That's what review is for ;-)
quoted
BTW, unless anyone is specifically interested I don't think there
is a reason to re post the test patches before the submission request.
Certainly not for the small fixes that I requested.
quoted
I do request that you post a link to a branch with the fixed test
so that we can experiment with the kernel patches.
quoted
I've also CC'ed Matthew who may want to help with review of the test
and man page that you posted in the cover letter [1].
@Amir Thanks a lot for your review, agree with all you mentioned.
@Gabriel Thanks for your contribution. I'd also consider squashing some of the
commits.
Is the FAN_FS_ERROR feature to be included within the 5.15 release? If so,
I may need to do some shuffling around as these LTP tests collide with the
ones I author for the FAN_REPORT_PIDFD series.
No, I don't think FAN_FS_ERROR is quite ready for the coming merge window.
So you should be fine.
From: Gabriel Krisman Bertazi <hidden> Date: 2021-08-23 14:35:01
Matthew Bobrowski [off-list ref] writes:
Hey Gabriel,
On Fri, Aug 20, 2021 at 12:21:19PM +0200, Petr Vorel wrote:
quoted
Hi all,
quoted
No problem. That's what review is for ;-)
quoted
BTW, unless anyone is specifically interested I don't think there
is a reason to re post the test patches before the submission request.
Certainly not for the small fixes that I requested.
quoted
I do request that you post a link to a branch with the fixed test
so that we can experiment with the kernel patches.
quoted
I've also CC'ed Matthew who may want to help with review of the test
and man page that you posted in the cover letter [1].
@Amir Thanks a lot for your review, agree with all you mentioned.
@Gabriel Thanks for your contribution. I'd also consider squashing some of the
commits.
Is the FAN_FS_ERROR feature to be included within the 5.15 release? If so,
I may need to do some shuffling around as these LTP tests collide with the
ones I author for the FAN_REPORT_PIDFD series.
Matthew,
Hi, sorry for the delay. I took a short vacation and couldn't follow
up. I think it is too late for 5.15, please go ahead with
FAN_REPORT_PIDFD series and I will consider them in my future
submission.
Thank you,
--
Gabriel Krisman Bertazi