All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>
To: NeilBrown <neilb@suse.com>
Cc: mtk.manpages@gmail.com, linux-man@vger.kernel.org,
	"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	Lennart Poettering <lennart@poettering.net>,
	Peng Tao <tao.peng@primarydata.com>
Subject: Re: [manpages PATCH] open_by_handle_at: clarifications needed due to NFS reexport
Date: Wed, 22 Nov 2017 17:48:55 +0100	[thread overview]
Message-ID: <52c5800b-150a-7ec9-133b-6c32e97249f4@gmail.com> (raw)
In-Reply-To: <87wp2j1ggu.fsf@notabene.neil.brown.name>

Hello Neil,

On 11/21/2017 10:15 PM, NeilBrown wrote:
> 
> The recent addition of NFS re-export and the possibility of
> using name_to_handle_at() on an NFS filesystem raises issues
> with name_to_handle_at() which have not been properly documented.
> 
> Getting the filehandle for an untriggered automount point is
> arguably meaningless and in certainly not supported by NFS.
> name_to_handle_at() will return -EOVERFLOW even though the
> requested "handle_bytes" is large enough.  This is an unfortunate
> overloading of the error code, but is manageable.
> 
> So clarify this and also note that the mount_id is returned
> when EOVERFLOW is reported.
> 
> Thought: it would be nice if mount_id were returned in the
> EOPNOTSUPP case too.  I guess it is too late to fix that (?).
> 
> Link: https://github.com/systemd/systemd/issues/7082
> Signed-off-by: NeilBrown <neilb@suse.com>

Thanks! Patch applied.

Cheers,

Michael

PS And meta-thanks for thinking to send me the steady small 
stream of man-pages patches that you do.

> ---
>  man2/open_by_handle_at.2 | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
> 
> diff --git a/man2/open_by_handle_at.2 b/man2/open_by_handle_at.2
> index 91300e80fe24..9a30dd2ed476 100644
> --- a/man2/open_by_handle_at.2
> +++ b/man2/open_by_handle_at.2
> @@ -109,6 +109,12 @@ and
>  is set to indicate the required size;
>  the caller can then use this information to allocate a structure
>  of the correct size (see EXAMPLE below).
> +Some care is needed here as
> +.BR EOVERFLOW
> +can also indicate that no filehandle is available for this particular
> +name in a filesystem which does normally support filehandle lookup.
> +This case can be detected when EOVERFLOW is returned without
> +handle_bytes being increased.
>  .PP
>  Other than the use of the
>  .IR handle_bytes
> @@ -193,6 +199,10 @@ Opening the pathname in the fifth field of that record yields a file
>  descriptor for the mount point;
>  that file descriptor can be used in a subsequent call to
>  .BR open_by_handle_at ().
> +.I mount_id
> +is returned both for a successful call and for a call that results
> +in the error
> +.BR EOVERFLOW .
>  .PP
>  By default,
>  .BR name_to_handle_at ()
> @@ -206,6 +216,21 @@ is specified in
>  .I pathname
>  is dereferenced if it is a symbolic link
>  (so that the call returns a handle for the file referred to by the link).
> +.PP
> +.BR name_to_handle_at )
> +does not trigger a mount when the final component of the path is an
> +automount point.  When a filesystem supports both filehandles and
> +automount points, a
> +.BR name_to_handle_at ()
> +call on an automount point will return with error
> +.BR EOVERFLOW
> +without having increased
> +.IR handle_bytes .
> +This can happen since Linux 4.13 with NFS when accessing a directory
> +which is on a separate filesystem on the server.
> +.\" commit 20fa19027286983ab2734b5910c4a687436e0c31
> +In this case the automount can be triggered by adding a "/" to the end
> +of the path.
>  .SS open_by_handle_at()
>  The
>  .BR open_by_handle_at ()
> 


-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/

WARNING: multiple messages have this Message-ID (diff)
From: "Michael Kerrisk (man-pages)" <mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: NeilBrown <neilb-IBi9RG/b67k@public.gmane.org>
Cc: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	"linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Lennart Poettering
	<lennart-mdGvqq1h2p+GdvJs77BJ7Q@public.gmane.org>,
	Peng Tao <tao.peng-7I+n7zu2hftEKMMhf/gKZA@public.gmane.org>
