Re: [PATCH 1/1] generic: test fsnotify filesystem error reporting

Zorro Lang
2026-03-17T03:43:32Z

On Mon, Mar 16, 2026 at 03:16:58PM -0700, Darrick J. Wong wrote:
> On Tue, Mar 17, 2026 at 02:40:41AM +0800, Zorro Lang wrote:
> > On Mon, Mar 16, 2026 at 09:21:47AM -0700, Darrick J. Wong wrote:
> > > On Mon, Mar 16, 2026 at 02:08:11AM -0700, Christoph Hellwig wrote:
> > > > On Mon, Mar 09, 2026 at 08:50:08PM -0700, Darrick J. Wong wrote:
> > > > > From: Darrick J. Wong <djwong@kernel.org>
> > > > >
> > > > > Test the fsnotify filesystem error reporting.
> > > >
> > > > Still would be helpful to explain what is being tested and how and
> > > > the source of the test tool.
> > >
> > > "Use dmerror to inject a media error for a file's storage, then run some
> > > IO and make sure that fanotify reports the IO errors."
> > >
> > > (I'm not sure what the process is for updating commit messages once
> > > something's in patches-in-queue...)
> >
> > patches-in-queue is a scratch branch, I always re-push(-f) to this branch.
> > So please feel free to tell me what do you want to update in this patch
> > (I'm going to make the next fstests release soon:).
>
> Just the two changes I've mentioned so far in the threads, please.

Sure, I just changed the commit log of this patch to:

"Use dmerror to inject a media error for a file's storage, then run some
IO and make sure that fanotify reports the IO errors."

but what's the 2nd change? Did I miss something? ...

>
> I've more fixes to make to these tests, so I'll send those patches
> shortly.
>
> --D
>
> > Thanks,
> > Zorro
> >
> > >
> > > > > +#ifndef FILEID_INO32_GEN
> > > > > +#define FILEID_INO32_GEN 1
> > > > > +#endif
> > > > > +
> > > > > +#ifndef FILEID_INVALID
> > > > > +#define FILEID_INVALID 0xff
> > > > > +#endif
> > > > > +
> > > > > +static void print_fh(struct file_handle *fh)
> > > > > +{
> > > > > + int i;
> > > > > + uint32_t *h = (uint32_t *) fh->f_handle;
> > > > > +
> > > > > + printf("\tfh: ");
> > > > > + for (i = 0; i < fh->handle_bytes; i++)
> > > > > + printf("%hhx", fh->f_handle[i]);
> > > > > + printf("\n");
> > > > > +
> > > > > + printf("\tdecoded fh: ");
> > > > > + if (fh->handle_type == FILEID_INO32_GEN)
> > > > > + printf("inode=%u gen=%u\n", h[0], h[1]);
> > > > > + else if (fh->handle_type == FILEID_INVALID && !fh->handle_bytes)
> > > > > + printf("Type %d (Superblock error)\n", fh->handle_type);
> > > > > + else
> > > > > + printf("Type %d (Unknown)\n", fh->handle_type);
> > > >
> > > >
> > > > Isn't this always going to print unknown for normal xfs mounts without
> > > > inode32?
> > >
> > > Yes, though generic/791 filters out the file handle and (TBH) I don't
> > > really want people getting ideas about cracking file handles. Probably
> > > we should just eliminate this whole part of the function, but that would
> > > make future forklift upgrades from the kernel harder.

... This looks like not a certain decision/change. Is this the 2nd change you want
to do? If so, could you please provide what's the specific changes you want to make :)

Thanks,
Zorro

> > >
> > > --D
> > >
> >
>