2011-11-14 16:16:48

by Benny Halevy

[permalink] [raw]
Subject: pnfs git tree status pnfs-all-3.1-2011-11-14 pnfs-all-3.2-rc1-2011-11-14

I merged the following patches into pnfs-all-3.1-2011-11-14
and rebased the tree onto v3.2-rc1 as pnfs-all-3.2-rc1-2011-11-14.

pnfs-block:
Peng Tao e5b35df pnfsblock: cleanup bl_mark_sectors_init
Peng Tao 60d5135 pnfsblock: move find lock page logic out of bl_write_pagelist
Peng Tao ab0c07d pnfsblock: set read/write tk_status to pnfs_error
Peng Tao 85e8c84 pnfsblock: remove rpc_call_ops from struct parallel_io
Peng Tao 7c93c37 pnfsblock: clean up _add_entry
Peng Tao ec11faf pnfsblock: alloc short extent before submit bio

pnfsd:
Boaz Harrosh 5e57e48 SQUASHME: pnfsd: Don't call fs_layout_return on a none-file

spnfs-block:
Benny Halevy 400ab8f SQUASHME: spnfs-block: fix oops in device_slice
Benny Halevy bd6bc0a SQUASHME: spnfs-block: add dprints for device_slice

Both versions pass connectathon tests against pnfsd-lexp server using the files layout.

Block layout fails as the server ctl process crashes as follows:

kernel: nfsv4 compound op #2/2: 47 (OP_GETDEVICEINFO)
kernel: nfsd4_getdevinfo: layout_type 3 dev_id 28d:1f maxcnt 135168
kernel: nfsd4_getdevinfo: sb ffff88002c535cd0
kernel: pnfs_set_device_notify: -->
kernel: renewing client (clientid 4ec13510/00000003)
kernel: pnfs_set_device_notify: Incr device count (clnt ffff88002d310000) to 2
kernel: nfsd4_encode_getdevinfo: err 0
kernel: device_slice: dev_id=0:31
kernel: device_slice: ret=1
kernel: ctl[1028]: segfault at 497 ip 00007f74b7909f24 sp 00007fffd2a43948 error 4 in libc-2.13.90.so[7f74b788d000+192000]

Benny


2011-11-15 04:15:48

by Benny Halevy

[permalink] [raw]
Subject: Re: pnfs git tree status pnfs-all-3.1-2011-11-14 pnfs-all-3.2-rc1-2011-11-14

