Subject: [nfsv4] I-D ACTION:draft-ietf-nfsv4-pnfs-obj-01.txt

From: [email-masked]
Date: Wed, 28 Jun 2006 15:50:02 -0400

A New Internet-Draft is available from the on-line Internet-Drafts directories.
This draft is a work item of the Network File System Version 4 Working Group of the IETF.

	Title		: Object-based pNFS Operations
	Author(s)	: B. Halevy, et al.
	Filename	: draft-ietf-nfsv4-pnfs-obj-01.txt
	Pages		: 24
	Date		: 2006-6-28
	
This Internet-Draft provides a description of the object-based pNFS
   extension for NFSv4.  This is a companion to the main pnfs
   specification in the NFSv4 Minor Version 1 Internet Draft, which is
   currently draft-ietf-nfsv4-minorversion1-03.txt.

A URL for this Internet-Draft is:
http://www.ietf.org/internet-drafts/draft-ietf-nfsv4-pnfs-obj-01.txt

To remove yourself from the I-D Announcement list, send a message to 
[email-masked] with the word unsubscribe in the body of the message.  
You can also visit https://www1.ietf.org/mailman/listinfo/I-D-announce 
to change your subscription settings.

Internet-Drafts are also available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
	"get draft-ietf-nfsv4-pnfs-obj-01.txt".

A list of Internet-Drafts directories can be found in
http://www.ietf.org/shadow.html 
or ftp://ftp.ietf.org/ietf/1shadow-sites.txt

Internet-Drafts can also be obtained by e-mail.

Send a message to:
	[email-masked].
In the body type:
	"FILE /internet-drafts/draft-ietf-nfsv4-pnfs-obj-01.txt".
	
NOTE:	The mail server at ietf.org can return the document in
	MIME-encoded form by using the "mpack" utility.  To use this
	feature, insert the command "ENCODING mime" before the "FILE"
	command.  To decode the response(s), you will need "munpack" or
	a MIME-compliant mail reader.  Different MIME-compliant mail readers
	exhibit different behavior, especially when dealing with
	"multipart" MIME messages (i.e. documents which have been split
	up into multiple messages), so check your local documentation on
	how to manipulate these messages.

Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version of the
Internet-Draft.
_______________________________________________
nfsv4 mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/nfsv4

---

From: Spencer Shepler <[email-masked]>
Date: Wed, 28 Jun 2006 19:28:58 -0500

> 	Filename	: draft-ietf-nfsv4-pnfs-obj-01.txt

Do we need an agenda item for discussion of this in Montreal?

Spencer

---

From: Benny Halevy <[email-masked]>
Date: Thu, 29 Jun 2006 07:09:46 +0300

> Do we need an agenda item for discussion of this in Montreal?
Yes please. I actually already asked for one in advance...

Benny

---

From: Benny Halevy <[email-masked]>
Date: Thu, 29 Jun 2006 16:47:42 +0300

>http://www.ietf.org/internet-drafts/draft-ietf-nfsv4-pnfs-obj-01.txt
Below is a summary of the changes in this draft.
I'm attaching the new I-D for your convenience,
please provide any comments to the list and/or in Montreal.

Benny

* Editing-level changes:
- Text reorganized to help readability
- Explanatory text added for internal data types to help understand and 
implement the draft
- Naming convention: types begin with pnfs_osd
- References to external data types scrubbed and corrected where needed

* pnfs_osd_addr_type4
struct pnfs_osd_deviceaddr4 {
union target switch (pnfs_osd_addr_type4 type) {
case OBJ_TARGET_NETADDR:
pnfs_netaddr4 netaddr;
case OBJ_TARGET_IQN:
string iqn<>;
case OBJ_TARGET_WWN:
string wwn<>;
default:
void;
};
uint64_t lun;
opaque root_id<>;
};

- Allows specifying a pnfs_netaddr4 instead of a string containing an ip 
address.
- Structure union-ified for simplicity.

* pnfs_osd_layout_update4
struct pnfs_osd_layoutupdate4 {
pnfs_osd_deltaspaceused4 delta_space_used;
pnfs_osd_ioerr4 ioerr<>;
};

- Removed time_metadata as it’s redundant with LAYOUTCOMMIT4args. 
time_modify

* pnfs_osd_ioerr4
struct pnfs_osd_ioerr4 {
pnfs_osd_objid4 component;
length4 offset;
length4 length;
bool iswrite;
pnfs_osd_errno4 errno;
};

- Added “bool iswrite” field to pnfs_osd_ioerr4 to signify errors on 
data modifying osd operations.

* pnfs_layouthint4
union num_comps_hint4 switch (bool valid) {
case TRUE:
uint32_t num_comps;
case FALSE:
void;
};
. . .
struct pnfs_osd_layouthint4 {
num_comps_hint4 num_comps_hint;
stripe_unit_hint4 stripe_unit_hint;
group_width_hint4 group_width_hint;
group_depth_hint4 group_depth_hint;
mirror_cnt_hint4 mirror_cnt_hint;
raid_algorithm_hint4 raid_algorithm_hint;
};

- Type beefed up with all map parameters, all are optional.
- Added usage text.

* Object-Based Layout Segments
- Object based layout segments cannot be merged or split due to 
immutability of OSD capabilities.
- New text specifies rules for handling byte ranges in CB_LAYOUTRECALL 
and LAYOUTGET
- Key difference from file/block layouts is that client needs to keep 
track of each segment it got.
- Client should return all segments overlapping with the recalled range 
(and matching iomode etc.)
- Client MUST NOT return a sub-range of a layout segment.

* LAYOUTCOMMIT
- Added explanatory text about non-usage of LAYOUTCOMMIT’s byte range. 
Reserved for future use, must be set to 0 for now.
- Explained usage of byte ranges in pnfs_osd_ioerr4 which may be sent in 
pnfs_osd_layoutupdate4 as part of LAYOUTCOMMIT.

* Recalling Layouts
- Added explanatory text to describe in what scenarios the object-based 
metadata server is expected to recall layouts
- File’s security policy changes
- File’s aggregation map changes
- Sharing conflicts

* Security Considerations
- Merged section 15.2 “Object Layout Security” of 
draft-ietf-nfsv4-minorversion1-03.txt into this document.
- This section can be safely removed now from the nfsv4.1 draft.