Skip to contentSkip to conversation

pnfs git tree status pnfs-all-3.1-2011-11-14 pnfs-all-3.2-rc1-2011-11-14

PATCH In review Benny Halevy 4 participants 14 messages Nov 14, 2011 – May 21, 2012

Subsystems (2)
lore
Share & tools
lore

Benny Halevy

author Applied
#0 lore raw

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

#1 lore raw
Quoted 10 lines · Benny Halevy

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.

Quoted 11 lines

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

Quoted 18 lines

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

#2 lore raw
Quoted 11 lines · Peng Tao
Quoted 10 lines · Benny Halevy

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
Quoted 5 lines

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

Quoted 13 lines

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.

Quoted 4 lines

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

Quoted 9 lines
Quoted 7 lines

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

Quoted 24 lines

Thanks,
Tao

Quoted 12 lines

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]

Quoted 6 lines

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

#3 lore raw
In reply to Benny Halevy
Quoted 11 lines · Benny Halevy

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
Quoted 3 lines

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

Quoted 24 lines

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

#4 lore raw
Quoted 12 lines · Boaz Harrosh
Quoted 11 lines · Benny Halevy

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
Quoted 7 lines
Quoted 3 lines

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
#5 lore raw
Quoted 62 lines · Benny Halevy
Quoted 12 lines · Boaz Harrosh
Quoted 11 lines · Benny Halevy

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
Quoted 7 lines
Quoted 3 lines

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
Quoted 7 lines

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
#6 lore raw

pnfs git tree status pnfs-all-3.2-rc4-2011-12-04

In reply to Benny Halevy

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

#7 lore raw

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

#8 lore raw

PATCH 1/1 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.

---
 fs/exofs/export.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
fs/exofs/export.c +2 -1
index 8a0e510..621bd11 100644
@@ -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;
Signature · 1 line
1.7.2.3
#9 lore raw

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

Quoted 28 lines · Boaz Harrosh

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.

---
 fs/exofs/export.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
fs/exofs/export.c +2 -1
index 8a0e510..621bd11 100644
@@ -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;
#10 lore raw

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

Quoted 5 lines · Boaz Harrosh

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.

Quoted 2 lines

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

Quoted 2 lines

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

Quoted 38 lines

Thanks
Boaz

Quoted 19 lines · Boaz Harrosh

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.

---
 fs/exofs/export.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
fs/exofs/export.c +0 -0
index 8a0e510..621bd11 100644

fs/exofs/export.c void ore_layout_2_pnfs_layout(struct pnfs_osd_layout *pl, · line 103

Quoted 9 lines
fs/exofs/export.c +2 -1
@@ -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

#11 lore raw

pnfs git tree status pnfs-all-3.2-2012-02-22

In reply to Benny Halevy

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
#12 lore raw

pnfs git tree status pnfs-all-3.4-rc7-2012-05-17

In reply to Benny Halevy

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

#13 lore raw

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