On 2011-11-15 06:11, Benny Halevy wrote:
> On 2011-11-14 21:38, Boaz Harrosh wrote:
>> On 11/14/2011 08:16 AM, Benny Halevy wrote:
>>> I merged the following patches into pnfs-all-3.1-2011-11-14
>>> and rebased the tree onto v3.2-rc1 as pnfs-all-3.2-rc1-2011-11-14.
>>>
>>> pnfs-block:
>>> Peng Tao e5b35df pnfsblock: cleanup bl_mark_sectors_init
>>> Peng Tao 60d5135 pnfsblock: move find lock page logic out of bl_write_pagelist
>>> Peng Tao ab0c07d pnfsblock: set read/write tk_status to pnfs_error
>>> Peng Tao 85e8c84 pnfsblock: remove rpc_call_ops from struct parallel_io
>>> Peng Tao 7c93c37 pnfsblock: clean up _add_entry
>>> Peng Tao ec11faf pnfsblock: alloc short extent before submit bio
>>>
>>> pnfsd:
>>> Boaz Harrosh 5e57e48 SQUASHME: pnfsd: Don't call fs_layout_return on a none-file
>>>
>>
>> What happened to the PNFSD dbg Channel. Was that submitted before?
>>
>> Boaz
>
> It's there, I probably screwed the base date for my git-log-since-tree-oneline
> script.
>
> Anyhow, here is the list of patches that are still in the major branches
> since pnfs-all-3.0-2011-08-10:
> (according to the script :)
>
> ore-devel:
> Boaz Harrosh b133b98 RFC: do_xor_speed Broken on UML do to jiffies
>
> pnfs-block:
> Benny Halevy 9158412 pnfs: clean up initiate_file_draining layout lookup
> Peng Tao e5b35df pnfsblock: cleanup bl_mark_sectors_init
> Peng Tao 657c2f4 pnfsblock: acquire im_lock in _preload_range
> Peng Tao 60d5135 pnfsblock: move find lock page logic out of bl_write_pagelist
> Peng Tao ab0c07d pnfsblock: set read/write tk_status to pnfs_error
> Peng Tao 85e8c84 pnfsblock: remove rpc_call_ops from struct parallel_io
> Peng Tao 7c93c37 pnfsblock: clean up _add_entry
> Peng Tao ec11faf pnfsblock: alloc short extent before submit bio
>
> nfsd-upstream:
> Benny Halevy 546e4fa nfsd4: share_access_to_flags should consider only nfs4.x share_access flags
> Benny Halevy e8e8efb nfsd4: split out share_access want and signel flags while decoding
> Benny Halevy 89be556 nfsd4: implement NFS4_SHARE_WANT_NO_DELEG, NFS4_OPEN_DELEGATE_NONE_EXT, why_no_deleg
> Benny Halevy 7fa5486 nfsd4: DEBUG: XDR_ERROR()
>
> pnfsd:
> Benny Halevy f89ea60 pnfsd: layout state allocation
> Benny Halevy 7b50379 SQUASHME: update_layout_stateid_locked
> Benny Halevy bb72dee pnfsd: layout recall layout state
> Benny Halevy 2a9eb41 SQUASHME: pnfsd: initialize fi_layout_states
> Benny Halevy f5f8a59 SQUASHME: pnfsd: layout recall statid processing
> Boaz Harrosh 5111e3f SQUASHME: pnfsd: Compile warning in pnfs-all-3.1-2011-10-31-1
> Boaz Harrosh d7e7bec Subject: [PATCH] SQUASHME: pnfsd: nfs4pnfsd.c should dprint under NFSDDBG_PNFS
> Boaz Harrosh 5e57e48 SQUASHME: pnfsd: Don't call fs_layout_return on a none-file
>
> pnfsd-exofs:
> Boaz Harrosh cb40981 SQUASHME: pnfsd-exofs: Fix export of only one group layout
> Boaz Harrosh a076d46 SQUASHME: pnfsd-exofs: Type & Name of the devices array changed
> Benny Halevy ef4e804 SQUASHME: pnfsd-exofs: missing arg to ore_calc_stripe_info call
>
> spnfs:
> Benny Halevy 141caa1 SQUASHME: spnfs: use struct path in vfs_path_lookup as of v3.0
>
> spnfs-block:
> Benny Halevy 27f1cb8 SQUASHME: spnfs-block: use struct path in vfs_path_lookup as of v3.0
> Benny Halevy 400ab8f SQUASHME: spnfs-block: fix oops in device_slice
> Benny Halevy bd6bc0a SQUASHME: spnfs-block: add dprints for device_slice

And here's the current tree layout:

master (v3.2-rc1)
ore-devel
pnfs-block
nfsd-upstream
nfsd41
pnfsd
pnfsd-exofs
pnfsd-lexp
spnfs
spnfs-block
pnfs-all-latest

2011-11-15 04:12:00

by Benny Halevy

[permalink] [raw]
Subject: Re: pnfs git tree status pnfs-all-3.1-2011-11-14 pnfs-all-3.2-rc1-2011-11-14

On 2011-11-14 21:38, Boaz Harrosh wrote:
> On 11/14/2011 08:16 AM, Benny Halevy wrote:
>> I merged the following patches into pnfs-all-3.1-2011-11-14
>> and rebased the tree onto v3.2-rc1 as pnfs-all-3.2-rc1-2011-11-14.
>>
>> pnfs-block:
>> Peng Tao e5b35df pnfsblock: cleanup bl_mark_sectors_init
>> Peng Tao 60d5135 pnfsblock: move find lock page logic out of bl_write_pagelist
>> Peng Tao ab0c07d pnfsblock: set read/write tk_status to pnfs_error
>> Peng Tao 85e8c84 pnfsblock: remove rpc_call_ops from struct parallel_io
>> Peng Tao 7c93c37 pnfsblock: clean up _add_entry
>> Peng Tao ec11faf pnfsblock: alloc short extent before submit bio
>>
>> pnfsd:
>> Boaz Harrosh 5e57e48 SQUASHME: pnfsd: Don't call fs_layout_return on a none-file
>>
>
> What happened to the PNFSD dbg Channel. Was that submitted before?
>
> Boaz

It's there, I probably screwed the base date for my git-log-since-tree-oneline
script.

Anyhow, here is the list of patches that are still in the major branches
since pnfs-all-3.0-2011-08-10:
(according to the script :)

ore-devel:
Boaz Harrosh b133b98 RFC: do_xor_speed Broken on UML do to jiffies

pnfs-block:
Benny Halevy 9158412 pnfs: clean up initiate_file_draining layout lookup
Peng Tao e5b35df pnfsblock: cleanup bl_mark_sectors_init
Peng Tao 657c2f4 pnfsblock: acquire im_lock in _preload_range
Peng Tao 60d5135 pnfsblock: move find lock page logic out of bl_write_pagelist
Peng Tao ab0c07d pnfsblock: set read/write tk_status to pnfs_error
Peng Tao 85e8c84 pnfsblock: remove rpc_call_ops from struct parallel_io
Peng Tao 7c93c37 pnfsblock: clean up _add_entry
Peng Tao ec11faf pnfsblock: alloc short extent before submit bio

nfsd-upstream:
Benny Halevy 546e4fa nfsd4: share_access_to_flags should consider only nfs4.x share_access flags
Benny Halevy e8e8efb nfsd4: split out share_access want and signel flags while decoding
Benny Halevy 89be556 nfsd4: implement NFS4_SHARE_WANT_NO_DELEG, NFS4_OPEN_DELEGATE_NONE_EXT, why_no_deleg
Benny Halevy 7fa5486 nfsd4: DEBUG: XDR_ERROR()

pnfsd:
Benny Halevy f89ea60 pnfsd: layout state allocation
Benny Halevy 7b50379 SQUASHME: update_layout_stateid_locked
Benny Halevy bb72dee pnfsd: layout recall layout state
Benny Halevy 2a9eb41 SQUASHME: pnfsd: initialize fi_layout_states
Benny Halevy f5f8a59 SQUASHME: pnfsd: layout recall statid processing
Boaz Harrosh 5111e3f SQUASHME: pnfsd: Compile warning in pnfs-all-3.1-2011-10-31-1
Boaz Harrosh d7e7bec Subject: [PATCH] SQUASHME: pnfsd: nfs4pnfsd.c should dprint under NFSDDBG_PNFS
Boaz Harrosh 5e57e48 SQUASHME: pnfsd: Don't call fs_layout_return on a none-file

pnfsd-exofs:
Boaz Harrosh cb40981 SQUASHME: pnfsd-exofs: Fix export of only one group layout
Boaz Harrosh a076d46 SQUASHME: pnfsd-exofs: Type & Name of the devices array changed
Benny Halevy ef4e804 SQUASHME: pnfsd-exofs: missing arg to ore_calc_stripe_info call

spnfs:
Benny Halevy 141caa1 SQUASHME: spnfs: use struct path in vfs_path_lookup as of v3.0

spnfs-block:
Benny Halevy 27f1cb8 SQUASHME: spnfs-block: use struct path in vfs_path_lookup as of v3.0
Benny Halevy 400ab8f SQUASHME: spnfs-block: fix oops in device_slice
Benny Halevy bd6bc0a SQUASHME: spnfs-block: add dprints for device_slice

2011-11-14 17:23:34

by Peng Tao

