Hi Linus,

Please pull the following Ceph updates from

  git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git for-linus

A few groups of patches here.  Alex has been hard at work improving the 
RBD code, layout groundwork for understanding the new formats and doing 
layering.  Most of the infrastructure is now in place for the final bits 
that will come with the next window.

There are a few changes to the data layout.  Jim Schutt's patch fixes some 
non-ideal CRUSH behavior, and a set of patches from me updates the client 
to speak a newer version of the protocol and implement an improved hashing 
strategy across storage nodes (when the server side supports it too).

A pair of patches from Sam Lang fix the atomicity of open+create 
operations.  Several patches from Yan, Zheng fix various mds/client issues 
that turned up during multi-mds torture tests.

A final set of patches expose file layouts via virtual xattrs, and allow 
the policies to be set on directories via xattrs as well (avoiding the 
awkward ioctl interface and providing a consistent interface for both 
kernel mount and ceph-fuse users).

Thanks!
sage



----------------------------------------------------------------
Alex Elder (118):
      libceph: reformat __reset_osd()
      rbd: document rbd_spec structure
      rbd: kill rbd_spec->image_name_len
      rbd: kill rbd_spec->image_id_len
      rbd: use kmemdup()
      ceph: define ceph_encode_8_safe()
      rbd: define and use rbd_warn()
      rbd: add warning messages for missing arguments
      rbd: add a warning in bio_chain_clone_range()
      rbd: add warnings to rbd_dev_probe_update_spec()
      rbd: standardize rbd_request variable names
      rbd: standardize ceph_osd_request variable names
      rbd: be picky about osd request status type
      rbd: encapsulate handling for a single request
      rbd: end request on error in rbd_do_request() caller
      rbd: a little more cleanup of rbd_rq_fn()
      rbd: make exists flag atomic
      rbd: only get snap context for write requests
      rbd: separate layout init
      rbd: drop oid parameters from ceph_osdc_build_request()
      rbd: drop snapid parameter from rbd_req_sync_read()
      rbd: drop flags parameter from rbd_req_sync_exec()
      rbd: kill rbd_req_sync_op() snapc and snapid parameters
      rbd: don't bother setting snapid in rbd_do_request()
      libceph: always allow trail in osd request
      libceph: kill op_needs_trail()
      libceph: pass length to ceph_osdc_build_request()
      libceph: pass length to ceph_calc_file_object_mapping()
      libceph: drop snapid in ceph_calc_raw_layout()
      libceph: drop osdc from ceph_calc_raw_layout()
      libceph: don't set flags in ceph_osdc_alloc_request()
      libceph: don't set pages or bio in ceph_osdc_alloc_request()
      rbd: pass num_op with ops array
      libceph: pass num_op with ops
      rbd: there is really only one op
      rbd: assume single op in a request
      rbd: kill ceph_osd_req_op->flags
      rbd: pull in ceph_calc_raw_layout()
      rbd: open code rbd_calc_raw_layout()
      rbd: don't bother calculating file mapping
      rbd: use a common layout for each device
      rbd: combine rbd sync watch/unwatch functions
      rbd: don't leak rbd_req on synchronous requests
      rbd: don't leak rbd_req for rbd_req_sync_notify_ack()
      rbd: don't assign extent info in rbd_do_request()
      rbd: don't assign extent info in rbd_req_sync_op()
      rbd: move call osd op setup into rbd_osd_req_op_create()
      rbd: move remaining osd op setup into rbd_osd_req_op_create()
      rbd: assign watch request more directly
      rbd: fix type of snap_id in rbd_dev_v2_snap_info()
      rbd: small changes
      rbd: check for overflow in rbd_get_num_segments()
      rbd: don't retry setting up header watch
      Merge branch 'testing' of github.com:ceph/ceph-client into 
v3.8-rc5-testing
      libceph: fix messenger CONFIG_BLOCK dependencies
      rbd: new request tracking code
      rbd: kill rbd_rq_fn() and all other related code
      rbd: kill rbd_req_coll and rbd_request
      rbd: implement sync object read with new code
      rbd: get rid of rbd_req_sync_read()
      rbd: implement watch/unwatch with new code
      rbd: get rid of rbd_req_sync_watch()
      rbd: use new code for notify ack
      rbd: get rid of rbd_req_sync_notify_ack()
      rbd: send notify ack asynchronously
      rbd: implement sync method with new code
      rbd: get rid of rbd_req_sync_exec()
      rbd: unregister linger in watch sync routine
      rbd: track object rather than osd request for watch
      rbd: decrement obj request count when deleting
      rbd: don't drop watch requests on completion
      rbd: define flags field, use it for exists flag
      rbd: prevent open for image being removed
      libceph: add a compatibility check interface
      rbd: don't take extra bio reference for osd client
      libceph: don't require r_num_pages for bio requests
      rbd: turn off interrupts for open/remove locking
      rbd: add barriers near done flag operations
      libceph: improve packing in struct ceph_osd_req_op
      ceph: kill ceph_osdc_writepages() "nofail" parameter
      ceph: kill ceph_osdc_writepages() "dosync" parameter
      ceph: kill ceph_osdc_writepages() "flags" parameter
      ceph: kill ceph_osdc_new_request() "num_reply" parameter
      libceph: lock outside send_queued()
      libdeph: don't export ceph_osdc_init() or ceph_osdc_stop()
      libceph: kill ceph_calc_raw_layout()
      libceph: kill ceph_osdc_create_event() "one_shot" parameter
      libceph: kill ceph_osdc_wait_event()
      libceph: update rados.h
      libceph: add ceph_osd_state_name()
      libceph: update ceph_osd_op_name()
      libceph: report defined but unsupported osd ops
      libceph: remove dead code in osd_req_encode_op()
      libceph: update ceph_fs.h
      libceph: update ceph_mds_state_name() and ceph_mds_op_name()
      libceph: simplify data length calculation
      rbd: add parentheses to object request iterator macros
      libceph: allow STAT osd operations
      ceph: remove a few bogus declarations
      libceph: use void pointers in page vector functions
      rbd: prevent bytes transferred overflow
      rbd: ignore result of ceph_copy_from_page_vector()
      libceph: drop return value from page vector copy routines
      Merge branch 'testing' of github.com:ceph/ceph-client into into 
