[GIT PULL] Ceph changes for 3.6

From: Sage Weil
Date: Tue Jul 31 2012 - 14:35:43 EST


Hi Linus,

Please pull the following Ceph changes for 3.6 from

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

There are several trivial conflicts to resolve; sorry! Stephen is
carrying fixes for them in linux-next as well.

Lots of stuff this time around:

* lots of cleanup and refactoring in the libceph messenger code, and many
hard to hit races and bugs closed as a result.
* lots of cleanup and refactoring in the rbd code from Alex Elder, mostly in
preparation for the layering functionality that will be coming in 3.7.
* some misc rbd cleanups from Josh Durgin that are finally going upstream
* support for CRUSH tunables (used by newer clusters to improve the data
placement)
* some cleanup in our use of d_parent that Al brought up a while back
* a random collection of fixes across the tree

There is another patch coming that fixes up our ->atomic_open() behavior,
but I'm going to hammer on it a bit more before sending it.

Thanks!
sage

----------------------------------------------------------------
Alan Cox (1):
ceph: fix potential double free

Alex Elder (76):
libceph: eliminate connection state "DEAD"
libceph: kill bad_proto ceph connection op
libceph: rename socket callbacks
libceph: rename kvec_reset and kvec_add functions
libceph: embed ceph messenger structure in ceph_client
libceph: start separating connection flags from state
libceph: start tracking connection socket state
libceph: provide osd number when creating osd
libceph: set CLOSED state bit in con_init
libceph: osd_client: don't drop reply reference too early
libceph: embed ceph connection structure in mon_client
libceph: init monitor connection when opening
libceph: fully initialize connection in con_init()
libceph: tweak ceph_alloc_msg()
libceph: have messages point to their connection
libceph: have messages take a connection reference
libceph: make ceph_con_revoke() a msg operation
libceph: make ceph_con_revoke_message() a msg op
libceph: encapsulate out message data setup
libceph: encapsulate advancing msg page
libceph: don't mark footer complete before it is
libceph: move init_bio_*() functions up
libceph: move init of bio_iter
libceph: don't use bio_iter as a flag
libceph: SOCK_CLOSED is a flag, not a state
libceph: don't change socket state on sock event
libceph: just set SOCK_CLOSED when state changes
libceph: don't touch con state in con_close_socket()
libceph: clear CONNECTING in ceph_con_close()
libceph: clear NEGOTIATING when done
libceph: define and use an explicit CONNECTED state
libceph: separate banner and connect writes
libceph: distinguish two phases of connect sequence
libceph: small changes to messenger.c
libceph: add some fine ASCII art
libceph: drop declaration of ceph_con_get()
libceph: fix off-by-one bug in ceph_encode_filepath()
rbd: drop a useless local variable
libceph: define ceph_extract_encoded_string()
rbd: define dup_token()
rbd: rename rbd_dev->block_name
rbd: create pool_id device attribute
rbd: dynamically allocate pool name
rbd: dynamically allocate object prefix
rbd: dynamically allocate image header name
rbd: dynamically allocate image name
rbd: dynamically allocate snapshot name
rbd: use rbd_dev consistently
rbd: rename some fields in struct rbd_dev
rbd: more symbol renames
rbd: option symbol renames
rbd: kill num_reply parameters
rbd: don't use snapc->seq that way
rbd: preserve snapc->seq in rbd_header_set_snap()
rbd: set snapc->seq only when refreshing header
rbd: kill rbd_image_header->snap_seq
rbd: drop extra header_rwsem init
rbd: simplify __rbd_remove_all_snaps()
rbd: clean up a few dout() calls
ceph: define snap counts as u32 everywhere
rbd: encapsulate header validity test
rbd: rename rbd_device->id
rbd: snapc is unused in rbd_req_sync_read()
rbd: drop rbd_header_from_disk() gfp_flags parameter
rbd: drop rbd_dev parameter in snap functions
rbd: drop "object_name" from rbd_req_sync_watch()
rbd: drop "object_name" from rbd_req_sync_notify()
rbd: drop "object_name" from rbd_req_sync_notify_ack()
rbd: drop "object_name" from rbd_req_sync_unwatch()
rbd: have __rbd_add_snap_dev() return a pointer
rbd: make rbd_create_rw_ops() return a pointer
rbd: pass null version pointer in add_snap()
rbd: always pass ops array to rbd_req_sync_op()
rbd: fixes in rbd_header_from_disk()
rbd: return obj version in __rbd_refresh_header()
rbd: create rbd_refresh_helper()

