All of lore.kernel.org
 help / color / mirror / Atom feed
From: Petr Vorel <pvorel@suse.cz>
To: Amir Goldstein <amir73il@gmail.com>
Cc: Dominique Leuenberger <dleuenberger@suse.com>,
	Jan Kara <jack@suse.cz>,
	ltp@lists.linux.it
Subject: Re: [LTP] [PATCH 1/1] fanotify: Handle EOPNOTSUPP as TCONF
Date: Wed, 24 Jan 2024 16:33:47 +0100	[thread overview]
Message-ID: <20240124153347.GA309254@pevik> (raw)
In-Reply-To: <CAOQ4uxjtJg7iprcOAizXOUdw=6PouBDtiyL8R3CfqGr6yyR9vw@mail.gmail.com>

> On Wed, Jan 24, 2024 at 2:21 PM Petr Vorel <pvorel@suse.cz> wrote:

> > Found on kernel 6.7 (Tumbleweed) on exfat:

> > tst_test.c:1669: TINFO: === Testing on exfat ===
> > tst_test.c:1117: TINFO: Formatting /dev/loop1 with exfat opts='' extra opts=''
> > tst_test.c:1131: TINFO: Mounting /dev/loop1 to /tmp/LTP_fanoL9KLE/mntpoint fstyp=exfat flags=0
> > fanotify14.c:246: TINFO: Test case 0: fanotify_init(FAN_CLASS_CONTENT | FAN_REPORT_FID, O_RDONLY)
> > fanotify14.c:260: TPASS: fanotify_init(tc->init.flags, O_RDONLY) : EINVAL (22)
> > fanotify14.c:246: TINFO: Test case 1: fanotify_init(FAN_CLASS_PRE_CONTENT | FAN_REPORT_FID, O_RDONLY)
> > fanotify14.c:260: TPASS: fanotify_init(tc->init.flags, O_RDONLY) : EINVAL (22)
> > fanotify14.c:246: TINFO: Test case 2: fanotify_init(FAN_CLASS_NOTIF, O_RDONLY)
> > fanotify14.c:263: TPASS: fanotify_init(tc->init.flags, O_RDONLY) returned fd 5
> > fanotify14.c:283: TINFO: Testing FAN_MARK_INODE with INODE_EVENTS
> > fanotify14.c:285: TPASS: fanotify_mark(fanotify_fd, 0x00000001 | tc->mark.flags, tc->mask.flags, dirfd, path) : EINVAL (22)
> > fanotify14.c:246: TINFO: Test case 3: fanotify_init(FAN_CLASS_NOTIF | FAN_REPORT_FID, O_RDONLY)
> > fanotify14.c:263: TPASS: fanotify_init(tc->init.flags, O_RDONLY) returned fd 5
> > fanotify14.c:283: TINFO: Testing FAN_MARK_MOUNT with INODE_EVENTS
> > fanotify14.c:285: TPASS: fanotify_mark(fanotify_fd, 0x00000001 | tc->mark.flags, tc->mask.flags, dirfd, path) : EINVAL (22)
> > fanotify14.c:246: TINFO: Test case 4: fanotify_init(FAN_CLASS_NOTIF | FAN_REPORT_NAME, O_RDONLY)
> > fanotify14.c:260: TPASS: fanotify_init(tc->init.flags, O_RDONLY) : EINVAL (22)
> > fanotify14.c:246: TINFO: Test case 5: fanotify_init(FAN_CLASS_NOTIF | FAN_REPORT_FID | FAN_REPORT_NAME, O_RDONLY)
> > fanotify14.c:260: TPASS: fanotify_init(tc->init.flags, O_RDONLY) : EINVAL (22)
> > fanotify14.c:246: TINFO: Test case 6: fanotify_init(FAN_CLASS_NOTIF | FAN_REPORT_TARGET_FID | FAN_REPORT_DFID_NAME, O_RDONLY)
> > fanotify14.c:260: TPASS: fanotify_init(tc->init.flags, O_RDONLY) : EINVAL (22)
> > fanotify14.c:246: TINFO: Test case 7: fanotify_init(FAN_CLASS_NOTIF | FAN_REPORT_TARGET_FID | FAN_REPORT_DFID_FID, O_RDONLY)
> > fanotify14.c:260: TPASS: fanotify_init(tc->init.flags, O_RDONLY) : EINVAL (22)
> > fanotify14.c:246: TINFO: Test case 8: fanotify_init(FAN_CLASS_NOTIF | FAN_REPORT_DFID_FID, O_RDONLY)
> > fanotify14.c:263: TPASS: fanotify_init(tc->init.flags, O_RDONLY) returned fd 5
> > fanotify14.c:283: TINFO: Testing FAN_MARK_INODE with FAN_RENAME
> > fanotify14.c:285: TPASS: fanotify_mark(fanotify_fd, 0x00000001 | tc->mark.flags, tc->mask.flags, dirfd, path) : EINVAL (22)
> > fanotify14.c:246: TINFO: Test case 9: fanotify_init(FAN_CLASS_NOTIF, O_RDONLY)
> > fanotify14.c:263: TPASS: fanotify_init(tc->init.flags, O_RDONLY) returned fd 5
> > fanotify14.c:283: TINFO: Testing FAN_MARK_ONLYDIR with FAN_OPEN
> > fanotify14.c:285: TPASS: fanotify_mark(fanotify_fd, 0x00000001 | tc->mark.flags, tc->mask.flags, dirfd, path) : ENOTDIR (20)
> > fanotify14.c:298: TPASS: Adding an inode mark on directory did not fail with ENOTDIR error as on non-dir inode
> > fanotify14.c:246: TINFO: Test case 10: fanotify_init(FAN_CLASS_NOTIF | FAN_REPORT_DFID_NAME_TARGET, O_RDONLY)
> > fanotify14.c:263: TPASS: fanotify_init(tc->init.flags, O_RDONLY) returned fd 5
> > fanotify14.c:283: TINFO: Testing FAN_MARK_INODE with FAN_DELETE
> > fanotify14.c:285: TPASS: fanotify_mark(fanotify_fd, 0x00000001 | tc->mark.flags, tc->mask.flags, dirfd, path) : ENOTDIR (20)
> > fanotify14.c:298: TPASS: Adding an inode mark on directory did not fail with ENOTDIR error as on non-dir inode
> > fanotify14.c:303: TBROK: fanotify_mark(5, 0x101, 0x200, ..., mntpoint/file1) unsupported: EOPNOTSUPP (95)