linux-3.8-ceph
      rbd: ignore zero-length requests
      rbd: barriers are hard
      rbd: normalize dout() calls
      libceph: define connection flag helpers
      rbd: eliminate sparse warnings
      ceph: eliminate sparse warnings in fs code
      libceph: eliminate sparse warnings
      libceph: encapsulate connection backoff
      libceph: separate non-locked fault handling
      libceph: use a flag to indicate a fault has occurred
      libceph: use a do..while loop in con_work()
      rbd: move rbd_osd_trivial_callback()
      rbd: pass length, not op for osd completions
      ceph: update "ceph_features.h"

Cong Ding (1):
      libceph: fix undefined behavior when using snprintf()

Jim Schutt (1):
      libceph: for chooseleaf rules, retry CRUSH map descent from root if leaf 
is failed

Sage Weil (18):
      crush: avoid recursion if we have already collided
      ceph: remove 'ceph.layout' virtual xattr
      ceph: support hidden vxattrs
      ceph: pass unhandled ceph.* setxattrs through to MDS
      ceph: pass ceph.* removexattrs through to MDS
      ceph: add exists_cb to vxattr struct
      ceph: fix getxattr vxattr handling
      ceph: fix listxattr handling for vxattrs
      ceph: change ceph.file.layout.* implementation, content
      ceph: add ceph.dir.layout vxattr
      ceph: implement hidden per-field ceph.*.layout.* vxattrs
      ceph: fix statvfs fr_size
      libceph: rename ceph_pg -> ceph_pg_v1
      libceph: decode into cpu-native ceph_pg type
      ceph: update support for PGID64, PGPOOL3, OSDENC protocol features
      libceph: calculate placement based on the internal data types
      libceph: update osd request/reply encoding
      libceph: add support for HASHPSPOOL pool flag

Sam Lang (2):
      ceph: Check for err on mds request in atomic_open
      ceph: Check for created flag in response from mds

Yan, Zheng (5):
      ceph: re-calculate truncate_size for strip object
      ceph: move dirty inode to migrating list when clearing auth caps
      ceph: allow revoking duplicated caps issued by non-auth MDS
      ceph: allocate cap_release message when receiving cap import
      ceph: check mds_wanted for imported cap

 drivers/block/rbd.c                | 1852 ++++++++++++++++++++++--------------
 fs/ceph/addr.c                     |   38 +-
 fs/ceph/caps.c                     |   32 +-
 fs/ceph/file.c                     |    8 +-
 fs/ceph/ioctl.c                    |    6 +-
 fs/ceph/mds_client.c               |   33 +-
 fs/ceph/mds_client.h               |    6 +
 fs/ceph/mdsmap.c                   |   12 +-
 fs/ceph/strings.c                  |    4 +
 fs/ceph/super.c                    |    7 +-
 fs/ceph/super.h                    |   10 +-
 fs/ceph/xattr.c                    |  214 ++++-
 include/linux/ceph/ceph_features.h |   38 +-
 include/linux/ceph/ceph_fs.h       |   32 +-
 include/linux/ceph/decode.h        |   29 +-
 include/linux/ceph/libceph.h       |   16 +-
 include/linux/ceph/mdsmap.h        |    4 +-
 include/linux/ceph/messenger.h     |    2 +
 include/linux/ceph/osd_client.h    |   74 +-
 include/linux/ceph/osdmap.h        |   30 +-
 include/linux/ceph/rados.h         |  158 ++-
 include/linux/crush/crush.h        |    2 +
 net/ceph/ceph_common.c             |   22 +-
 net/ceph/ceph_strings.c            |   39 +
 net/ceph/crush/mapper.c            |   15 +-
 net/ceph/crypto.c                  |    7 +-
 net/ceph/debugfs.c                 |   29 +-
 net/ceph/messenger.c               |  260 +++--
 net/ceph/mon_client.c              |    2 +-
 net/ceph/osd_client.c              |  635 +++++++------
 net/ceph/osdmap.c                  |  290 +++---
 net/ceph/pagevec.c                 |   24 +-
 32 files changed, 2402 insertions(+), 1528 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to