Subject: Re: [manpages PATCH] open_by_handle_at: clarifications needed due to NFS reexport
Date: Wed, 22 Nov 2017 17:48:55 +0100	[thread overview]
Message-ID: <52c5800b-150a-7ec9-133b-6c32e97249f4@gmail.com> (raw)
In-Reply-To: <87wp2j1ggu.fsf-wvvUuzkyo1HefUI2i7LXDhCRmIWqnp/j@public.gmane.org>

Hello Neil,

On 11/21/2017 10:15 PM, NeilBrown wrote:
> 
> The recent addition of NFS re-export and the possibility of
> using name_to_handle_at() on an NFS filesystem raises issues
> with name_to_handle_at() which have not been properly documented.
> 
> Getting the filehandle for an untriggered automount point is
> arguably meaningless and in certainly not supported by NFS.
> name_to_handle_at() will return -EOVERFLOW even though the
> requested "handle_bytes" is large enough.  This is an unfortunate
> overloading of the error code, but is manageable.
> 
> So clarify this and also note that the mount_id is returned
> when EOVERFLOW is reported.
> 
> Thought: it would be nice if mount_id were returned in the
> EOPNOTSUPP case too.  I guess it is too late to fix that (?).
> 
> Link: https://github.com/systemd/systemd/issues/7082
> Signed-off-by: NeilBrown <neilb-IBi9RG/b67k@public.gmane.org>

Thanks! Patch applied.

Cheers,

Michael

PS And meta-thanks for thinking to send me the steady small 
stream of man-pages patches that you do.

> ---
>  man2/open_by_handle_at.2 | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
> 
> diff --git a/man2/open_by_handle_at.2 b/man2/open_by_handle_at.2
> index 91300e80fe24..9a30dd2ed476 100644
> --- a/man2/open_by_handle_at.2
> +++ b/man2/open_by_handle_at.2
> @@ -109,6 +109,12 @@ and
>  is set to indicate the required size;
>  the caller can then use this information to allocate a structure
>  of the correct size (see EXAMPLE below).
> +Some care is needed here as
> +.BR EOVERFLOW
> +can also indicate that no filehandle is available for this particular
> +name in a filesystem which does normally support filehandle lookup.
> +This case can be detected when EOVERFLOW is returned without
> +handle_bytes being increased.
>  .PP
>  Other than the use of the
>  .IR handle_bytes
> @@ -193,6 +199,10 @@ Opening the pathname in the fifth field of that record yields a file
>  descriptor for the mount point;
>  that file descriptor can be used in a subsequent call to
>  .BR open_by_handle_at ().
> +.I mount_id
> +is returned both for a successful call and for a call that results
> +in the error
> +.BR EOVERFLOW .
>  .PP
>  By default,
>  .BR name_to_handle_at ()
> @@ -206,6 +216,21 @@ is specified in
>  .I pathname
>  is dereferenced if it is a symbolic link
>  (so that the call returns a handle for the file referred to by the link).
> +.PP
> +.BR name_to_handle_at )
> +does not trigger a mount when the final component of the path is an
> +automount point.  When a filesystem supports both filehandles and
> +automount points, a
> +.BR name_to_handle_at ()
> +call on an automount point will return with error
> +.BR EOVERFLOW
> +without having increased
> +.IR handle_bytes .
> +This can happen since Linux 4.13 with NFS when accessing a directory
> +which is on a separate filesystem on the server.
> +.\" commit 20fa19027286983ab2734b5910c4a687436e0c31
> +In this case the automount can be triggered by adding a "/" to the end
> +of the path.
>  .SS open_by_handle_at()
>  The
>  .BR open_by_handle_at ()
> 


-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2017-11-22 16:49 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-21 21:15 [manpages PATCH] open_by_handle_at: clarifications needed due to NFS reexport NeilBrown
2017-11-21 21:15 ` NeilBrown
2017-11-22 16:48 ` Michael Kerrisk (man-pages) [this message]
2017-11-22 16:48   ` Michael Kerrisk (man-pages)
2017-11-23 23:53   ` [manpages PATCH] open_by_handle_at.2: clarify MAX_HANDLE_SZ NeilBrown
2017-11-23 23:53     ` NeilBrown
2017-11-24  8:34     ` Michael Kerrisk (man-pages)
2017-11-24  8:34       ` Michael Kerrisk (man-pages)

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=52c5800b-150a-7ec9-133b-6c32e97249f4@gmail.com \
    --to=mtk.manpages@gmail.com \
    --cc=lennart@poettering.net \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-man@vger.kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=neilb@suse.com \
    --cc=tao.peng@primarydata.com \
    /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.