On Tue, 2021-06-29 at 12:12 -0400, Olga Kornievskaia wrote: > On Tue, Jun 29, 2021 at 9:41 AM Olga Kornievskaia <aglo@xxxxxxxxx> > wrote: > > > > On Mon, Jun 28, 2021 at 6:06 PM Trond Myklebust > > <trondmy@xxxxxxxxxxxxxxx> wrote: > > > > > > On Mon, 2021-06-28 at 16:23 -0400, Olga Kornievskaia wrote: > > > > 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. > > > '-o remount' does not currently try to reprobe server capabilities, but we could have it do that. -- Trond Myklebust Linux NFS client maintainer, Hammerspace trond.myklebust@xxxxxxxxxxxxxxx