Bug #417
closed
<Triskelios> http://hg.openindiana.org/illumos-gate/file/24c98ecd58de/usr/src/uts/common/fs/nfs/nfs4_state.c#2025
<gwr> That looks OK to me, given a brief look.
<gwr> Using rfs4_lease_time instead of rfs4_openowner_cache_time seems odd, but that would make it timeout earlier...
<gwr> Isn't the bug that these are not being cleaned up?
<Triskelios> the issue is that clients will accumulate unused open_owners while they're still active for any reason
* kart_ has quit (Ping timeout: 265 seconds)
<gwr> Ah, I can see why that would be. It's using ->rc_last_access, which is updated for _any_ activity on that client, not activity for this specific "open owner" object.
* kart_ (~kartik@122.169.94.204) has joined #nexenta-kernel
<Triskelios> right
<gwr> OK, so it needs something to replace oo->ro_client->rc_last_access
<gwr> and that new thing needs to be updated in the appropriate places...
<gwr> I think we understand the bug now, so you should update the issue with that before going too much further.
- Difficulty set to Medium
- Tags set to needs-triage
rfs4_openowner_expiry() doesn't return TRUE if client is active (sends RENEW on time). Due to this number of openowner entries grows till to 1M entries.
Really openowner should be freed in lease time if no any "openstateid" associated with this owner. Therefore rfs4_openowner_expiry() should always return TRUE (refcnt == 1)
rfs4_state_expiry() does needed lease time delay.
- Assignee changed from Albert Lee to Vitaliy Gusev
The rfs4_state_t objects are not released until the client is in the grace period, and the expiration is prevented if the associated file is not closed, so it looks like the ref held by them on openowner objects is sufficient.
- Status changed from New to Resolved
changeset: 13756:281242a86f07
tag: tip
user: Vitaliy Gusev <gusev.vitaliy@nexenta.com>
date: Sun Jul 22 00:00:47 2012 +0000
description:
417 Stale OpenOwner entries are not reaped for active clients
Reviewed by: Albert Lee <trisk@nexenta.com>
Approved by: Gordon Ross <gwr@nexenta.com>
modified:
usr/src/uts/common/fs/nfs/nfs4_state.c
Also available in: Atom
PDF