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 17:58:10 +0100	[thread overview]
Message-ID: <20240124165810.GD309254@pevik> (raw)
In-Reply-To: <CAOQ4uxhumyknSgX3=kTt9sqPkxNwzHnQwFMfahj8tX98LQWPVw@mail.gmail.com>

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

> > > 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.

> Ah yes, this is because 6.7 has commit:

> 64343119d7b8 exportfs: support encoding non-decodeable file handles by default

> This is different form the one I mentioned for v6.8-rc1


> > 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).


> Perfectly fine by me.

> But note that you need the rest of the fixes to avoid test failures with
> fuse (e.g. fuse-ntfs3g) on v6.8-rc1 - if you care about LTP results on
> latest rc kernel.

OK, in that case I merge whole branch tonight.

Kind regards,
Petr

> Thanks,
> Amir.

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

  reply	other threads:[~2024-01-24 16:58 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
2024-01-24 16:05     ` Amir Goldstein
2024-01-24 16:58       ` Petr Vorel [this message]
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=20240124165810.GD309254@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.