Dan Carpenter (2):
rbd: endian bug in rbd_req_cb()
libceph: fix NULL dereference in reset_connection()

Guanjun He (1):
libceph: prevent the race of incoming work during teardown

Jiaju Zhang (1):
libceph: trivial fix for the incorrect debug output

Josh Durgin (6):
rbd: return errors for mapped but deleted snapshot
rbd: only reset capacity when pointing to head
rbd: expose the correct size of the device in sysfs
rbd: set image size when header is updated
rbd: use reference counting for the snap context
rbd: send header version when notifying

Sage Weil (40):
libceph: use con get/put ops from osd_client
libceph: drop connection refcounting for mon_client
libceph: transition socket state prior to actual connect
libceph: flush msgr queue during mon_client shutdown
Merge tag 'v3.5-rc1'
libceph: use con get/put methods
libceph: drop ceph_con_get/put helpers and nref member
libceph: set peer name on con_open, not init
libceph: initialize mon_client con only once
libceph: allow sock transition from CONNECTING to CLOSED
libceph: initialize msgpool message types
libceph: initialize rb, list nodes in ceph_osd_request
libceph: fix messenger retry
ceph: clean up useless d_parent checks
libceph: move feature bits to separate header
libceph: support crush tunables
libceph: report socket read/write error message
libceph: fix mutex coverage for ceph_con_close
libceph: resubmit linger ops when pg mapping changes
libceph: (re)initialize bio_iter on start of message receive
ceph: close old con before reopening on mds reconnect
libceph: protect ceph_con_open() with mutex
libceph: reset connection retry on successfully negotiation
libceph: fix fault locking; close socket on lossy fault
libceph: move msgr clear_standby under con mutex protection
libceph: move ceph_con_send() closed check under the con mutex
libceph: drop gratuitous socket close calls in con_work
libceph: close socket directly from ceph_con_close()
libceph: drop unnecessary CLOSED check in socket state change callback
libceph: replace connection state bits with states
libceph: clean up con flags
libceph: clear all flags on con_close
libceph: be less chatty about stray replies
ceph: update MAINTAINERS file
libceph: fix handling of immediate socket connect failure
libceph: revoke mon_client messages on session restart
libceph: verify state after retaking con lock after dispatch
libceph: avoid dropping con mutex before fault
libceph: change ceph_con_in_msg_alloc convention to be less weird
libceph: recheck con state after allocating incoming message

Xi Wang (3):
libceph: fix overflow in __decode_pool_names()
libceph: fix overflow in osdmap_decode()
libceph: fix overflow in osdmap_apply_incremental()

Yan, Zheng (3):
ceph: check PG_Private flag before accessing page->private
rbd: Fix ceph_snap_context size calculation
rbd: Clear ceph_msg->bio_iter for retransmitted message

Documentation/ABI/testing/sysfs-bus-rbd | 10 +-
MAINTAINERS | 13 +-
drivers/block/rbd.c | 820 +++++++++++++++------------
drivers/block/rbd_types.h | 1 -
fs/ceph/addr.c | 21 +-
fs/ceph/dir.c | 7 +-
fs/ceph/mds_client.c | 23 +-
fs/ceph/snap.c | 18 +-
fs/ceph/super.c | 1 +
fs/ceph/super.h | 4 +-
fs/ceph/xattr.c | 1 +
include/linux/ceph/ceph_features.h | 27 +
include/linux/ceph/ceph_fs.h | 14 -
include/linux/ceph/decode.h | 49 ++-
include/linux/ceph/libceph.h | 10 +-
include/linux/ceph/messenger.h | 72 +--
include/linux/ceph/mon_client.h | 2 +-
include/linux/ceph/msgpool.h | 3 +-
include/linux/crush/crush.h | 8 +
net/ceph/ceph_common.c | 32 +-
net/ceph/crush/mapper.c | 13 +-
net/ceph/messenger.c | 937 +++++++++++++++++++------------
net/ceph/mon_client.c | 84 ++--
net/ceph/msgpool.c | 7 +-
net/ceph/osd_client.c | 89 ++--
net/ceph/osdmap.c | 59 ++-
26 files changed, 1387 insertions(+), 938 deletions(-)
create mode 100644 include/linux/ceph/ceph_features.h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/