> > Reported-by: Dominique Leuenberger <dleuenberger@suse.com>
> > Signed-off-by: Petr Vorel <pvorel@suse.cz>
> > ---
> > Hi,

> > I wonder, if this is a bug or not.

> > Kind regards,
> > Petr

> >  testcases/kernel/syscalls/fanotify/fanotify.h | 12 +++++++++---
> >  1 file changed, 9 insertions(+), 3 deletions(-)

> > diff --git a/testcases/kernel/syscalls/fanotify/fanotify.h b/testcases/kernel/syscalls/fanotify/fanotify.h
> > index e0d178bcc..dd1f5c84c 100644
> > --- a/testcases/kernel/syscalls/fanotify/fanotify.h
> > +++ b/testcases/kernel/syscalls/fanotify/fanotify.h
> > @@ -47,9 +47,15 @@ static inline int safe_fanotify_mark(const char *file, const int lineno,
> >         rval = fanotify_mark(fd, flags, mask, dfd, pathname);

> >         if (rval == -1) {
> > -               tst_brk_(file, lineno, TBROK | TERRNO,
> > -                        "fanotify_mark(%d, 0x%x, 0x%lx, ..., %s) failed",
> > -                        fd, flags, mask, pathname);
> > +               if (errno == EOPNOTSUPP) {
> > +                       tst_brk_(file, lineno, TCONF | TERRNO,
> > +                                        "fanotify_mark(%d, 0x%x, 0x%lx, ..., %s) unsupported",
> > +                                        fd, flags, mask, pathname);
> > +               } else {
> > +                       tst_brk_(file, lineno, TBROK | TERRNO,
> > +                                        "fanotify_mark(%d, 0x%x, 0x%lx, ..., %s) failed",
> > +                                        fd, flags, mask, pathname);
> > +               }
> >         }

> >         if (rval < -1) {
> > --
> > 2.43.0


Hi Amir,

> Petr,

> I don't think this is the right fix.

> Am I correct to assume that exfat was skipped in this test prior
> to v6.8-rc1?
> 30ad1938326b fanotify: allow "weak" fsid when watching a single filesystem

Yes, it was skipped on 6.6:

tst_test.c:1669: TINFO: === Testing on exfat ===
tst_test.c:1117: TINFO: Formatting /dev/loop0 with exfat opts='' extra opts=''
tst_test.c:1131: TINFO: Mounting /dev/loop0 to /tmp/LTP_fany7fl22/mntpoint fstyp=exfat flags=0
fanotify14.c:323: TCONF: FAN_REPORT_FID not supported on exfat filesystem

> I have prepared a branch to test the v6.8-rc1 fanotify changes:

> https://github.com/amir73il/ltp/commits/fanotify_fsid/

> Normally, I post the tests much later in the a release cycle, but the changes
> in v6.8-rc1 will cause several new filesystems (e.g. fuse-ntfs3) to start
> running the fanotify tests, so we may need to merge some of those test
> fixes sooner.

+1

> Can you please test if the changes in my branch fix this test failure.
> Let me know if you need me to post the changes for review.

Yes, this your branch fanotify_fsid works on 6.7 from Tumbleweed.
Even cherry picking the commit 3fc9493eb ("fanotify{14,15,16}: Check for
filesystem mark support on filesystem") would be enough for now.

I can even do it without you sending a patch, if it's ok for you
(linking this discussion).

Kind regards,
Petr

> As far as I can see, only the change:
> 35f49a9cb fanotify01: Test setting two marks on different filesystems

> tests for new v6.8-rc1 functionality, but it should not affect running the
> test on older kernels, where the affected filesystems are skipped anyway.

> Thanks,
> Amir.

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

  reply	other threads:[~2024-01-24 15:34 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-24 12:21 [LTP] [PATCH 1/1] fanotify: Handle EOPNOTSUPP as TCONF Petr Vorel
2024-01-24 14:45 ` Amir Goldstein
2024-01-24 15:33   ` Petr Vorel [this message]
2024-01-24 16:05     ` Amir Goldstein
2024-01-24 16:58       ` Petr Vorel
2024-01-24 19:42       ` Petr Vorel
2024-01-24 20:51         ` Petr Vorel
2024-01-25 10:52           ` Amir Goldstein
2024-01-24 16:01 ` Jan Kara
2024-01-24 16:03   ` Amir Goldstein

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240124153347.GA309254@pevik \
    --to=pvorel@suse.cz \
    --cc=amir73il@gmail.com \
    --cc=dleuenberger@suse.com \
    --cc=jack@suse.cz \
    --cc=ltp@lists.linux.it \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.