* pNFS client structure and function rename suggestions
@ 2010-07-27 15:38 Andy Adamson
2010-07-28 11:09 ` Boaz Harrosh
0 siblings, 1 reply; 8+ messages in thread
From: Andy Adamson @ 2010-07-27 15:38 UTC (permalink / raw)
To: linux-nfs@vger.kernel.org
[-- Attachment #1: Type: text/html, Size: 490 bytes --]
[-- Attachment #2: pnfs-client-rename.txt --]
[-- Type: text/plain, Size: 2639 bytes --]
*********
include/linux/nfs_fs.h
struct pnfs_layout_type => pnfs_layout
fields:
refcount => lo_refcount
segs => lo_segs
roc_iomode => lo_roc_iomode
seqlock => lo_seqlock
stateid => lo_stateid
pnfs_layout_state => lo_state
pnfs_write_begin_pos => lo_write_begin
pnfs_write_end_pos => lo_write_end
*********
include/linux/pnfs_xdr.h
NOTE: consider removing and adding to include/linux/nfs_xdr.h where the other
nfsv4.1 xdr structs are declared.
struct nfs4_pnfs_layout => remove, inline in nfs4_layoutget_args.
struct nfs4_pnfs_layout_segment => pnfs_layout_range
struct nfs4_pnfs_layoutget_arg => nfs4_layoutget_args
fields:
lseg => range
layout: remove. inline with:
add: layout_len
add: layout_buf
struct nfs4_pnfs_layoutget_res => nfs4_layoutget_res
fields:
lseg => range
struct nfs4_pnfs_layoutget => nfs4_layoutget
struct pnfs_layoutcommit_arg => nfs4_layoutcommit_args
fields:
lseg => range
struct pnfs_layoutcommit_res => nfs4_layoutcommit_res
struct pnfs_layoutcommit_data => nfs4_layoutcommit_data
struct nfs4_pnfs_layoutreturn_arg => nfs4_layoutreturn_args
fields:
lseg => range
struct nfs4_pnfs_layoutreturn_res => nfs4_layoutreturn_res
struct nfs4_pnfs_layoutreturn => nfs4_layoutreturn
struct nfs4_pnfs_getdeviceinfo_arg => nfs4_getdeviceinfo_args
struct nfs4_pnfs_getdeviceinfo_res => nfs4_getdeviceinfo_res
*********
include/linux/nfs4.h
NFSPROC4_CLNT_PNFS_LAYOUTGET => NFSPROC4_CLNT_LAYOUTGET
NFSPROC4_CLNT_PNFS_LAYOUTCOMMIT => NFSPROC4_CLNT_LAYOUTCOMMIT
NFSPROC4_CLNT_PNFS_LAYOUTRETURN => NFSPROC4_CLNT_LAYOUTRETURN
NFSPROC4_CLNT_PNFS_GETDEVICEINFO => NFSPROC4_CLNT_GETDEVICEINFO
*********
fs/nfs/nfs4proc.c
nfs4_pnfs_layoutget_prepare => nfs4_layoutget_prepare
nfs4_pnfs_layoutget_done => nfs4_layoutget_done
nfs4_pnfs_layoutget_release => nfs4_layoutget_release
_pnfs4_proc_layoutget => _nfs4_proc_layoutget
pnfs4_proc_layoutget => nfs4_proc_layoutget
pnfs_layoutcommit_prepare => nfs4_layoutcommit_prepare
pnfs_layoutcommit_done => nfs4_layoutcommit_done
pnfs_layoutcommit_release => nfs4_layoutcommit_release
_pnfs4_proc_layoutcommit => _nfs4_proc_layoutcommit
pnfs4_proc_layoutcommit => nfs4_proc_layoutcommit
nfs4_pnfs_layoutreturn_prepare => nfs4_layoutreturn_prepare
nfs4_pnfs_layoutreturn_done => nfs4_layoutreturn_done
nfs4_pnfs_layoutreturn_release => nfs4_layoutreturn_release
_pnfs4_proc_layoutreturn => _nfs4_proc_layoutreturn
pnfs4_proc_layoutreturn => nfs4_proc_layoutreturn
nfs4_pnfs_getdeviceinfo => nfs4_proc_getdeviceinfo
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: pNFS client structure and function rename suggestions
2010-07-27 15:38 pNFS client structure and function rename suggestions Andy Adamson
@ 2010-07-28 11:09 ` Boaz Harrosh
2010-07-28 13:48 ` Fred Isaman
0 siblings, 1 reply; 8+ messages in thread
From: Boaz Harrosh @ 2010-07-28 11:09 UTC (permalink / raw)
To: Andy Adamson; +Cc: linux-nfs
On 07/27/2010 06:37 PM, Andy Adamson wrote:
> *********
> include/linux/nfs_fs.h
>
> struct pnfs_layout_type => pnfs_layout
I must disagree. Sorry.
The layout4 type in the standard is defined as:
struct layout4 {
offset4 lo_offset;
length4 lo_length;
layoutiomode4 lo_iomode;
layout_content4 lo_content;
};
Which is what we use as layout_segment. All the "LAYOUT" operations
operate on an embedded concept of the above layout (seg) and or
the LAYOUTGET actually returns a layout4.
Calling something else pnfs_layout, will totally confuse. (And it seems
it has already confused the best of us ;-) )
The above, former struct pnfs_layout_type, is a collection of "layout"s
and governing state, plus general LD based IO management stuff.
For me it is just the "nfs inode extension for pnfs", embedded inside the
"LD inode extension"
Call it what you like. But the concept of "layout" was invented by the
rfc5661. Please don't overload it to mean something else.
> fields:
> refcount => lo_refcount
> segs => lo_segs
> roc_iomode => lo_roc_iomode
> seqlock => lo_seqlock
> stateid => lo_stateid
> pnfs_layout_state => lo_state
> pnfs_write_begin_pos => lo_write_begin
> pnfs_write_end_pos => lo_write_end
>
Maybe just call it:
struct nfs_inode {
...
struct pnfs_info *pnfs;
If the "layout" name is dropped then by naming convention the "lo_" is not
appropriate as well.
> *********
> include/linux/pnfs_xdr.h
>
> NOTE: consider removing and adding to include/linux/nfs_xdr.h where the other
> nfsv4.1 xdr structs are declared.
>
> struct nfs4_pnfs_layout => remove, inline in nfs4_layoutget_args.
>
> struct nfs4_pnfs_layout_segment => pnfs_layout_range
Isn't this a struct layout4 above?
(And what an ugly reorder from the STD's fields, with these double
miss alignment inside the nfs4_pnfs_layoutget_arg)
I don't see why we have to invent new names (and structures) that translate
to yet other names and concepts in the standard. (And a dictionary that
translates one to the other). Why can't we just use the STDs names and structures
directly? Is there not to many already?
>
> struct nfs4_pnfs_layoutget_arg => nfs4_layoutget_args
> fields:
> lseg => range
> layout: remove. inline with:
> add: layout_len
> add: layout_buf
>
> struct nfs4_pnfs_layoutget_res => nfs4_layoutget_res
> fields:
> lseg => range
>
All these lsegs above and below are layouts
> struct nfs4_pnfs_layoutget => nfs4_layoutget
>
OMG, yes!
Boaz
> struct pnfs_layoutcommit_arg => nfs4_layoutcommit_args
> fields:
> lseg => range
>
> struct pnfs_layoutcommit_res => nfs4_layoutcommit_res
>
> struct pnfs_layoutcommit_data => nfs4_layoutcommit_data
>
> struct nfs4_pnfs_layoutreturn_arg => nfs4_layoutreturn_args
> fields:
> lseg => range
>
> struct nfs4_pnfs_layoutreturn_res => nfs4_layoutreturn_res
>
> struct nfs4_pnfs_layoutreturn => nfs4_layoutreturn
>
> struct nfs4_pnfs_getdeviceinfo_arg => nfs4_getdeviceinfo_args
>
> struct nfs4_pnfs_getdeviceinfo_res => nfs4_getdeviceinfo_res
>
> *********
> include/linux/nfs4.h
>
> NFSPROC4_CLNT_PNFS_LAYOUTGET => NFSPROC4_CLNT_LAYOUTGET
> NFSPROC4_CLNT_PNFS_LAYOUTCOMMIT => NFSPROC4_CLNT_LAYOUTCOMMIT
> NFSPROC4_CLNT_PNFS_LAYOUTRETURN => NFSPROC4_CLNT_LAYOUTRETURN
> NFSPROC4_CLNT_PNFS_GETDEVICEINFO => NFSPROC4_CLNT_GETDEVICEINFO
>
> *********
>
> fs/nfs/nfs4proc.c
>
> nfs4_pnfs_layoutget_prepare => nfs4_layoutget_prepare
> nfs4_pnfs_layoutget_done => nfs4_layoutget_done
> nfs4_pnfs_layoutget_release => nfs4_layoutget_release
>
> _pnfs4_proc_layoutget => _nfs4_proc_layoutget
> pnfs4_proc_layoutget => nfs4_proc_layoutget
>
>
> pnfs_layoutcommit_prepare => nfs4_layoutcommit_prepare
> pnfs_layoutcommit_done => nfs4_layoutcommit_done
> pnfs_layoutcommit_release => nfs4_layoutcommit_release
>
> _pnfs4_proc_layoutcommit => _nfs4_proc_layoutcommit
> pnfs4_proc_layoutcommit => nfs4_proc_layoutcommit
>
> nfs4_pnfs_layoutreturn_prepare => nfs4_layoutreturn_prepare
> nfs4_pnfs_layoutreturn_done => nfs4_layoutreturn_done
> nfs4_pnfs_layoutreturn_release => nfs4_layoutreturn_release
>
> _pnfs4_proc_layoutreturn => _nfs4_proc_layoutreturn
> pnfs4_proc_layoutreturn => nfs4_proc_layoutreturn
>
> nfs4_pnfs_getdeviceinfo => nfs4_proc_getdeviceinfo
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: pNFS client structure and function rename suggestions
2010-07-28 11:09 ` Boaz Harrosh
@ 2010-07-28 13:48 ` Fred Isaman
2010-07-28 14:12 ` Boaz Harrosh
0 siblings, 1 reply; 8+ messages in thread
From: Fred Isaman @ 2010-07-28 13:48 UTC (permalink / raw)
To: Boaz Harrosh; +Cc: Andy Adamson, linux-nfs
On Wed, Jul 28, 2010 at 7:09 AM, Boaz Harrosh <bharrosh@panasas.com> wr=
ote:
> On 07/27/2010 06:37 PM, Andy Adamson wrote:
>> *********
>> include/linux/nfs_fs.h
>>
>> struct pnfs_layout_type =3D> pnfs_layout
>
> I must disagree. Sorry.
>
> The layout4 type in the standard is defined as:
> struct layout4 {
> =A0 =A0 =A0 =A0 =A0 offset4 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 lo_offset=
;
> =A0 =A0 =A0 =A0 =A0 length4 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 lo_length=
;
> =A0 =A0 =A0 =A0 =A0 layoutiomode4 =A0 =A0 =A0 =A0 =A0 lo_iomode;
> =A0 =A0 =A0 =A0 =A0 layout_content4 =A0 =A0 =A0 =A0 lo_content;
> };
>
> Which is what we use as layout_segment. All the "LAYOUT" operations
> operate on an embedded concept of the above layout (seg) and or
> the LAYOUTGET actually returns a layout4.
>
> Calling something else pnfs_layout, will totally confuse. (And it see=
ms
> it has already confused the best of us ;-) )
>
> The above, former struct pnfs_layout_type, is a collection of "layout=
"s
> and governing state, plus general LD based IO management stuff.
>
> For me it is just the "nfs inode extension for pnfs", embedded inside=
the
> "LD inode extension"
>
> Call it what you like. But the concept of "layout" was invented by th=
e
> rfc5661. Please don't overload it to mean something else.
>
>> fields:
>> =A0 =A0 refcount =3D> lo_refcount
>> =A0 =A0 segs =3D> lo_segs
>> =A0 =A0 roc_iomode =3D> lo_roc_iomode
>> =A0 =A0 seqlock =3D> lo_seqlock
>> =A0 =A0 stateid =3D> lo_stateid
>> =A0 =A0 pnfs_layout_state =3D> lo_state
>> =A0 =A0 pnfs_write_begin_pos =3D> lo_write_begin
>> =A0 =A0 pnfs_write_end_pos =3D> lo_write_end
>>
>
> Maybe just call it:
> struct nfs_inode {
> =A0 =A0 =A0 =A0...
> =A0 =A0 =A0 =A0struct pnfs_info *pnfs;
>
> If the "layout" name is dropped then by naming convention the "lo_" i=
s not
> appropriate as well.
>
>> *********
>> include/linux/pnfs_xdr.h
>>
>> NOTE: consider removing and adding to include/linux/nfs_xdr.h where =
the other
>> nfsv4.1 xdr structs are declared.
>>
>> struct nfs4_pnfs_layout =3D> remove, inline in nfs4_layoutget_args.
>>
>> struct nfs4_pnfs_layout_segment =3D> pnfs_layout_range
>
> Isn't this a struct layout4 above?
No, this is probably the most confusingly named structure of them all,
and one I would strongly urge be changed along the line of Andy's
suggestion.
=46red
> (And what an ugly reorder from the STD's fields, with these double
> miss alignment inside the nfs4_pnfs_layoutget_arg)
>
> I don't see why we have to invent new names (and structures) that tra=
nslate
> to yet other names and concepts in the standard. (And a dictionary th=
at
> translates one to the other). Why can't we just use the STDs names an=
d structures
> directly? Is there not to many already?
>
>>
>> struct nfs4_pnfs_layoutget_arg =3D> nfs4_layoutget_args
>> fields:
>> =A0 =A0 lseg =3D> range
>> =A0 =A0 layout: remove. inline with:
>> =A0 =A0 =A0 add: layout_len
>> =A0 =A0 =A0 =A0 add: layout_buf
>>
>> struct nfs4_pnfs_layoutget_res =3D> nfs4_layoutget_res
>> fields:
>> =A0 =A0 lseg =3D> range
>>
>
> All these lsegs above and below are layouts
>
>> struct nfs4_pnfs_layoutget =3D> nfs4_layoutget
>>
>
> OMG, yes!
>
> Boaz
>
>> struct pnfs_layoutcommit_arg =3D> nfs4_layoutcommit_args
>> fields:
>> =A0 =A0 lseg =3D> range
>>
>> struct pnfs_layoutcommit_res =3D> nfs4_layoutcommit_res
>>
>> struct pnfs_layoutcommit_data =3D> nfs4_layoutcommit_data
>>
>> struct nfs4_pnfs_layoutreturn_arg =3D> nfs4_layoutreturn_args
>> fields:
>> =A0 =A0 lseg =3D> range
>>
>> struct nfs4_pnfs_layoutreturn_res =3D> nfs4_layoutreturn_res
>>
>> struct nfs4_pnfs_layoutreturn =3D> nfs4_layoutreturn
>>
>> struct nfs4_pnfs_getdeviceinfo_arg =3D> nfs4_getdeviceinfo_args
>>
>> struct nfs4_pnfs_getdeviceinfo_res =3D> nfs4_getdeviceinfo_res
>>
>> *********
>> include/linux/nfs4.h
>>
>> NFSPROC4_CLNT_PNFS_LAYOUTGET =3D> NFSPROC4_CLNT_LAYOUTGET
>> NFSPROC4_CLNT_PNFS_LAYOUTCOMMIT =3D> NFSPROC4_CLNT_LAYOUTCOMMIT
>> NFSPROC4_CLNT_PNFS_LAYOUTRETURN =3D> NFSPROC4_CLNT_LAYOUTRETURN
>> NFSPROC4_CLNT_PNFS_GETDEVICEINFO =3D> NFSPROC4_CLNT_GETDEVICEINFO
>>
>> *********
>>
>> fs/nfs/nfs4proc.c
>>
>> nfs4_pnfs_layoutget_prepare =3D> nfs4_layoutget_prepare
>> nfs4_pnfs_layoutget_done =3D> nfs4_layoutget_done
>> nfs4_pnfs_layoutget_release =3D> nfs4_layoutget_release
>>
>> _pnfs4_proc_layoutget =3D> _nfs4_proc_layoutget
>> pnfs4_proc_layoutget =3D> nfs4_proc_layoutget
>>
>>
>> pnfs_layoutcommit_prepare =3D> nfs4_layoutcommit_prepare
>> pnfs_layoutcommit_done =3D> nfs4_layoutcommit_done
>> pnfs_layoutcommit_release =3D> nfs4_layoutcommit_release
>>
>> _pnfs4_proc_layoutcommit =3D> _nfs4_proc_layoutcommit
>> pnfs4_proc_layoutcommit =3D> nfs4_proc_layoutcommit
>>
>> nfs4_pnfs_layoutreturn_prepare =3D> nfs4_layoutreturn_prepare
>> nfs4_pnfs_layoutreturn_done =3D> nfs4_layoutreturn_done
>> nfs4_pnfs_layoutreturn_release =3D> nfs4_layoutreturn_release
>>
>> _pnfs4_proc_layoutreturn =3D> _nfs4_proc_layoutreturn
>> pnfs4_proc_layoutreturn =3D> nfs4_proc_layoutreturn
>>
>> nfs4_pnfs_getdeviceinfo =3D> nfs4_proc_getdeviceinfo
>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" =
in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at =A0http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: pNFS client structure and function rename suggestions
2010-07-28 13:48 ` Fred Isaman
@ 2010-07-28 14:12 ` Boaz Harrosh
2010-07-28 14:29 ` Fred Isaman
0 siblings, 1 reply; 8+ messages in thread
From: Boaz Harrosh @ 2010-07-28 14:12 UTC (permalink / raw)
To: Fred Isaman; +Cc: Andy Adamson, linux-nfs
On 07/28/2010 04:48 PM, Fred Isaman wrote:
> On Wed, Jul 28, 2010 at 7:09 AM, Boaz Harrosh <bharrosh@panasas.com> wrote:
>>> struct nfs4_pnfs_layout_segment => pnfs_layout_range
>>
>> Isn't this a struct layout4 above?
>
> No, this is probably the most confusingly named structure of them all,
> and one I would strongly urge be changed along the line of Andy's
> suggestion.
>
> Fred
>
We are like a married couple on a freezing night. Each pulling the blanket
to his/her side.
I'm trying to pull the blanket to the side. where all these are converted
to exactly the names and structures as stated by the standard.
That the Linux-pnfs-workgroup tried to invent their own STD is a misfortune
which I missed, getting so late into the game.
What side of the Bed are you pulling to?
I wish you elaborate more, and explain, instead of just saying "NO"
struct layout_content {
layouttype4 loc_type;
void *loc_body;
};
struct layout {
offset4 lo_offset;
length4 lo_length;
layoutiomode4 lo_iomode;
layout_content4 lo_content;
};
struct layoutget_args {
/* CURRENT_FH: file */
bool loga_signal_layout_avail;
layouttype4 loga_layout_type;
layoutiomode4 loga_iomode;
offset4 loga_offset;
length4 loga_length;
length4 loga_minlength;
stateid4 loga_stateid;
count4 loga_maxcount;
};
struct layoutget_res {
bool logr_return_on_close;
stateid4 logr_stateid;
layout logr_layout;
};
How is the above less useful then the mess we have now?
Boaz
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: pNFS client structure and function rename suggestions
2010-07-28 14:12 ` Boaz Harrosh
@ 2010-07-28 14:29 ` Fred Isaman
2010-07-28 15:10 ` Boaz Harrosh
0 siblings, 1 reply; 8+ messages in thread
From: Fred Isaman @ 2010-07-28 14:29 UTC (permalink / raw)
To: Boaz Harrosh; +Cc: Andy Adamson, linux-nfs
On Wed, Jul 28, 2010 at 10:12 AM, Boaz Harrosh <bharrosh@panasas.com> wrote:
> On 07/28/2010 04:48 PM, Fred Isaman wrote:
>> On Wed, Jul 28, 2010 at 7:09 AM, Boaz Harrosh <bharrosh@panasas.com> wrote:
>>>> struct nfs4_pnfs_layout_segment => pnfs_layout_range
>>>
>>> Isn't this a struct layout4 above?
>>
>> No, this is probably the most confusingly named structure of them all,
>> and one I would strongly urge be changed along the line of Andy's
>> suggestion.
>>
>> Fred
>>
>
> We are like a married couple on a freezing night. Each pulling the blanket
> to his/her side.
>
> I'm trying to pull the blanket to the side. where all these are converted
> to exactly the names and structures as stated by the standard.
> That the Linux-pnfs-workgroup tried to invent their own STD is a misfortune
> which I missed, getting so late into the game.
>
> What side of the Bed are you pulling to?
> I wish you elaborate more, and explain, instead of just saying "NO"
>
All I meant that "no, this is not the struct layout4 above."
There currently exists:
struct nfs4_pnfs_layout_segment {
u32 iomode;
u64 offset;
u64 length;
};
which is used to hold range information, but which is easy to confuse
with struct pnfs_layout_segment.
I REALLY want the name nfs4_pnfs_layout_segment changed.
When possible, I'm all for changing names to coincide with those used
in the spec. But note that those structures are most useful for XDR
encoding/decoding, and don't always correspond to the information we
need to pass around internally.
Fred
> struct layout_content {
> layouttype4 loc_type;
> void *loc_body;
> };
>
> struct layout {
> offset4 lo_offset;
> length4 lo_length;
> layoutiomode4 lo_iomode;
> layout_content4 lo_content;
> };
>
> struct layoutget_args {
> /* CURRENT_FH: file */
> bool loga_signal_layout_avail;
> layouttype4 loga_layout_type;
> layoutiomode4 loga_iomode;
> offset4 loga_offset;
> length4 loga_length;
> length4 loga_minlength;
> stateid4 loga_stateid;
> count4 loga_maxcount;
> };
>
> struct layoutget_res {
> bool logr_return_on_close;
> stateid4 logr_stateid;
> layout logr_layout;
> };
>
> How is the above less useful then the mess we have now?
>
> Boaz
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: pNFS client structure and function rename suggestions
2010-07-28 14:29 ` Fred Isaman
@ 2010-07-28 15:10 ` Boaz Harrosh
2010-08-02 14:39 ` Benny Halevy
0 siblings, 1 reply; 8+ messages in thread
From: Boaz Harrosh @ 2010-07-28 15:10 UTC (permalink / raw)
To: Fred Isaman; +Cc: Andy Adamson, linux-nfs
On 07/28/2010 05:29 PM, Fred Isaman wrote:
> On Wed, Jul 28, 2010 at 10:12 AM, Boaz Harrosh <bharrosh@panasas.com> wrote:
>> On 07/28/2010 04:48 PM, Fred Isaman wrote:
>>> On Wed, Jul 28, 2010 at 7:09 AM, Boaz Harrosh <bharrosh@panasas.com> wrote:
>>>>> struct nfs4_pnfs_layout_segment => pnfs_layout_range
>>>>
>>>> Isn't this a struct layout4 above?
>>>
>>> No, this is probably the most confusingly named structure of them all,
>>> and one I would strongly urge be changed along the line of Andy's
>>> suggestion.
>>>
>>> Fred
>>>
>>
>> We are like a married couple on a freezing night. Each pulling the blanket
>> to his/her side.
>>
>> I'm trying to pull the blanket to the side. where all these are converted
>> to exactly the names and structures as stated by the standard.
>> That the Linux-pnfs-workgroup tried to invent their own STD is a misfortune
>> which I missed, getting so late into the game.
>>
>> What side of the Bed are you pulling to?
>> I wish you elaborate more, and explain, instead of just saying "NO"
>>
>
> All I meant that "no, this is not the struct layout4 above."
>
> There currently exists:
>
> struct nfs4_pnfs_layout_segment {
> u32 iomode;
> u64 offset;
> u64 length;
> };
>
> which is used to hold range information, but which is easy to confuse
> with struct pnfs_layout_segment.
>
OK, perhaps the STD failed to define that RANGE structure that got open coded
in lots of operations. Adding that should be a refinement (use the new type
where it is open coded). Not the complete re-ordering and invention of
new structures that carry the same information but different.
> I REALLY want the name nfs4_pnfs_layout_segment changed.
>
OK Agreed *pnfs_layout_range* is a good name. Because anything nfs4_ is expected
to derive from the STD, and the above is our own invention. Some comments to
that effect could be nice.
> When possible, I'm all for changing names to coincide with those used
> in the spec. But note that those structures are most useful for XDR
> encoding/decoding, and don't always correspond to the information we
> need to pass around internally.
>
I wish we could, other then such refinements like the new pnfs_layout_range,
stick closer to the STD. Including an nfs4_layout structure which corresponds
to the layout4 from RFC.
> Fred
>
(I know, words are cheep, I wish I had the time, busy with raid5/6. Just my
$0.017)
Boaz
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: pNFS client structure and function rename suggestions
2010-07-28 15:10 ` Boaz Harrosh
@ 2010-08-02 14:39 ` Benny Halevy
2010-08-02 15:29 ` Andy Adamson
0 siblings, 1 reply; 8+ messages in thread
From: Benny Halevy @ 2010-08-02 14:39 UTC (permalink / raw)
To: Andy Adamson; +Cc: Boaz Harrosh, Fred Isaman, linux-nfs
On Jul. 28, 2010, 18:10 +0300, Boaz Harrosh <bharrosh@panasas.com> wrote:
> On 07/28/2010 05:29 PM, Fred Isaman wrote:
>> On Wed, Jul 28, 2010 at 10:12 AM, Boaz Harrosh <bharrosh@panasas.com> wrote:
>>> On 07/28/2010 04:48 PM, Fred Isaman wrote:
>>>> On Wed, Jul 28, 2010 at 7:09 AM, Boaz Harrosh <bharrosh@panasas.com> wrote:
>>>>>> struct nfs4_pnfs_layout_segment => pnfs_layout_range
>>>>>
>>>>> Isn't this a struct layout4 above?
>>>>
>>>> No, this is probably the most confusingly named structure of them all,
>>>> and one I would strongly urge be changed along the line of Andy's
>>>> suggestion.
>>>>
>>>> Fred
>>>>
>>>
>>> We are like a married couple on a freezing night. Each pulling the blanket
>>> to his/her side.
>>>
>>> I'm trying to pull the blanket to the side. where all these are converted
>>> to exactly the names and structures as stated by the standard.
>>> That the Linux-pnfs-workgroup tried to invent their own STD is a misfortune
>>> which I missed, getting so late into the game.
>>>
>>> What side of the Bed are you pulling to?
>>> I wish you elaborate more, and explain, instead of just saying "NO"
>>>
>>
>> All I meant that "no, this is not the struct layout4 above."
>>
>> There currently exists:
>>
>> struct nfs4_pnfs_layout_segment {
>> u32 iomode;
>> u64 offset;
>> u64 length;
>> };
>>
>> which is used to hold range information, but which is easy to confuse
>> with struct pnfs_layout_segment.
>>
>
> OK, perhaps the STD failed to define that RANGE structure that got open coded
> in lots of operations. Adding that should be a refinement (use the new type
> where it is open coded). Not the complete re-ordering and invention of
> new structures that carry the same information but different.
>
>> I REALLY want the name nfs4_pnfs_layout_segment changed.
>>
>
> OK Agreed *pnfs_layout_range* is a good name. Because anything nfs4_ is expected
> to derive from the STD, and the above is our own invention. Some comments to
> that effect could be nice.
>
I'm ok with _range, though it is a bit more than a range since it also has an iomode
I propose pnfs_layout_hdr to replace pnfs_layout_type.
Benny
>> When possible, I'm all for changing names to coincide with those used
>> in the spec. But note that those structures are most useful for XDR
>> encoding/decoding, and don't always correspond to the information we
>> need to pass around internally.
>>
>
> I wish we could, other then such refinements like the new pnfs_layout_range,
> stick closer to the STD. Including an nfs4_layout structure which corresponds
> to the layout4 from RFC.
>
>> Fred
>>
>
> (I know, words are cheep, I wish I had the time, busy with raid5/6. Just my
> $0.017)
>
> Boaz
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: pNFS client structure and function rename suggestions
2010-08-02 14:39 ` Benny Halevy
@ 2010-08-02 15:29 ` Andy Adamson
0 siblings, 0 replies; 8+ messages in thread
From: Andy Adamson @ 2010-08-02 15:29 UTC (permalink / raw)
To: Benny Halevy; +Cc: Boaz Harrosh, Fred Isaman, linux-nfs
On Aug 2, 2010, at 10:39 AM, Benny Halevy wrote:
> On Jul. 28, 2010, 18:10 +0300, Boaz Harrosh <bharrosh@panasas.com> wrote:
>> On 07/28/2010 05:29 PM, Fred Isaman wrote:
>>> On Wed, Jul 28, 2010 at 10:12 AM, Boaz Harrosh <bharrosh@panasas.com> wrote:
>>>> On 07/28/2010 04:48 PM, Fred Isaman wrote:
>>>>> On Wed, Jul 28, 2010 at 7:09 AM, Boaz Harrosh <bharrosh@panasas.com> wrote:
>>>>>>> struct nfs4_pnfs_layout_segment => pnfs_layout_range
>>>>>>
>>>>>> Isn't this a struct layout4 above?
>>>>>
>>>>> No, this is probably the most confusingly named structure of them all,
>>>>> and one I would strongly urge be changed along the line of Andy's
>>>>> suggestion.
>>>>>
>>>>> Fred
>>>>>
>>>>
>>>> We are like a married couple on a freezing night. Each pulling the blanket
>>>> to his/her side.
>>>>
>>>> I'm trying to pull the blanket to the side. where all these are converted
>>>> to exactly the names and structures as stated by the standard.
>>>> That the Linux-pnfs-workgroup tried to invent their own STD is a misfortune
>>>> which I missed, getting so late into the game.
>>>>
>>>> What side of the Bed are you pulling to?
>>>> I wish you elaborate more, and explain, instead of just saying "NO"
>>>>
>>>
>>> All I meant that "no, this is not the struct layout4 above."
>>>
>>> There currently exists:
>>>
>>> struct nfs4_pnfs_layout_segment {
>>> u32 iomode;
>>> u64 offset;
>>> u64 length;
>>> };
>>>
>>> which is used to hold range information, but which is easy to confuse
>>> with struct pnfs_layout_segment.
>>>
>>
>> OK, perhaps the STD failed to define that RANGE structure that got open coded
>> in lots of operations. Adding that should be a refinement (use the new type
>> where it is open coded). Not the complete re-ordering and invention of
>> new structures that carry the same information but different.
>>
>>> I REALLY want the name nfs4_pnfs_layout_segment changed.
>>>
>>
>> OK Agreed *pnfs_layout_range* is a good name. Because anything nfs4_ is expected
>> to derive from the STD, and the above is our own invention. Some comments to
>> that effect could be nice.
>>
>
> I'm ok with _range, though it is a bit more than a range since it also has an iomode
>
> I propose pnfs_layout_hdr to replace pnfs_layout_type.
I like pnfs_layout_hdr.
-->Andy
>
> Benny
>
>>> When possible, I'm all for changing names to coincide with those used
>>> in the spec. But note that those structures are most useful for XDR
>>> encoding/decoding, and don't always correspond to the information we
>>> need to pass around internally.
>>>
>>
>> I wish we could, other then such refinements like the new pnfs_layout_range,
>> stick closer to the STD. Including an nfs4_layout structure which corresponds
>> to the layout4 from RFC.
>>
>>> Fred
>>>
>>
>> (I know, words are cheep, I wish I had the time, busy with raid5/6. Just my
>> $0.017)
>>
>> Boaz
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2010-08-02 15:29 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-27 15:38 pNFS client structure and function rename suggestions Andy Adamson
2010-07-28 11:09 ` Boaz Harrosh
2010-07-28 13:48 ` Fred Isaman
2010-07-28 14:12 ` Boaz Harrosh
2010-07-28 14:29 ` Fred Isaman
2010-07-28 15:10 ` Boaz Harrosh
2010-08-02 14:39 ` Benny Halevy
2010-08-02 15:29 ` Andy Adamson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox