[PATCHSET v5 0/38] pnfs for 2.6.40

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This version includes review comment fixes on top of Boaz v4 sent yesterday.

In addition, it includes a generic deviceid cache used for both
layout drivers, using the pointers to the layout driver and to
the nfs_client to uniquify the deviceids.

This patchset includes SQUASHME patches for ease of review
however these will be squashed to produce a smaller and cleaner
patchset.

I've tested this code to compile and pass basic/generic/special
cthon tests with the files layout driver but not with the objects
layout yet.  Boaz - I'd appreciate if you could run the pnfs-obj
tests too, thanks!

Changes in v5: (Benny)
* use struct nfs_client to qualify deviceid
* make device cache global
* use be32 res in nfs4_callback_devicenotify
* use gfp_flags
* xdr_init_decode_pages
* fix layout stateid used for layoutreturn args
* commit message for layoutret_on_setattr
* use global deviceid cache for pnfs-obj
  - revert per-mount hook and related {.un}set_layoutdriver methods
* use layout driver in global device cache

changes in v4: (Boaz)
* See the long SQUASHME patchset I sent yesterday for all the changes.
  titled: [PATCHSET 00/13] SQUASHME pnfs-obj: Lots of changes addressing
comments by Trond and Benny
* I have united all 3 raid-engine read/write patches to a single patch
* I've united the two error-reporting and error-encoding into one patch
* Some checkpatch love
* small cleanups here and there.
(I'll send a diff as reply to this mail)

changes in v3: (Benny)
* removed direct i/o patch
* align layoutget requests on page boundaries
* fix lseg ordering
* cleanup pnfs_insert_lseg
* pnfs: clean up pnfs_find_lseg lseg arg
* remove unnecessary FIXME

changes in v2:
* fix CB_NOTIFY_DEVICEID
* call pnfs_return_layout right before pnfs_destroy_layout
* remove assert_spin_locked from pnfs_clear_lseg_list
* remove wait parameter from the layoutreturn path.
* remove return_type field from nfs4_layoutreturn_args
* remove range from nfs4_layoutreturn_args
* no need to send layoutcommit from _pnfs_return_layout
* don't wait on sync layoutreturn
* get rid of PNFS_USE_RPC_CODE
* get rid of __nfs4_write_done_cb
* get rid of ds_[rw]size
* rename pnfs_{read,write}_done -> pnfs_ld_{read,write}_done
* reorganize and reorder the pnfs-obj patchset to expose dependencies
  and separate api changes
* some cleaning up of the pnfs-obj patches
* add xdr space reservation for pnfs-obj opaque layoutreturn
  and layoutcommit payloads

List of patches:

generic:
[PATCH v5 01/38] NFSv4.1: use struct nfs_client to qualify deviceid
[PATCH v5 02/38] pnfs: resolve header dependency in pnfs.h
[PATCH v5 03/38] NFSv4.1: make deviceid cache global
[PATCH v5 04/38] NFSv4.1: purge deviceid cache on nfs_free_client
[PATCH v5 05/38] pnfs: CB_NOTIFY_DEVICEID
[PATCH v5 06/38] SQUASHME: use be32 res in nfs4_callback_devicenotify
[PATCH v5 07/38] SQUASHME: pnfs: use nfs_client to qualify deviceid for
cb_notify_deviceid
[PATCH v5 08/38] SQUASHME: pnfs: use global deviceid cache for
CB_NOTIFY_DEVICEID
[PATCH v5 09/38] SQUASHME: pnfs: refactor device cache _lookup_deviceid
[PATCH v5 10/38] SQUASHME: pnfs: refactor device cache _find_get_deviceid
[PATCH v5 11/38] SUNRPC: introduce xdr_init_decode_pages
[PATCH v5 12/38] pnfs: Use byte-range for layoutget
[PATCH v5 13/38] pnfs: align layoutget requests on page boundaries
[PATCH v5 14/38] pnfs: Use byte-range for cb_layoutrecall
[PATCH v5 15/38] pnfs: client stats

Basic ld driver and some std definitions:
[PATCH v5 16/38] pnfs-obj: objlayoutdriver module skeleton
[PATCH v5 17/38] pnfs-obj: pnfs_osd XDR definitions
[PATCH v5 18/38] pnfs-obj: pnfs_osd XDR client implementation

layoutget:
[PATCH v5 19/38] pnfs-obj: decode layout, alloc/free lseg

getdeviceinfo:
[PATCH v5 20/38] pnfs: per mount layout driver private data
[PATCH v5 21/38] pnfs-obj: objio_osd device information retrieval and
caching
[PATCH v5 22/38] pnfs: set/unset layoutdriver
[PATCH v5 23/38] SQUASHME: pnfs-obj: use global device cache
[PATCH v5 24/38] SQUASHME: Revert "pnfs: per mount layout driver private
data"
[PATCH v5 25/38] SQUASHME: Revert "pnfs: set/unset layoutdriver"
[PATCH v5 26/38] NFSv4.1: use layout driver in global device cache

read/write:
[PATCH v5 27/38] pnfs: alloc and free layout_hdr layoutdriver methods
[PATCH v5 28/38] pnfs-obj: define per-inode private structure
[PATCH v5 29/38] pnfs: support for non-rpc layout drivers
[PATCH v5 30/38] SQUASHME: initialize data->task on the non-rpc io done
success paths
[PATCH v5 31/38] pnfs-obj: osd raid engine read/write implementation

layoutreturn:
[PATCH v5 32/38] pnfs: layoutreturn
[PATCH v5 33/38] SQUASHME: pnfs: fix layout stateid in layoutreturn args
[PATCH v5 34/38] pnfs: layoutret_on_setattr
[PATCH v5 35/38] pnfs: encode_layoutreturn
[PATCH v5 36/38] pnfs-obj: report errors and .encode_layoutreturn
Implementation.

layoutcommit:
[PATCH v5 37/38] pnfs: encode_layoutcommit
[PATCH v5 38/38] pnfs-obj: objlayout_encode_layoutcommit implementation
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux