Thread (12 messages) 12 messages, 4 authors, 2021-06-30

Re: client's caching of server-side capabilities

From: Olga Kornievskaia <hidden>
Date: 2021-06-29 16:13:03

On Tue, Jun 29, 2021 at 9:41 AM Olga Kornievskaia [off-list ref] wrote:
On Mon, Jun 28, 2021 at 6:06 PM Trond Myklebust [off-list ref] wrote:
quoted
On Mon, 2021-06-28 at 16:23 -0400, Olga Kornievskaia wrote:
quoted
Hi folks,

I have a general question of why the client doesn't throw away the
cached server's capabilities on server reboot. Say a client mounted a
server when the server didn't support security_labels, then the
server
was rebooted and support was enabled. Client re-establishes its
clientid/session, recovers state, but assumes all the old
capabilities
apply. A remount is required to clear old/find new capabilities. The
opposite is true that a capability could be removed (but I'm assuming
that's a less practical example).

I'm curious what are the problems of clearing server capabilities and
rediscovering them on reboot? Is it because a local filesystem could
never have its attributes changed and thus a network file system
can't
either?

Thank you.
In my opinion, the client should aim for the absolute minimum overhead
on a server reboot. The goal should be to recover state and get I/O
started again as quickly as possible. Detection of new features, etc
can wait until the client needs to restart.
Do I interpret this correctly: no capability discoveries before
RECLAIM_COMPLETE but perhaps after? I agree that reboot recovery
should be done as quickly as possible. If it's some time after, then
perhaps it can be done on-demand thru say nfs sysfs api: have ability
to clear current capabilities (or a specific one) and do discover new
ones?

The use case I'm going for is when a server upgrades and comes up with
support for new features. Currently, it requires a client re-mount.
But perhaps requiring "mount -o remount" in that case isn't any
different than requiring use of sysfs.
Actually, I tried to do a "mount -o remount" after taking down the
server and changing its features (ie security label support), and the
client does not query for supported attributes. So I think either at
least perhaps that can be changed somehow or we do need a sysfs api to
be able to change server's capabilities of a given mount.
Thank you for the feedback.
quoted
--
Trond Myklebust
Linux NFS client maintainer, Hammerspace
trond.myklebust@hammerspace.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help