* [PATCH v3 1/2] name_to_handle_at.2: Document the AT_HANDLE_MNT_ID_UNIQUE flag @ 2025-03-31 8:16 Amir Goldstein 2025-03-31 8:16 ` [PATCH v3 2/2] name_to_handle_at.2: Document the AT_HANDLE_CONNECTABLE flag Amir Goldstein 2025-03-31 8:38 ` [PATCH v3 1/2] name_to_handle_at.2: Document the AT_HANDLE_MNT_ID_UNIQUE flag Alejandro Colomar 0 siblings, 2 replies; 5+ messages in thread From: Amir Goldstein @ 2025-03-31 8:16 UTC (permalink / raw) To: Alejandro Colomar; +Cc: linux-man A flag since v6.12 to indicate that the requested mount_id is a 64bit unique id. Cc: Chuck Lever <chuck.lever@oracle.com> Cc: Jeff Layton <jlayton@poochiereds.net> Cc: Christian Brauner <brauner@kernel.org> Cc: Jan Kara <jack@suse.cz> Cc: Aleksa Sarai <cyphar@cyphar.com> Signed-off-by: Amir Goldstein <amir73il@gmail.com> --- man/man2/open_by_handle_at.2 | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/man/man2/open_by_handle_at.2 b/man/man2/open_by_handle_at.2 index 6b9758d42..e3ec70dd5 100644 --- a/man/man2/open_by_handle_at.2 +++ b/man/man2/open_by_handle_at.2 @@ -127,6 +127,7 @@ The .I flags argument is a bit mask constructed by ORing together zero or more of .BR AT_HANDLE_FID , +.BR AT_HANDLE_MNT_ID_UNIQUE, .BR AT_EMPTY_PATH , and .BR AT_SYMLINK_FOLLOW , @@ -147,6 +148,21 @@ with the returned .I file_handle may fail. .P +When +.I flags +contain the +.BR AT_HANDLE_MNT_ID_UNIQUE " (since Linux 6.12)" +.\" commit 4356d575ef0f39a3e8e0ce0c40d84ce900ac3b61 +flag, the caller indicates that the size of the +.I mount_id +buffer is at least 64bit +and then the mount id returned in that buffer +is the unique mount id as the one returned by +.BR statx (2) +with the +.BR STATX_MNT_ID_UNIQUE +flag. +.P Together, the .I pathname and -- 2.34.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v3 2/2] name_to_handle_at.2: Document the AT_HANDLE_CONNECTABLE flag 2025-03-31 8:16 [PATCH v3 1/2] name_to_handle_at.2: Document the AT_HANDLE_MNT_ID_UNIQUE flag Amir Goldstein @ 2025-03-31 8:16 ` Amir Goldstein 2025-03-31 8:45 ` Alejandro Colomar 2025-03-31 8:38 ` [PATCH v3 1/2] name_to_handle_at.2: Document the AT_HANDLE_MNT_ID_UNIQUE flag Alejandro Colomar 1 sibling, 1 reply; 5+ messages in thread From: Amir Goldstein @ 2025-03-31 8:16 UTC (permalink / raw) To: Alejandro Colomar; +Cc: linux-man A flag since v6.13 to indicate that the requested file_handle is intended to be used for open_by_handle_at(2) to obtain an open file with a known path. Cc: Chuck Lever <chuck.lever@oracle.com> Cc: Jeff Layton <jlayton@poochiereds.net> Cc: Christian Brauner <brauner@kernel.org> Cc: Jan Kara <jack@suse.cz> Signed-off-by: Amir Goldstein <amir73il@gmail.com> --- man/man2/open_by_handle_at.2 | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/man/man2/open_by_handle_at.2 b/man/man2/open_by_handle_at.2 index e3ec70dd5..f808ea933 100644 --- a/man/man2/open_by_handle_at.2 +++ b/man/man2/open_by_handle_at.2 @@ -128,6 +128,7 @@ The argument is a bit mask constructed by ORing together zero or more of .BR AT_HANDLE_FID , .BR AT_HANDLE_MNT_ID_UNIQUE, +.BR AT_HANDLE_CONNECTABLE, .BR AT_EMPTY_PATH , and .BR AT_SYMLINK_FOLLOW , @@ -163,6 +164,29 @@ with the .BR STATX_MNT_ID_UNIQUE flag. .P +When +.I flags +contain the +.BR AT_HANDLE_CONNECTABLE " (since Linux 6.13)" +.\" commit a20853ab8296d4a8754482cb5e9adde8ab426a25 +flag, the caller indicates that the returned +.I file_handle +is needed to open a file with known path later, +so it should be expected that a subsequent call to +.BR open_by_handle_at () +with the returned +.I file_handle +may fail if the file was moved, +but otherwise, +the path of the opened file is expected to be visible +from the +.IR /proc/ pid /fd/ * +magic link. +This flag can not be used in combination with the flags +.B AT_HANDLE_FID +and/or +.BR AT_EMPTY_PATH . +.P Together, the .I pathname and @@ -327,7 +351,7 @@ points outside your accessible address space. .TP .B EINVAL .I flags -includes an invalid bit value. +includes an invalid bit value or an invalid bit combination. .TP .B EINVAL .I handle\->handle_bytes @@ -414,6 +438,11 @@ was acquired using the .B AT_HANDLE_FID flag and the filesystem does not support .BR open_by_handle_at (). +This error can also occur if the +.I handle +was acquired using the +.B AT_HANDLE_CONNECTABLE +flag and the file was moved to a different parent. .SH VERSIONS FreeBSD has a broadly similar pair of system calls in the form of .BR getfh () -- 2.34.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v3 2/2] name_to_handle_at.2: Document the AT_HANDLE_CONNECTABLE flag 2025-03-31 8:16 ` [PATCH v3 2/2] name_to_handle_at.2: Document the AT_HANDLE_CONNECTABLE flag Amir Goldstein @ 2025-03-31 8:45 ` Alejandro Colomar 0 siblings, 0 replies; 5+ messages in thread From: Alejandro Colomar @ 2025-03-31 8:45 UTC (permalink / raw) To: Amir Goldstein; +Cc: Alejandro Colomar, linux-man [-- Attachment #1: Type: text/plain, Size: 2659 bytes --] Hi Amir, On Mon, Mar 31, 2025 at 10:16:42AM +0200, Amir Goldstein wrote: > A flag since v6.13 to indicate that the requested file_handle is > intended to be used for open_by_handle_at(2) to obtain an open file > with a known path. > > Cc: Chuck Lever <chuck.lever@oracle.com> > Cc: Jeff Layton <jlayton@poochiereds.net> > Cc: Christian Brauner <brauner@kernel.org> > Cc: Jan Kara <jack@suse.cz> > Signed-off-by: Amir Goldstein <amir73il@gmail.com> Thanks! I've applied the patch. > --- > man/man2/open_by_handle_at.2 | 31 ++++++++++++++++++++++++++++++- > 1 file changed, 30 insertions(+), 1 deletion(-) > > diff --git a/man/man2/open_by_handle_at.2 b/man/man2/open_by_handle_at.2 > index e3ec70dd5..f808ea933 100644 > --- a/man/man2/open_by_handle_at.2 > +++ b/man/man2/open_by_handle_at.2 > @@ -128,6 +128,7 @@ The > argument is a bit mask constructed by ORing together zero or more of > .BR AT_HANDLE_FID , > .BR AT_HANDLE_MNT_ID_UNIQUE, > +.BR AT_HANDLE_CONNECTABLE, I amended here the missing space. Cheers, Alex > .BR AT_EMPTY_PATH , > and > .BR AT_SYMLINK_FOLLOW , > @@ -163,6 +164,29 @@ with the > .BR STATX_MNT_ID_UNIQUE > flag. > .P > +When > +.I flags > +contain the > +.BR AT_HANDLE_CONNECTABLE " (since Linux 6.13)" > +.\" commit a20853ab8296d4a8754482cb5e9adde8ab426a25 > +flag, the caller indicates that the returned > +.I file_handle > +is needed to open a file with known path later, > +so it should be expected that a subsequent call to > +.BR open_by_handle_at () > +with the returned > +.I file_handle > +may fail if the file was moved, > +but otherwise, > +the path of the opened file is expected to be visible > +from the > +.IR /proc/ pid /fd/ * > +magic link. > +This flag can not be used in combination with the flags > +.B AT_HANDLE_FID > +and/or > +.BR AT_EMPTY_PATH . > +.P > Together, the > .I pathname > and > @@ -327,7 +351,7 @@ points outside your accessible address space. > .TP > .B EINVAL > .I flags > -includes an invalid bit value. > +includes an invalid bit value or an invalid bit combination. > .TP > .B EINVAL > .I handle\->handle_bytes > @@ -414,6 +438,11 @@ was acquired using the > .B AT_HANDLE_FID > flag and the filesystem does not support > .BR open_by_handle_at (). > +This error can also occur if the > +.I handle > +was acquired using the > +.B AT_HANDLE_CONNECTABLE > +flag and the file was moved to a different parent. > .SH VERSIONS > FreeBSD has a broadly similar pair of system calls in the form of > .BR getfh () > -- > 2.34.1 > -- <https://www.alejandro-colomar.es/> [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v3 1/2] name_to_handle_at.2: Document the AT_HANDLE_MNT_ID_UNIQUE flag 2025-03-31 8:16 [PATCH v3 1/2] name_to_handle_at.2: Document the AT_HANDLE_MNT_ID_UNIQUE flag Amir Goldstein 2025-03-31 8:16 ` [PATCH v3 2/2] name_to_handle_at.2: Document the AT_HANDLE_CONNECTABLE flag Amir Goldstein @ 2025-03-31 8:38 ` Alejandro Colomar 2025-03-31 9:37 ` Amir Goldstein 1 sibling, 1 reply; 5+ messages in thread From: Alejandro Colomar @ 2025-03-31 8:38 UTC (permalink / raw) To: Amir Goldstein; +Cc: linux-man [-- Attachment #1: Type: text/plain, Size: 3308 bytes --] Hi Amir, On Mon, Mar 31, 2025 at 10:16:41AM +0200, Amir Goldstein wrote: > A flag since v6.12 to indicate that the requested mount_id is > a 64bit unique id. > > Cc: Chuck Lever <chuck.lever@oracle.com> > Cc: Jeff Layton <jlayton@poochiereds.net> > Cc: Christian Brauner <brauner@kernel.org> > Cc: Jan Kara <jack@suse.cz> > Cc: Aleksa Sarai <cyphar@cyphar.com> > Signed-off-by: Amir Goldstein <amir73il@gmail.com> Thanks! I've applied the patch, with some minor amendments: diff --git i/man/man2/open_by_handle_at.2 w/man/man2/open_by_handle_at.2 index da0129dee..47405b118 100644 --- i/man/man2/open_by_handle_at.2 +++ w/man/man2/open_by_handle_at.2 @@ -127,7 +127,7 @@ .SS name_to_handle_at() .I flags argument is a bit mask constructed by ORing together zero or more of .BR AT_HANDLE_FID , -.BR AT_HANDLE_MNT_ID_UNIQUE, +.BR AT_HANDLE_MNT_ID_UNIQUE , .BR AT_EMPTY_PATH , and .BR AT_SYMLINK_FOLLOW , @@ -153,11 +153,11 @@ .SS name_to_handle_at() contain the .BR AT_HANDLE_MNT_ID_UNIQUE " (since Linux 6.12)" .\" commit 4356d575ef0f39a3e8e0ce0c40d84ce900ac3b61 -flag, the caller indicates that the size of the +flag, the caller indicates that the width of the .I mount_id -buffer is at least 64bit +buffer is at least 64 bits, and then the mount id returned in that buffer -is the unique mount id as the one returned by +is the unique mount id as returned by .BR statx (2) with the .BR STATX_MNT_ID_UNIQUE The most notable one is s/size/width/. In C23 there are the concepts of the width of a type and the size of a type. The width is measured in bits, and the size is measured in bytes. Let's be consistent with that. I have also proposed a new set of operators for ISO C2y, which are _Minof, _Maxof, and _Widthof, which yield the minimum and maximum values of a type, and its width in bits. <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3518.txt> The C Committee seems in favour of that proposal, and I expect it will be accepted in August. Have a lovely day! Alex P.S.: I'm not using my @gmail account anymore. Please use <alx@kernel.org>. > --- > man/man2/open_by_handle_at.2 | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/man/man2/open_by_handle_at.2 b/man/man2/open_by_handle_at.2 > index 6b9758d42..e3ec70dd5 100644 > --- a/man/man2/open_by_handle_at.2 > +++ b/man/man2/open_by_handle_at.2 > @@ -127,6 +127,7 @@ The > .I flags > argument is a bit mask constructed by ORing together zero or more of > .BR AT_HANDLE_FID , > +.BR AT_HANDLE_MNT_ID_UNIQUE, > .BR AT_EMPTY_PATH , > and > .BR AT_SYMLINK_FOLLOW , > @@ -147,6 +148,21 @@ with the returned > .I file_handle > may fail. > .P > +When > +.I flags > +contain the > +.BR AT_HANDLE_MNT_ID_UNIQUE " (since Linux 6.12)" > +.\" commit 4356d575ef0f39a3e8e0ce0c40d84ce900ac3b61 > +flag, the caller indicates that the size of the > +.I mount_id > +buffer is at least 64bit > +and then the mount id returned in that buffer > +is the unique mount id as the one returned by > +.BR statx (2) > +with the > +.BR STATX_MNT_ID_UNIQUE > +flag. > +.P > Together, the > .I pathname > and > -- > 2.34.1 > -- <https://www.alejandro-colomar.es/> [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v3 1/2] name_to_handle_at.2: Document the AT_HANDLE_MNT_ID_UNIQUE flag 2025-03-31 8:38 ` [PATCH v3 1/2] name_to_handle_at.2: Document the AT_HANDLE_MNT_ID_UNIQUE flag Alejandro Colomar @ 2025-03-31 9:37 ` Amir Goldstein 0 siblings, 0 replies; 5+ messages in thread From: Amir Goldstein @ 2025-03-31 9:37 UTC (permalink / raw) To: Alejandro Colomar; +Cc: linux-man On Mon, Mar 31, 2025 at 10:38 AM Alejandro Colomar <alx@kernel.org> wrote: > > Hi Amir, > > On Mon, Mar 31, 2025 at 10:16:41AM +0200, Amir Goldstein wrote: > > A flag since v6.12 to indicate that the requested mount_id is > > a 64bit unique id. > > > > Cc: Chuck Lever <chuck.lever@oracle.com> > > Cc: Jeff Layton <jlayton@poochiereds.net> > > Cc: Christian Brauner <brauner@kernel.org> > > Cc: Jan Kara <jack@suse.cz> > > Cc: Aleksa Sarai <cyphar@cyphar.com> > > Signed-off-by: Amir Goldstein <amir73il@gmail.com> > > Thanks! I've applied the patch, with some minor amendments: > > diff --git i/man/man2/open_by_handle_at.2 w/man/man2/open_by_handle_at.2 > index da0129dee..47405b118 100644 > --- i/man/man2/open_by_handle_at.2 > +++ w/man/man2/open_by_handle_at.2 > @@ -127,7 +127,7 @@ .SS name_to_handle_at() > .I flags > argument is a bit mask constructed by ORing together zero or more of > .BR AT_HANDLE_FID , > -.BR AT_HANDLE_MNT_ID_UNIQUE, > +.BR AT_HANDLE_MNT_ID_UNIQUE , > .BR AT_EMPTY_PATH , > and > .BR AT_SYMLINK_FOLLOW , > @@ -153,11 +153,11 @@ .SS name_to_handle_at() > contain the > .BR AT_HANDLE_MNT_ID_UNIQUE " (since Linux 6.12)" > .\" commit 4356d575ef0f39a3e8e0ce0c40d84ce900ac3b61 > -flag, the caller indicates that the size of the > +flag, the caller indicates that the width of the > .I mount_id > -buffer is at least 64bit > +buffer is at least 64 bits, > and then the mount id returned in that buffer > -is the unique mount id as the one returned by > +is the unique mount id as returned by > .BR statx (2) > with the > .BR STATX_MNT_ID_UNIQUE > > The most notable one is s/size/width/. In C23 there are the concepts of > the width of a type and the size of a type. The width is measured in > bits, and the size is measured in bytes. Let's be consistent with that. > > I have also proposed a new set of operators for ISO C2y, which are > _Minof, _Maxof, and _Widthof, which yield the minimum and maximum values > of a type, and its width in bits. > <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3518.txt> > The C Committee seems in favour of that proposal, and I expect it will > be accepted in August. > Thanks! I did not know that. > > Have a lovely day! > Alex > > P.S.: I'm not using my @gmail account anymore. Please use > <alx@kernel.org>. > Fixed my script. Thanks, Amir. ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-03-31 9:38 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-03-31 8:16 [PATCH v3 1/2] name_to_handle_at.2: Document the AT_HANDLE_MNT_ID_UNIQUE flag Amir Goldstein 2025-03-31 8:16 ` [PATCH v3 2/2] name_to_handle_at.2: Document the AT_HANDLE_CONNECTABLE flag Amir Goldstein 2025-03-31 8:45 ` Alejandro Colomar 2025-03-31 8:38 ` [PATCH v3 1/2] name_to_handle_at.2: Document the AT_HANDLE_MNT_ID_UNIQUE flag Alejandro Colomar 2025-03-31 9:37 ` Amir Goldstein
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox