Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cc8362b1 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull Ceph changes from Sage Weil:
 "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."

Fix up conflicts due to commits that were already committed earlier in
drivers/block/rbd.c, net/ceph/{messenger.c, osd_client.c}

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (132 commits)
  rbd: create rbd_refresh_helper()
  rbd: return obj version in __rbd_refresh_header()
  rbd: fixes in rbd_header_from_disk()
  rbd: always pass ops array to rbd_req_sync_op()
  rbd: pass null version pointer in add_snap()
  rbd: make rbd_create_rw_ops() return a pointer
  rbd: have __rbd_add_snap_dev() return a pointer
  libceph: recheck con state after allocating incoming message
  libceph: change ceph_con_in_msg_alloc convention to be less weird
  libceph: avoid dropping con mutex before fault
  libceph: verify state after retaking con lock after dispatch
  libceph: revoke mon_client messages on session restart
  libceph: fix handling of immediate socket connect failure
  ceph: update MAINTAINERS file
  libceph: be less chatty about stray replies
  libceph: clear all flags on con_close
  libceph: clean up con flags
  libceph: replace connection state bits with states
  libceph: drop unnecessary CLOSED check in socket state change callback
  libceph: close socket directly from ceph_con_close()
  ...
parents 2e3ee613 1fe5e993
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -35,8 +35,14 @@ name

pool

	The pool where this rbd image resides. The pool-name pair is unique
	per rados system.
	The name of the storage pool where this rbd image resides.
	An rbd image name is unique within its pool.

pool_id

	The unique identifier for the rbd image's pool.  This is
	a permanent attribute of the pool.  A pool's id will never
	change.

size

+8 −5
Original line number Diff line number Diff line
@@ -1789,15 +1789,16 @@ F: arch/powerpc/oprofile/*cell*
F:	arch/powerpc/platforms/cell/

CEPH DISTRIBUTED FILE SYSTEM CLIENT
M:	Sage Weil <sage@newdream.net>
M:	Sage Weil <sage@inktank.com>
L:	ceph-devel@vger.kernel.org
W:	http://ceph.newdream.net/
W:	http://ceph.com/
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
S:	Supported
F:	Documentation/filesystems/ceph.txt
F:	fs/ceph
F:	net/ceph
F:	include/linux/ceph
F:	include/linux/crush

CERTIFIED WIRELESS USB (WUSB) SUBSYSTEM:
L:	linux-usb@vger.kernel.org
@@ -5639,10 +5640,12 @@ S: Supported
F:	arch/hexagon/

RADOS BLOCK DEVICE (RBD)
F:	include/linux/qnxtypes.h
M:	Yehuda Sadeh <yehuda@hq.newdream.net>
M:	Sage Weil <sage@newdream.net>
M:	Yehuda Sadeh <yehuda@inktank.com>
M:	Sage Weil <sage@inktank.com>
M:	Alex Elder <elder@inktank.com>
M:	ceph-devel@vger.kernel.org
W:	http://ceph.com/
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
S:	Supported
F:	drivers/block/rbd.c
F:	drivers/block/rbd_types.h
+462 −354

File changed.

Preview size limit exceeded, changes collapsed.

+0 −1
Original line number Diff line number Diff line
@@ -31,7 +31,6 @@
#define RBD_MIN_OBJ_ORDER       16
#define RBD_MAX_OBJ_ORDER       30

#define RBD_MAX_OBJ_NAME_LEN	96
#define RBD_MAX_SEG_NAME_LEN	128

#define RBD_COMP_NONE		0
+3 −4
Original line number Diff line number Diff line
@@ -51,8 +51,7 @@ int ceph_init_dentry(struct dentry *dentry)
		goto out_unlock;
	}

	if (dentry->d_parent == NULL ||   /* nfs fh_to_dentry */
	    ceph_snap(dentry->d_parent->d_inode) == CEPH_NOSNAP)
	if (ceph_snap(dentry->d_parent->d_inode) == CEPH_NOSNAP)
		d_set_d_op(dentry, &ceph_dentry_ops);
	else if (ceph_snap(dentry->d_parent->d_inode) == CEPH_SNAPDIR)
		d_set_d_op(dentry, &ceph_snapdir_dentry_ops);
@@ -79,7 +78,7 @@ struct inode *ceph_get_dentry_parent_inode(struct dentry *dentry)
		return NULL;

	spin_lock(&dentry->d_lock);
	if (dentry->d_parent) {
	if (!IS_ROOT(dentry)) {
		inode = dentry->d_parent->d_inode;
		ihold(inode);
	}
@@ -1154,7 +1153,7 @@ static void ceph_d_prune(struct dentry *dentry)
	dout("ceph_d_prune %p\n", dentry);

	/* do we have a valid parent? */
	if (!dentry->d_parent || IS_ROOT(dentry))
	if (IS_ROOT(dentry))
		return;

	/* if we are not hashed, we don't affect D_COMPLETE */
Loading