* Re: [PATCH v2] man/man2: introduce man page for file_getattr/file_setattr syscalls
[not found] ` <aqPg20OSbTsxRd6-@aalbersh-thinkpadx1carbongen13.rmtcz.csb>
@ 2026-09-11 11:56 ` Alejandro Colomar
0 siblings, 0 replies; only message in thread
From: Alejandro Colomar @ 2026-09-11 11:56 UTC (permalink / raw)
To: Andrey Albershteyn
Cc: linux-man, linux-xfs, linux-fsdevel, Christoph Hellwig, djwong,
linux-api, Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Namhyung Kim, Mark Rutland, Alexander Shishkin, Jiri Olsa,
Ian Rogers, Adrian Hunter, James Clark, linux-perf-users,
linux-kernel
[-- Attachment #1: Type: text/plain, Size: 2912 bytes --]
[CC += PERFORMANCE EVENTS SUBSYSTEM maintainers]
Hi Andrey,
> Date: 2026-09-11 13:17:12+0200
> From: Andrey Albershteyn <aalbersh@kernel.org>
>
> Hi Alejandro,
>
> Thanks for the review, I will apply your suggestions, responses to
> some of the questions below:
>
[...]
> > > +The
> > > +.I flags
> > > +argument is a bit mask, available flags are:
> >
> > The usual language we use for this is:
> >
> > The
> > .I flags
> > argument contains
> > a bitwise OR of zero or more of the following constants:
> >
> > See for example readv(2).
>
> I will use "constants" then (the readv uses "following flags")
Ok.
> > There are some minor variations of this in other pages, and I should
> > make them more uniform.
> >
[...]
> > > +.TP
> > > +.B EBADF
> > > +.I pathname
> > > +is relative but
> > > +.I dirfd
> > > +is neither
> > > +.B AT_FDCWD
> > > +nor a valid file descriptor.
> > > +.TP
> > > +.B EBADF
> > > +.I pathname
> > > +is an empty string,
> > > +.B AT_EMPTY_PATH
> > > +was specified,
> > > +but
> > > +.I dirfd
> > > +is an invalid file descriptor.
> >
> > I was wondering: is it valid to specify AT_EMPTY_PATH, use an empty
> > string, and use AT_FDCWD as the dirfd? That should act on the current
> > working directory itself, right? Or is that not supported?
>
> Yes, this is valid combination. I can describe this case.
Thanks! I think using wording similar to the one above would be enough:
but
.I dirfd
is neither
.B AT_FDCWD
nor a valid file descriptor.
[...]
> > > +.TP
> > > +.B EINVAL
> > > +.I size
> > > +is smaller than
> > > +.BR FILE_ATTR_SIZE_VER0 .
> >
> > perf_event_open(2) reports E2BIG for a size smaller than
> > PERF_ATTR_SIZE_VER0. This seems unnecessarily inconsistent. I'm not
> > sure which I'd say is more appropriate, but I'd expect them to be
> > consistent. I mentioned perf_event_open(2) because that's the only page
> > that has a *_VER0 constant and documents an error if a size is smaller
> > than it. There's also mount_setattr(2) which documents
> > MOUNT_ATTR_SIZE_VER0, but it's not documented in ERRORS.
> >
> > I think kernel maintainers should have a look at the different APIs that
> > have such a value, and discuss whether the error codes should be made
> > uniform retroactively, or whether we should accept the existing
> > divergence but decide on an error code for new APIs.
> >
> > I've CCed linux-api@.
>
> The MOUNT_ATTR_SIZE_VER0 also returns an EINVAL
Thanks! I'll document that.
> I'm in favor of EINVAL as E2BIG is probably a more confusing naming
> for the too small argument.
I think I agree.
I've CCd the maintainers of perf_event_open(2). Can perf_event_open(2)
be changed to report EINVAL? Or is that mistake set in stone?
Have a lovely day!
Alex
--
<https://www.alejandro-colomar.es>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-09-11 11:57 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20260910104120.3964799-1-aalbersh@kernel.org>
[not found] ` <aqKgTGHh3nDnM3eh@devuan>
[not found] ` <aqPg20OSbTsxRd6-@aalbersh-thinkpadx1carbongen13.rmtcz.csb>
2026-09-11 11:56 ` [PATCH v2] man/man2: introduce man page for file_getattr/file_setattr syscalls Alejandro Colomar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®