[permalink] [raw]
Subject: Re: pnfs git tree status pnfs-all-3.1-2011-11-14 pnfs-all-3.2-rc1-2011-11-14

On Tue, Nov 15, 2011 at 12:16 AM, Benny Halevy <[email protected]> wrote:
> I merged the following patches into pnfs-all-3.1-2011-11-14
> and rebased the tree onto v3.2-rc1 as pnfs-all-3.2-rc1-2011-11-14.
>
> pnfs-block:
>  Peng Tao         e5b35df pnfsblock: cleanup bl_mark_sectors_init
>  Peng Tao         60d5135 pnfsblock: move find lock page logic out of bl_write_pagelist
>  Peng Tao         ab0c07d pnfsblock: set read/write tk_status to pnfs_error
>  Peng Tao         85e8c84 pnfsblock: remove rpc_call_ops from struct parallel_io
>  Peng Tao         7c93c37 pnfsblock: clean up _add_entry
>  Peng Tao         ec11faf pnfsblock: alloc short extent before submit bio
Thanks, Benny. It seems this one is still missing.
http://www.spinics.net/lists/linux-nfs/msg25358.html

Would you please merge it as well? verg keeps dropping the patch so I
sent it as an attachment. Did you get it?

BTW, checkpatch.pl doesn't complain anything on the patch:
$./scripts/checkpatch.pl 0002-pnfsblock-acquire-im_lock-in-_preload_range.patch
total: 0 errors, 0 warnings, 36 lines checked

0002-pnfsblock-acquire-im_lock-in-_preload_range.patch has no obvious
style problems and is ready for submission.


>
> pnfsd:
>  Boaz Harrosh     5e57e48 SQUASHME: pnfsd: Don't call fs_layout_return on a none-file
>
> spnfs-block:
>  Benny Halevy     400ab8f SQUASHME: spnfs-block: fix oops in device_slice
>  Benny Halevy     bd6bc0a SQUASHME: spnfs-block: add dprints for device_slice
>
> Both versions pass connectathon tests against pnfsd-lexp server using the files layout.
>
> Block layout fails as the server ctl process crashes as follows:
Was it working before?

Thanks,
Tao
>
> kernel: nfsv4 compound op #2/2: 47 (OP_GETDEVICEINFO)
> kernel: nfsd4_getdevinfo: layout_type 3 dev_id 28d:1f maxcnt 135168
> kernel: nfsd4_getdevinfo: sb ffff88002c535cd0
> kernel: pnfs_set_device_notify: -->
> kernel: renewing client (clientid 4ec13510/00000003)
> kernel: pnfs_set_device_notify: Incr device count (clnt ffff88002d310000) to 2
> kernel: nfsd4_encode_getdevinfo: err 0
> kernel: device_slice: dev_id=0:31
> kernel: device_slice: ret=1
> kernel: ctl[1028]: segfault at 497 ip 00007f74b7909f24 sp 00007fffd2a43948 error 4 in libc-2.13.90.so[7f74b788d000+192000]
>
> Benny
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

2011-11-14 17:57:40

by Benny Halevy

[permalink] [raw]
Subject: Re: pnfs git tree status pnfs-all-3.1-2011-11-14 pnfs-all-3.2-rc1-2011-11-14

On 2011-11-14 19:23, Peng Tao wrote:
> On Tue, Nov 15, 2011 at 12:16 AM, Benny Halevy <[email protected]> wrote:
>> I merged the following patches into pnfs-all-3.1-2011-11-14
>> and rebased the tree onto v3.2-rc1 as pnfs-all-3.2-rc1-2011-11-14.
>>
>> pnfs-block:
>> Peng Tao e5b35df pnfsblock: cleanup bl_mark_sectors_init
>> Peng Tao 60d5135 pnfsblock: move find lock page logic out of bl_write_pagelist
>> Peng Tao ab0c07d pnfsblock: set read/write tk_status to pnfs_error
>> Peng Tao 85e8c84 pnfsblock: remove rpc_call_ops from struct parallel_io
>> Peng Tao 7c93c37 pnfsblock: clean up _add_entry
>> Peng Tao ec11faf pnfsblock: alloc short extent before submit bio
> Thanks, Benny. It seems this one is still missing.
> http://www.spinics.net/lists/linux-nfs/msg25358.html
>
> Would you please merge it as well? verg keeps dropping the patch so I
> sent it as an attachment. Did you get it?

Argh, sorry, it's actually already merged. It's just that my
reporting script happened to miss it.
657c2f4 pnfsblock: acquire im_lock in _preload_range

>
> BTW, checkpatch.pl doesn't complain anything on the patch:
> $./scripts/checkpatch.pl 0002-pnfsblock-acquire-im_lock-in-_preload_range.patch
> total: 0 errors, 0 warnings, 36 lines checked
>
> 0002-pnfsblock-acquire-im_lock-in-_preload_range.patch has no obvious
> style problems and is ready for submission.
>
>
>>
>> pnfsd:
>> Boaz Harrosh 5e57e48 SQUASHME: pnfsd: Don't call fs_layout_return on a none-file
>>
>> spnfs-block:
>> Benny Halevy 400ab8f SQUASHME: spnfs-block: fix oops in device_slice
>> Benny Halevy bd6bc0a SQUASHME: spnfs-block: add dprints for device_slice
>>
>> Both versions pass connectathon tests against pnfsd-lexp server using the files layout.
>>
>> Block layout fails as the server ctl process crashes as follows:
> Was it working before?
>

It's been languished for quite a while so the answer is
that it worked before, once upon a time.

Benny

> Thanks,
> Tao
>>
>> kernel: nfsv4 compound op #2/2: 47 (OP_GETDEVICEINFO)
>> kernel: nfsd4_getdevinfo: layout_type 3 dev_id 28d:1f maxcnt 135168
>> kernel: nfsd4_getdevinfo: sb ffff88002c535cd0
>> kernel: pnfs_set_device_notify: -->
>> kernel: renewing client (clientid 4ec13510/00000003)
>> kernel: pnfs_set_device_notify: Incr device count (clnt ffff88002d310000) to 2
>> kernel: nfsd4_encode_getdevinfo: err 0
>> kernel: device_slice: dev_id=0:31
>> kernel: device_slice: ret=1
>> kernel: ctl[1028]: segfault at 497 ip 00007f74b7909f24 sp 00007fffd2a43948 error 4 in libc-2.13.90.so[7f74b788d000+192000]
>>
>> Benny
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
>> the body of a message to [email protected]
>> 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 [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html

2011-11-14 19:38:44

by Boaz Harrosh

[permalink] [raw]
Subject: Re: pnfs git tree status pnfs-all-3.1-2011-11-14 pnfs-all-3.2-rc1-2011-11-14

On 11/14/2011 08:16 AM, Benny Halevy wrote:
> I merged the following patches into pnfs-all-3.1-2011-11-14
> and rebased the tree onto v3.2-rc1 as pnfs-all-3.2-rc1-2011-11-14.
>
> pnfs-block:
> Peng Tao e5b35df pnfsblock: cleanup bl_mark_sectors_init
> Peng Tao 60d5135 pnfsblock: move find lock page logic out of bl_write_pagelist
> Peng Tao ab0c07d pnfsblock: set read/write tk_status to pnfs_error
> Peng Tao 85e8c84 pnfsblock: remove rpc_call_ops from struct parallel_io
> Peng Tao 7c93c37 pnfsblock: clean up _add_entry
> Peng Tao ec11faf pnfsblock: alloc short extent before submit bio
>
> pnfsd:
> Boaz Harrosh 5e57e48 SQUASHME: pnfsd: Don't call fs_layout_return on a none-file
>

What happened to the PNFSD dbg Channel. Was that submitted before?

Boaz

> spnfs-block:
> Benny Halevy 400ab8f SQUASHME: spnfs-block: fix oops in device_slice
> Benny Halevy bd6bc0a SQUASHME: spnfs-block: add dprints for device_slice
>
> Both versions pass connectathon tests against pnfsd-lexp server using the files layout.
>
> Block layout fails as the server ctl process crashes as follows:
>
> kernel: nfsv4 compound op #2/2: 47 (OP_GETDEVICEINFO)
> kernel: nfsd4_getdevinfo: layout_type 3 dev_id 28d:1f maxcnt 135168
> kernel: nfsd4_getdevinfo: sb ffff88002c535cd0
> kernel: pnfs_set_device_notify: -->
> kernel: renewing client (clientid 4ec13510/00000003)
> kernel: pnfs_set_device_notify: Incr device count (clnt ffff88002d310000) to 2
> kernel: nfsd4_encode_getdevinfo: err 0
> kernel: device_slice: dev_id=0:31
> kernel: device_slice: ret=1
> kernel: ctl[1028]: segfault at 497 ip 00007f74b7909f24 sp 00007fffd2a43948 error 4 in libc-2.13.90.so[7f74b788d000+192000]
>
> Benny
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html


2011-12-04 17:24:51

by Benny Halevy

[permalink] [raw]
Subject: pnfs git tree status pnfs-all-3.2-rc4-2011-12-04

I rebased the pnfs tree onto v3.2-rc4.

The spnfs was dropped as it became obsolete and effectively unmaintained
over time.

Correspondingly, the spnfs-block branch is now renamed to pnfsd-block.

The following patches were merged since last update pnfs-all-3.2-rc1-2011-11-14:

pnfs-block:
Peng Tao a8c4a0a pnfsblock: don't spinlock when freeing block_dev
Peng Tao 507cca8 pnfsblock: limit bio page count
Benny Halevy f902b81 DEBUG: pnfs: printouts
Benny Halevy 9fcea77 pnfsblock: add devid debug printouts

pnfsd:
Benny Halevy b46ad6f SQUASHME: pnfsd: add missing nfs4_unlock_state in nfs4_pnfs_return_layout
Benny Halevy 7600a80 DEBUG: pnfsd: printouts

pnfsd-block:
Benny Halevy 788afe2 DEBUG: pnfsd: printouts
Benny Halevy e99329f pnfsd-block: reverse boolean_t values so they make sense
Benny Halevy ace859c pnfsd-block: change blr_lock to mutex
Benny Halevy 79f0540 pnfsd-block: dprint fiemap rval
Benny Halevy 6893935 pnfsd-block: allow positive fiemap rval
Benny Halevy 0fa92ba pnfsd-block: use SECT_SIZE helper macros
Benny Halevy 58590f7 pnfsd-block: undo dependence on spnfs
Benny Halevy 6937255 pnfsd-block: set the sbid part of the deviceid

Benny

2012-01-09 08:02:14

by Benny Halevy

[permalink] [raw]
Subject: pnfs git tree status pnfs-all-3.2-2012-01-08

I rebased the pnfs tree onto v3.2

The following branches were added:
pnfs-obj - holding Boaz' latest fixes
pnfs-all-3.2 - equal to pnfs-all-latest, will be used to accumulate fixes for the v3.2-based tree.

Therefore the resulting tree structure is as follows:

master
pnfs-block
pnfs-obj
nfsd-upstream
nfsd41
pnfsd
pnfsd-exofs
pnfsd-lexp
pnfsd-block
pnfs-all-latest (Merge pnfs-obj)

The following patches were merged since last update pnfs-all-3.2-rc4-2011-12-04:

pnfs-obj:
Boaz Harrosh 2d78632 pnfs-obj: pNFS errors are communicated on iodata->pnfs_error
Boaz Harrosh ecf0d0e pnfs-obj: Must return layout on IO error

nfsd-upstream:
J. Bruce Fields bfb376b nfsd4: be forgiving in the absence of the recovery directory

pnfsd:
Benny Halevy 9701606 SQUASHME: pnfsd: DEBUG: nfs4_bug_on_unlocked_state unused
Benny Halevy 2e470a3 SQUASHME: pnfsd: DEBUG: conditionally dprint client_mutex_owner

pnfsd-block:
Benny Halevy 74736a7 SQUASHME: pnfsd-block: mv include/linux/nfsd/nfsd4_block.h fs/nfsd/
Benny Halevy 95457b4 SQUASHME: pnfsd-block: fix compile error when PNFSD_BLOCK in not enabled
Benny Halevy b95e17a pnfsd-block: bl_layoutreturn must return success when pnfsd_block is disabled

Benny

2012-01-09 10:39:09

by Boaz Harrosh

[permalink] [raw]
Subject: [PATCH] SQUASHME: pnfsd-exofs: Fix the RAID5 export


BAD RAID Math in layout_get.

TODO: ore_calc_stripe_info, which is already called, as all
the needed information calculated by _align_io. Only that
first_stripe_start is only set in case of RAID, but lo_get
always needs it. Move the set of first_stripe_start inside
ore_calc_stripe_info, to the generic part.

Signed-off-by: Boaz Harrosh <[email protected]>
---
fs/exofs/export.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/fs/exofs/export.c b/fs/exofs/export.c
index 8a0e510..621bd11 100644
--- a/fs/exofs/export.c
+++ b/fs/exofs/export.c
@@ -96,7 +96,8 @@ void ore_layout_2_pnfs_layout(struct pnfs_osd_layout *pl,

static void _align_io(struct ore_layout *layout, u64 *offset, u64 *length)
{
- u64 stripe_size = layout->group_width * layout->stripe_unit;
+ u64 stripe_size = (layout->group_width - layout->parity) *
+ layout->stripe_unit;
u64 group_size = stripe_size * layout->group_depth;

*offset = div64_u64(*offset, group_size) * group_size;
--
1.7.2.3



2012-01-11 10:54:59

by Benny Halevy

[permalink] [raw]
Subject: Re: [PATCH] SQUASHME: pnfsd-exofs: Fix the RAID5 export

On 2012-01-09 12:43, Boaz Harrosh wrote:
> Benny hi, thanks.
>
> You will need all the other ORE patches. But they should be
> in Linus tree before the 3.3-rc1 so you might just get them
> from there.

OK.

>
> And this below! With out this fix, the objlayout driver hits

I'll pull this fix only to pnfs-all-3.2 then and the ORE patches
will be "merged" via rebase onto 3.3-rc1

> a BUG_ON. Do you think I should check all raid parameters
> at client so a BAD server will not crash a client?

Yes. I'd drop the layout in LAYOUTGET if it's not self-consistent.

Benny

>
>
> Thanks
> Boaz
> On 01/09/2012 12:38 PM, Boaz Harrosh wrote:
>>
>> BAD RAID Math in layout_get.
>>
>> TODO: ore_calc_stripe_info, which is already called, as all
>> the needed information calculated by _align_io. Only that
>> first_stripe_start is only set in case of RAID, but lo_get
>> always needs it. Move the set of first_stripe_start inside
>> ore_calc_stripe_info, to the generic part.
>>
>> Signed-off-by: Boaz Harrosh <[email protected]>
>> ---
>> fs/exofs/export.c | 3 ++-
>> 1 files changed, 2 insertions(+), 1 deletions(-)
>>
>> diff --git a/fs/exofs/export.c b/fs/exofs/export.c
>> index 8a0e510..621bd11 100644
>> --- a/fs/exofs/export.c
>> +++ b/fs/exofs/export.c
>> @@ -96,7 +96,8 @@ void ore_layout_2_pnfs_layout(struct pnfs_osd_layout *pl,
>>
>> static void _align_io(struct ore_layout *layout, u64 *offset, u64 *length)
>> {
>> - u64 stripe_size = layout->group_width * layout->stripe_unit;
>> + u64 stripe_size = (layout->group_width - layout->parity) *
>> + layout->stripe_unit;
>> u64 group_size = stripe_size * layout->group_depth;
>>
>> *offset = div64_u64(*offset, group_size) * group_size;
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html

2012-01-09 10:43:47

by Boaz Harrosh

[permalink] [raw]
Subject: Re: [PATCH] SQUASHME: pnfsd-exofs: Fix the RAID5 export

Benny hi, thanks.

You will need all the other ORE patches. But they should be
in Linus tree before the 3.3-rc1 so you might just get them
from there.

And this below! With out this fix, the objlayout driver hits
a BUG_ON. Do you think I should check all raid parameters
at client so a BAD server will not crash a client?


Thanks
Boaz
On 01/09/2012 12:38 PM, Boaz Harrosh wrote:
>
> BAD RAID Math in layout_get.
>
> TODO: ore_calc_stripe_info, which is already called, as all
> the needed information calculated by _align_io. Only that
> first_stripe_start is only set in case of RAID, but lo_get
> always needs it. Move the set of first_stripe_start inside
> ore_calc_stripe_info, to the generic part.
>
> Signed-off-by: Boaz Harrosh <[email protected]>
> ---
> fs/exofs/export.c | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/fs/exofs/export.c b/fs/exofs/export.c
> index 8a0e510..621bd11 100644
> --- a/fs/exofs/export.c
> +++ b/fs/exofs/export.c
> @@ -96,7 +96,8 @@ void ore_layout_2_pnfs_layout(struct pnfs_osd_layout *pl,
>
> static void _align_io(struct ore_layout *layout, u64 *offset, u64 *length)
> {
> - u64 stripe_size = layout->group_width * layout->stripe_unit;
> + u64 stripe_size = (layout->group_width - layout->parity) *
> + layout->stripe_unit;
> u64 group_size = stripe_size * layout->group_depth;
>
> *offset = div64_u64(*offset, group_size) * group_size;


2012-02-23 19:42:07

by Benny Halevy

[permalink] [raw]
Subject: pnfs git tree status pnfs-all-3.2-2012-02-22

The following patches were committed to the pnfs-all-3.2 branch at pnfs-all-3.2-2012-02-22
since last update (pnfs-all-3.2-2012-01-08):

Boaz Harrosh dfa1c05 pnfsd-exofs: Fix the RAID5 export
Benny Halevy 0a93004 nfsd41: add missing break when encoding op_why_no_deleg
Benny Halevy b2ccd04 pnfsd: add support for per-file layout_types attribute
Mi Jinlong 3ffa935 nfsd41: allow non-reclaim open-by-fh's in 4.1

2012-05-21 15:44:44

by Benny Halevy

[permalink] [raw]
Subject: pnfs git tree status pnfs-all-3.4-2012-05-21

Tree rebased onto v3.4, pnfs-all-3.4 branch created and tagged as pnfs-all-3.4-2012-05-21

The following patches were merged since pnfs-all-3.4-rc7-2012-05-17:

pnfsd:
Benny Halevy 44f0a0b pnfsd: provide helper for xdr encoding of deviceid

pnfsd-exofs:
Benny Halevy 713c0f1 pnfsd-exofs: use nfsd4_encode_deviceid

pnfsd-lexp:
Boaz Harrosh 2d850da SQUASHME: pnfsd-lexp: Fix compiler warning when CONFIG_SUNRPC_DEBUG is not set

2012-05-17 11:29:38

by Benny Halevy

[permalink] [raw]
Subject: pnfs git tree status pnfs-all-3.4-rc7-2012-05-17

I rebased the pnfs tree onto v3.4-rc7 and tagged pnfs-all-latest as pnfs-all-3.4-rc7-2012-05-17

Note that the pnfsd-block back-end is temporarily deprecated as the rpc pipe mechanism
was changed considerably and I currently have no resources to forward port this code
and test it.

The following patches were merged since pnfs-all-3.3-2012-03-25:

pnfsd:
Benny Halevy 4e55bbb SQUASHME: fixup rpc_pton parameters for 3.4

pnfsd-lexp:
Benny Halevy f5cd008 pnfsd: apply pnfs export option on pnfs export ops setup