Subject: [nfsv4] pNFS Callbacks: sizechanged and/or layout recall

From: [email-masked]
Date: Tue, 4 Apr 2006 14:03:03 -0400

> [As I write this, I realize we should have text that explains when the
> CB_SIZECHANGED callback should be used, and when the layout should
> simply be recalled with CB_LAYOUTRECALL.  The current ID says that
> CB_SIZECHANGED is preferred to recalling the layout.  And
> my notes say that the server should do CB_SIZECHANGED before
> responding to a setattr request.  But my dire warnings above indicate
> that a CB_LAYOUTRECALL is more robust.  This may be layout specific.]

I believe the answers are roughly:
- CB_SIZECHANGED: Any client with a layout that will include any bytes
	beyond the new EOF after EOF-related processing (including
LAYOUTRECALL)
	is complete.
- CB_LAYOUTRECALL: Server's discretion.  There are some layout-specific
	cases in which implementation choices will make it essentially
	mandatory (e.g., for the block layout, zeroing the partial block
	beyond new EOF).
There will be cases in which both are required (e.g., move EOF into the
middle of a layout held by a client, and recall just the block that EOF
landed in) - in this case, SIZECHANGED SHOULD come first and a compound
callback encompassing both the size change and recall SHOULD be used to
give the client the maximum "clue" about what's happening. 

Note that SIZECHANGED has layout side effects that need to be documented
in the layout specific drafts (e.g., in the block layout, all data beyond
the new EOF is now invalid - reads return zeros if the file is extended
to include it, and writes need to issue layout commits).

Thanks,
--David
----------------------------------------------------
David L. Black, Senior Technologist
EMC Corporation, 176 South St., Hopkinton, MA  01748
+1 (508) 293-7953             FAX: +1 (508) 293-7786
[email-masked]        Mobile: +1 (978) 394-7754
----------------------------------------------------

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