Linux NFS development
 help / color / mirror / Atom feed
From: Chuck Lever III <chuck.lever@oracle.com>
To: "Andrew J. Romero" <romero@fnal.gov>
Cc: Linux NFS Mailing List <linux-nfs@vger.kernel.org>
Subject: Re: Zombie / Orphan open files
Date: Tue, 31 Jan 2023 00:10:41 +0000	[thread overview]
Message-ID: <0D998626-5934-47B1-BAC5-3D044FAB4926@oracle.com> (raw)
In-Reply-To: <SA1PR09MB75521717AA00DCAD6CAB5118A7D39@SA1PR09MB7552.namprd09.prod.outlook.com>



> On Jan 30, 2023, at 5:11 PM, Andrew J. Romero <romero@fnal.gov> wrote:
> 
> Hi
> 
> This is a quick general NFS server question.
> 
> Does the NFSv4x  specification require or recommend that:   the NFS server, after some reasonable time, 
> should / must close orphan / zombie open files ?

No it does not. A server is supposed to leave open state alone
if the client continues to renew its lease.

A server has some recourse, though. It can recall delegations
to free up resources. We have some patches for v6.2 that do
that.

Servers can also free state where subsequent accesses by a
client indicate that the server administrator has revoked
that state. I don't believe the spec makes any statement
about when to use this facility or how to choose state to
purge, and I'm pretty sure Linux NFSD does not implement it.

A heavyweight tool would be to simulate a server reboot to
force clients to acknowledge which state they are still
using, via state recovery.


> On several NAS platforms I have seen large numbers of orphan / zombie open files "pile up" 
> as a result of Kerberos credential expiration.
> 
> Does the Red Hat NFS server "deal with" orphan / zombie open files ?

Not currently, nor does the upstream server.

Purging state is not terribly good for data integrity guarantees,
and I'm not sure how the server would make fair choices about
what OPEN stateids to purge.

So before going down that path I would like to see if the file
leakage might be the result of aberrant client behavior, and
try to address the issue from that side first. Do you have a
simple reproducer for this issue? How do you observe the
orphaned files?

--
Chuck Lever




  reply	other threads:[~2023-01-31  0:10 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-23 16:31 Trying to reduce NFSv4 timeouts to a few seconds on an established connection Andrew Klaassen
2023-01-23 16:35 ` Chuck Lever III
2023-01-23 16:41   ` Andrew Klaassen
2023-01-26 15:31 ` Andrew Klaassen
2023-01-26 22:08   ` Andrew Klaassen
2023-01-27 13:33     ` Jeff Layton
2023-01-30 19:33       ` Andrew Klaassen
2023-01-30 19:55         ` Jeff Layton
2023-01-30 20:03           ` Andrew Klaassen
2023-01-30 20:31             ` Jeff Layton
2023-01-30 22:11               ` Zombie / Orphan open files Andrew J. Romero
2023-01-31  0:10                 ` Chuck Lever III [this message]
2023-01-31 13:27                 ` Jeff Layton
2023-01-31 14:42                   ` Andrew J. Romero
2023-01-31 15:24                     ` Jeff Layton
2023-01-31 15:31                     ` Chuck Lever III
2023-01-31 16:34                     ` Chuck Lever III
2023-01-31 16:59                       ` Andrew J. Romero
2023-01-31 18:05                         ` Chuck Lever III
2023-01-31 18:33                           ` Andrew J. Romero
2023-01-31 18:51                             ` Chuck Lever III
2023-01-31 19:32                               ` Andrew J. Romero
2023-01-31 19:08                             ` Olga Kornievskaia
2023-01-31 19:31                         ` Olga Kornievskaia
2023-01-31 19:54                           ` Andrew J. Romero
2023-01-31 22:14                             ` Olga Kornievskaia
2023-01-31 22:26                               ` Andrew J. Romero
2023-01-31 22:47                                 ` Olga Kornievskaia
2023-01-31 23:08                                   ` Andrew J. Romero
2023-02-01 14:28                                     ` Olga Kornievskaia
     [not found]                                       ` <SA1PR09MB755217D2B3E29E9486D4796FA7D19@SA1PR09MB7552.namprd09.prod.outlook.com>
     [not found]                                         ` <CAN-5tyGaX=Go+kwrM33K2EaY41sXmf4v1+2JO8MhbDuGTGG7zA@mail.gmail.com>
     [not found]                                           ` <SA1PR09MB755277F59EB463643BEBDD77A7D69@SA1PR09MB7552.namprd09.prod.outlook.com>
2023-02-02  0:53                                             ` Olga Kornievskaia
2023-01-31 22:28                               ` Jeff Layton
2023-01-31 18:13                       ` Jeff Layton
2023-01-31 16:26                 ` Olga Kornievskaia
2023-01-31 17:44                   ` Andrew J. Romero
2023-01-31 18:18                   ` Frank Filz
2023-01-31 19:19                     ` Olga Kornievskaia
2023-01-31 21:31                       ` Frank Filz
2023-01-31 21:46                         ` Andrew J. Romero
2023-02-02 18:16               ` Trying to reduce NFSv4 timeouts to a few seconds on an established connection Andrew Klaassen
2023-02-06 15:27                 ` Andrew Klaassen
2023-02-06 17:18                   ` Andrew Klaassen
2023-02-27 14:48                     ` Andrew Klaassen
2023-02-28 13:23                       ` Jeff Layton
2023-03-02 15:25                         ` Andrew Klaassen
2023-03-02 18:47                         ` Andrew Klaassen

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=0D998626-5934-47B1-BAC5-3D044FAB4926@oracle.com \
    --to=chuck.lever@oracle.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=romero@fnal.gov \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox