[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20170707164700.GA18740@fieldses.org>
Date: Fri, 7 Jul 2017 12:47:00 -0400
From: "J. Bruce Fields" <bfields@...ldses.org>
To: Jeff Layton <jlayton@...hat.com>
Cc: Theodore Ts'o <tytso@....edu>,
"Darrick J. Wong" <darrick.wong@...cle.com>,
William Koh <kkc6196@...com>,
Andreas Dilger <adilger@...ger.ca>,
linux-ext4 <linux-ext4@...r.kernel.org>,
lkml <linux-kernel@...r.kernel.org>,
Kernel Team <Kernel-team@...com>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
Trond Myklebust <trond.myklebust@...marydata.com>,
xfs <linux-xfs@...r.kernel.org>
Subject: Re: [PATCH] fs: ext4: inode->i_generation not assigned 0.
On Fri, Jul 07, 2017 at 12:13:36PM -0400, Jeff Layton wrote:
> On Fri, 2017-07-07 at 11:51 -0400, Theodore Ts'o wrote:
> > On Fri, Jul 07, 2017 at 06:51:37AM -0400, Jeff Layton wrote:
> > >
> > > Right. That's the case today if we don't remove support for old
> > > filehandles. If we were to remove them, the clients would get back
> > > -ESTALE there if they tried to use the old 2.2-style fh's that they saw
> > > before the upgrade.
> > >
> > > The main takeaway here is that NFS filehandle lifetime is really only
> > > bounded by the boot time of the oldest clients.
> >
> > Well, and how long an NFS server is still up. So one could construct
> > a use case where a (hypothetical) system administrator had a RHEL 7.0
> > system with a 2.2.16-22 kernel, and they try to update it to a
> > (hypothetical) RHEL 10 kernel in one fell swoop with a 4.13+ kernel
> > that no longer supports the 2-2-style fh's. A client that had the
> > server mounted when it was running the 2.2 kernel might only be up for
> > a few hours, before the upgrade to RHEL 10 happened, and then the
> > client would get ESTALE errors.
> >
> > Of course, I've stopped carrying about enterprise kernel support a
> > long time ago, so I just think that scenario is funny. I recognize
> > that folks who work at Red Hat have to worry about such things --- and
> > I'm sorry. :-)
> >
> > In reality a server installed with RHEL 7.0 has probably died of old
> > age by now --- unless someone crazy is running it in a VMware VM
> > because they had some enterprise software package or some bar-code
> > printing module for which they don't have source code[1], and so they are
> > stuck on RHEL 7.0, even in 2017. Have I mentioned I'm so glad I don't
> > have to worry these sorts of things any more?
RHEL 7 is current, I think you mean the 17-year-old Red Hat Linux 7.
Anyone that far back is on their own as far as any enterprise distro is
concerned.
There are some exceptions to the "lifetime of a mount" rule, none real
issues, I think:
- fscache may keep fh's around across client boots, but I
suspect you just lose the benefit of the cache until it
expires data keyed under old filehandles and repopulates the
cache with new ones.
- Does the client actually depend on stable filehandles across
client reboots if it might cache write data under a persistent
delegation? But seeing as we don't even implement persistent
delegations, this is a non-issue.
- nontraditional NFS clients could do any random thing. NFS is
just a protocol, we have no idea how some weird application
that talks NFS directly to the server might use filehandles.
But this is purely hypothetical, I don't know of one.
--b.
Powered by blists - more mailing lists