[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20b25d6cc8a6ba04f77b2518d3d4f0154be58f13.camel@kernel.org>
Date: Sun, 25 Jan 2026 11:28:56 -0500
From: Jeff Layton <jlayton@...nel.org>
To: Dorjoy Chowdhury <dorjoychy111@...il.com>, Arnd Bergmann <arnd@...db.de>
Cc: linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org, Alexander
Viro <viro@...iv.linux.org.uk>, Christian Brauner <brauner@...nel.org>,
Jan Kara <jack@...e.cz>, Chuck Lever <chuck.lever@...cle.com>, Alexander
Aring <alex.aring@...il.com>
Subject: Re: [PATCH 1/2] open: new O_REGULAR flag support
On Sun, 2026-01-25 at 21:41 +0600, Dorjoy Chowdhury wrote:
> On Sun, Jan 25, 2026 at 8:40 PM Arnd Bergmann <arnd@...db.de> wrote:
> >
> > On Sun, Jan 25, 2026, at 15:14, Dorjoy Chowdhury wrote:
> >
> > > diff --git a/include/uapi/asm-generic/errno-base.h
> > > b/include/uapi/asm-generic/errno-base.h
> > > index 9653140bff92..ea9a96d30737 100644
> > > --- a/include/uapi/asm-generic/errno-base.h
> > > +++ b/include/uapi/asm-generic/errno-base.h
> > > @@ -36,5 +36,6 @@
> > > #define EPIPE 32 /* Broken pipe */
> > > #define EDOM 33 /* Math argument out of domain of func */
> > > #define ERANGE 34 /* Math result not representable */
> > > +#define ENOTREGULAR 35 /* Not a regular file */
> >
> > This clashes with EDEADLK on most architectures, or with
> > EAGAIN on alpha and ENOMSG on mips/parisc. You probably
> > need to pick the next free value in uapi/asm-generic/errno.h
> > and arch/*/include/uapi/asm/errno.h and keep this sorted
> > after EHWPOISON if you can't find an existing error code.
> >
>
> Thanks for pointing this out. I will fix up in v2 along with other
> comments (if any). I looked at the existing error codes in
> uapi/asm-generic/errno.h and didn't notice anything that I could
> reuse. So if I understand correctly, I will need this new error code
> in both uapi/asm-generic/errno.h (not in errno-base.h) and in
> arch/*/include/uapi/asm/errno.h (I see some parallel
> tools/arch/*/include/uapi/asm/errno.h files too) just after EHWPOISON,
> right?
>
nit: Can we call this this ENOTREG instead of ENOTREGULAR? That seems
like it would read better alongside ENOTDIR and I hate extra typing.
> > > diff --git a/include/uapi/asm-generic/fcntl.h b/include/uapi/asm-generic/fcntl.h
> > > index 613475285643..11e5eadab868 100644
> > > --- a/include/uapi/asm-generic/fcntl.h
> > > +++ b/include/uapi/asm-generic/fcntl.h
> > > @@ -88,6 +88,10 @@
> > > #define __O_TMPFILE 020000000
> > > #endif
> > >
> > > +#ifndef O_REGULAR
> > > +#define O_REGULAR 040000000
> > > +#endif
> >
> > This in turn clashes with O_PATH on alpha, __O_TMPFILE on
> > parisc, and __O_SYNC on sparc. We can probably fill the holes
> > in asm/fcntl.h to define this.
> >
>
> And for this, I will need to just define O_REGULAR in alpha, parisc
> and sparc too, right?
> Good catch on the sparc file, some are octal, some are hexadecimal,
> easy to miss. Thanks!
>
>
--
Jeff Layton <jlayton@...nel.org>
Powered by blists - more mailing lists