Subject: [nfsv4] some pNFS issues in draft-09 and a lease on device ID to device address mappings

From: Mike Eisler <[email-masked]>
Date: Fri, 2 Mar 2007 23:36:09 -0800 (PST)

Garth Goodson and Rahul Iyer have pointed out some issues that are
mostly word smithing and editorial. I've tracked our email discussions
in the issues tracker,

  http://www.nfsv4-editor.org/cgi-bin/roundup/nfsv4/issue159

One thing Garth pointed out to me is that device ID to device address
mappings are explicitly noted as being leased in draft-09, whereas
previous drafts never said that.

I claim previous drafts did imply that. Here is my thought process:

Draft-08 says:
  A client must not assume that device IDs are 
  valid across metadata server reboots.

Everything else in NFSv4 that goes away after a reboot is either
leased or has a verifier. Device ids, at 32 bits, are two small to
have a verifier, regardless they aren't used as arguments in I/O like
WRITE verifiers or READDIR verifiers, so they feel leased to me.
That's my knee jerk reaction, adherence to the KISS principle, etc.
So let's test my mindless instincts.

draft-08 also says:

  If data are reorganized from a storage device 
  with a given device ID to a different storage 
  device (i.e., if the mapping between storage 
  device and data changes), the layout describing 
  the data MUST be recalled rather than assigning 
  the new storage device to the old device ID.

So let's say there is a network partition between a client
with a layout segment, and the metadata server. The partition exceeds
the lease time. During the partition, the metadata server recalls the
layout, in order to re-map the "device ID to a different storage
device". The recall becomes a revoke because the client doesn't
respond within the lease time.

The next time the client sends SEQUENCE, the sr_status_flags have
SEQ4_STATUS_EXPIRED_SOME_STATE_REVOKED set. Earlier drafts might
have returned NFS4ERR_STALE_CLIENTID, but sr_status flags --
st_status_flags were introduced in draft-08.

The client lost its device mappings because its lease expired.
So device ID to device address mappings are leased. Draft -09
makes it official.

_______________________________________________
nfsv4 mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/nfsv4

---

From: Benny Halevy <[email-masked]>
Date: Sun, 04 Mar 2007 17:37:16 +0200

> So device ID to device address mappings are leased. Draft -09

Makes sense to me too.

Benny