Re: [PATCH 12/20] rbd: don't set data in rbd_osd_req_format_op()

2013-04-08 Thread Josh Durgin
Reviewed-by: Josh Durgin On 04/05/2013 07:04 AM, Alex Elder wrote: Currently an object request has its osd request's data field set in rbd_osd_req_format_op(). That assumes a single osd op per object request, and that won't be the case for long. Move the code that sets this out an

Re: [PATCH 08/20] libceph: keep source rather than message osd op array

2013-04-08 Thread Josh Durgin
Reviewed-by: Josh Durgin On 04/05/2013 07:03 AM, Alex Elder wrote: An osd request keeps a pointer to the osd operations (ops) array that it builds in its request message. In order to allow each op in the array to have its own distinct data, we will need to keep track of each op's data

Re: [PATCH 09/20] libceph: rename data out field in osd request op

2013-04-08 Thread Josh Durgin
Reviewed-by: Josh Durgin On 04/05/2013 07:03 AM, Alex Elder wrote: There are fields "indata" and "indata_len" defined the ceph osd request op structure. The "in" part is with from the point of view of the osd server, but is a little confusing here on the clien

Re: [PATCH 07/20] rbd: define rbd_osd_req_format_op()

2013-04-05 Thread Josh Durgin
Reviewed-by: Josh Durgin On 04/05/2013 07:03 AM, Alex Elder wrote: Define rbd_osd_req_format_op(), which encapsulates formatting an osd op into an object request's osd request message. Only one op is supported right now. Stop calling ceph_osdc_build_request() in rbd_osd_req_create(). In

Re: [PATCH 06/20] libceph: a few more osd data cleanups

2013-04-05 Thread Josh Durgin
Reviewed-by: Josh Durgin On 04/05/2013 07:02 AM, Alex Elder wrote: These are very small changes that make use osd_data local pointers as shorthands for structures being operated on. Signed-off-by: Alex Elder --- fs/ceph/addr.c | 30 +- 1 file changed, 17

Re: [PATCH 05/20] libceph: define ceph_osd_data_length()

2013-04-05 Thread Josh Durgin
Reviewed-by: Josh Durgin On 04/05/2013 07:02 AM, Alex Elder wrote: One more osd data helper, which returns the length of the data item, regardless of its type. Signed-off-by: Alex Elder --- net/ceph/osd_client.c | 31 ++- 1 file changed, 26 insertions(+), 5

Re: [PATCH 04/20] libceph: define a few more helpers

2013-04-05 Thread Josh Durgin
There's a sizeof without parentheses, but after fixing that: Reviewed-by: Josh Durgin On 04/05/2013 07:02 AM, Alex Elder wrote: Define ceph_osd_data_init() and ceph_osd_data_release() to clean up a little code. Signed-off-by: Alex Elder --- net/ceph/osd_client.c |

Re: [PATCH 03/20] libceph: define osd data initialization helpers

2013-04-05 Thread Josh Durgin
Reviewed-by: Josh Durgin On 04/05/2013 07:02 AM, Alex Elder wrote: Define and use functions that encapsulate the initializion of a ceph_osd_data structure. Signed-off-by: Alex Elder --- drivers/block/rbd.c | 14 -- fs/ceph/addr.c | 13

Re: [PATCH 02/20] libceph: compute incoming bytes once

2013-04-05 Thread Josh Durgin
Reviewed-by: Josh Durgin On 04/05/2013 07:01 AM, Alex Elder wrote: This is a simple change, extracting the number of incoming data bytes just once in handle_reply(). Signed-off-by: Alex Elder --- net/ceph/osd_client.c |8 1 file changed, 4 insertions(+), 4 deletions(-) diff

Re: [PATCH 01/20] rbd: define inbound data size for method ops

2013-04-05 Thread Josh Durgin
Reviewed-by: Josh Durgin On 04/05/2013 07:01 AM, Alex Elder wrote: When rbd creates an object request containing an object method call operation it is passing 0 for the size. I originally thought this was because the length was not needed for method calls, but I think it really should be

Re: [PATCH] libceph: provide data length when preparing message

2013-04-05 Thread Josh Durgin
Reviewed-by: Josh Durgin On 04/05/2013 06:35 AM, Alex Elder wrote: In prepare_message_data(), the length used to initialize the cursor is taken from the header of the message provided. I'm working toward not using the header data length field to determine length in outbound messages, and

Re: [PATCH 0/9]

2013-04-04 Thread Josh Durgin
its execution. Also stops having the length field in a message header get updated by the file system code. These all look good. The one thing I'm uncertain about is changing the mempool allocation failure from a WARN to a BUG, but it seems there's no good way to recover at that

Re: [PATCH] ceph: set up page array mempool with correct size

2013-04-03 Thread Josh Durgin
Reviewed-by: Josh Durgin On 04/01/2013 08:49 AM, Alex Elder wrote: In create_fs_client() a memory pool is set up be used for arrays of pages that might be needed in ceph_writepages_start() if memory is tight. There are two problems with the way it's initialized: - The size provid

Re: [PATCH 0/4] libceph: use op formatter for ceph_osdc_new_request()

2013-04-03 Thread Josh Durgin
_init() These all look good. Reviewed-by: Josh Durgin -- 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

Re: [PATCH] libceph: define ceph_decode_pgid() only once

2013-04-03 Thread Josh Durgin
Reviewed-by: Josh Durgin On 04/02/2013 06:40 AM, Alex Elder wrote: There are two basically identical definitions of __decode_pgid() in libceph, one in "net/ceph/osdmap.c" and the other in "net/ceph/osd_client.c". Get rid of both, and instead define a single inline versi

Re: [PATCH] libceph: define source request op functions

2013-04-03 Thread Josh Durgin
Great! This looks a lot better to me. Reviewed-by: Josh Durgin On 03/29/2013 02:24 PM, Alex Elder wrote: The rbd code has a function that allocates and populates a ceph_osd_req_op structure (the in-core version of an osd request operation). When reviewed, Josh suggested two things: that the

Re: [PATCH] libceph: define osd_req_opcode_valid()

2013-04-03 Thread Josh Durgin
Reviewed-by: Josh Durgin On 03/29/2013 02:24 PM, Alex Elder wrote: Define a separate function to determine the validity of an opcode, and use it inside osd_req_encode_op() in order to unclutter that function. Don't update the destination op at all--and return zero--if an unsupport

Re: [PATCH] ceph: move max constant definitions

2013-04-03 Thread Josh Durgin
Reviewed-by: Josh Durgin On 03/29/2013 02:24 PM, Alex Elder wrote: Move some definitions for max integer values out of the rbd code and into the more central "decode.h" header file. These really belong in a Linux (or libc) header somewhere, but I haven't gotten around to pro

Re: [PATCH] libceph: be explicit in masking bottom 16 bits

2013-04-03 Thread Josh Durgin
Reviewed-by: Josh Durgin On 03/29/2013 02:05 PM, Alex Elder wrote: In ceph_osdc_build_request() there is a call to cpu_to_le16() which provides a 64-bit value as its argument. Because of the implied byte swapping going on it looked pretty suspect to me. At the moment it turns out the

Re: [PATCH] libceph: initialize data fields on last msg put

2013-03-29 Thread Josh Durgin
Reviewed-by: Josh Durgin On 03/25/2013 09:56 AM, Alex Elder wrote: (This patch is available in branch "review/wip-4540" of the ceph-client git repository, which is based on the current "testing" branch.) When the last reference to a ceph message is dropped, ceph_msg_las

Re: Latest 0.56.3 and qemu-1.4.0 and cloned VM-image producing massive fs-corruption, not crashing

2013-03-26 Thread Josh Durgin
Josh On 03/22/2013 08:30 PM, Josh Durgin wrote: On 03/22/2013 12:09 PM, Oliver Francke wrote: Hi Josh, all, I did not want to hijack the thread dealing with a crashing VM, but perhaps there are some common things. Today I installed a fresh cluster with mkephfs, went fine, imported a "mast

Re: Latest 0.56.3 and qemu-1.4.0 and cloned VM-image producing massive fs-corruption, not crashing

2013-03-22 Thread Josh Durgin
On 03/22/2013 12:09 PM, Oliver Francke wrote: Hi Josh, all, I did not want to hijack the thread dealing with a crashing VM, but perhaps there are some common things. Today I installed a fresh cluster with mkephfs, went fine, imported a "master" debian 6.0 image with "format 2", made a snapsho

Re: Latest bobtail branch still crashing KVM VMs in bh_write_commit()

2013-03-22 Thread Josh Durgin
sure if the log will contain any CephX keys or anything like that. On Wed, Mar 20, 2013 at 4:39 PM, Travis Rhoden wrote: Thanks Josh. I will respond when I have something useful! On Wed, Mar 20, 2013 at 4:32 PM, Josh Durgin wrote: On 03/20/2013 01:19 PM, Josh Durgin wrote: On 03/20/2013 01:14 PM,

Re: Latest bobtail branch still crashing KVM VMs in bh_write_commit()

2013-03-20 Thread Josh Durgin
On 03/20/2013 01:19 PM, Josh Durgin wrote: On 03/20/2013 01:14 PM, Stefan Priebe wrote: Hi, In this case, they are format 2. And they are from cloned snapshots. Exactly like the following: # rbd ls -l -p volumes NAME SIZE PARENT

Re: Latest bobtail branch still crashing KVM VMs in bh_write_commit()

2013-03-20 Thread Josh Durgin
On 03/20/2013 01:14 PM, Stefan Priebe wrote: Hi, In this case, they are format 2. And they are from cloned snapshots. Exactly like the following: # rbd ls -l -p volumes NAME SIZE PARENT FMT PROT L

Re: rados cppool and Openstack Glance and Cinder

2013-03-15 Thread Josh Durgin
On 03/15/2013 02:55 PM, Dave Spano wrote: During my journey of using rados cppool, which is an awesome feature by the way, I found an interesting behavior related to cephx. I wanted to share it for anyone else who may be using Openstack, that decides to rename, or copy a pool. My client.glanc

Re: [PATCH] libceph: collapse all data items into one

2013-03-14 Thread Josh Durgin
Reviewed-by: Josh Durgin On 03/12/2013 06:06 PM, Alex Elder wrote: It turns out that only one of the data item types is ever used at any one time in a single message (currently). - A page array is used by the osd client (on behalf of the file system) and by rbd. Only one osd op

Re: [PATCH] libceph: make message data be a pointer

2013-03-14 Thread Josh Durgin
Reviewed-by: Josh Durgin On 03/12/2013 06:10 PM, Alex Elder wrote: Begin the transition from a single message data item to a list of them by replacing the "data" structure in a message with a pointer to a ceph_msg_data structure. A null pointer will indicate the message has no dat

Re: [PATCH 0/4] libceph: get rid of ceph_msg_pos

2013-03-14 Thread Josh Durgin
only ceph_msg_data_advance() These all look good. Reviewed-by: Josh Durgin -- 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

Re: [PATCH 0/4] libceph: use cursor for incoming data

2013-03-14 Thread Josh Durgin
/4] libceph: use cursor for inbound data pages [PATCH 4/4] libceph: get rid of read helpers These all look good. Reviewed-by: Josh Durgin -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majord...@vger.kernel.org More majordomo inf

Re: [PATCH] libceph: record residual bytes for all message data types

2013-03-14 Thread Josh Durgin
Reviewed-by: Josh Durgin On 03/12/2013 06:03 PM, Alex Elder wrote: All of the data types can use this, not just the page array. Until now, only the bio type doesn't have it available, and only the initiator of the request (the rbd client) is able to supply the length of the full re

Re: [PATCH] libceph: no outbound zero data

2013-03-14 Thread Josh Durgin
Reviewed-by: Josh Durgin On 03/12/2013 06:02 PM, Alex Elder wrote: There is handling in write_partial_message_data() for the case where only the length of--and no other information about--the data to be sent has been specified. It uses the zero page as the source of data to send in this case

Re: [PATCH] libceph: drop pages parameter

2013-03-14 Thread Josh Durgin
Reviewed-by: Josh Durgin On 03/12/2013 06:02 PM, Alex Elder wrote: The "pages" parameter in read_partial_message_pages() is unused, so get rid of it. Signed-off-by: Alex Elder --- net/ceph/messenger.c |8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git

Re: OSD memory leaks?

2013-03-13 Thread Josh Durgin
On 03/13/2013 05:05 PM, Dave Spano wrote: I renamed the old one from images to images-old, and the new one from images-new to images. This reminds me of a problem you might hit with this: RBD clones track the parent image pool by id, so they'll continue working after the pool is renamed. If y

Re: [PATCH, v2] libceph: let osd ops determine request data length

2013-03-11 Thread Josh Durgin
Reviewed-by: Josh Durgin On 03/11/2013 08:37 AM, Alex Elder wrote: The first version of this patch had a bug in osd_req_encode_op(). A check intended to see if the source opcode indicated it was wrong. It did this: if (CEPH_OSD_OP_WRITE) when it should have done this: if (src->

Re: [PATCH 0/4] libceph: kill the "trail" portion of message data

2013-03-11 Thread Josh Durgin
[PATCH 4/4] libceph: more cleanup of write_partial_msg_pages() These look good. Reviewed-by: Josh Durgin -- 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

Re: [PATCH 0/8] libceph: implement cursor for outgoing data items

2013-03-11 Thread Josh Durgin
elist [PATCH 7/8] libceph: implement bio message data item cursor [PATCH 8/8] libceph: implement pages array cursor These look good. I assume you're going to remove the single character struct members in a later series. Reviewed-by: Josh Durgin -- To unsubscribe from this list: sen

Re: [PATCH 0/6] libceph: refactor messenger for multiple data sources

2013-03-11 Thread Josh Durgin
3/6] libceph: small write_partial_msg_pages() refactor [PATCH 4/6] libceph: encapsulate reading message data [PATCH 5/6] libceph: define and use ceph_tcp_recvpage() [PATCH 6/6] libceph: define and use ceph_crc32c_page() These all look good. Reviewed-by: Josh Durgin -- To unsubscribe from this list: send t

Re: [PATCH 5/8] libceph: define and use in_msg_pos_next()

2013-03-11 Thread Josh Durgin
On 03/11/2013 12:16 PM, Alex Elder wrote: On 03/11/2013 01:57 PM, Josh Durgin wrote: On 03/09/2013 07:14 AM, Alex Elder wrote: Define a new function in_msg_pos_next() to match out_msg_pos_next(), and use it in place of code at the end of read_partial_message_pages() and

Re: [PATCH] libceph: don't clear bio_iter in prepare_write_message()

2013-03-11 Thread Josh Durgin
Reviewed-by: Josh Durgin On 03/09/2013 08:36 AM, Alex Elder wrote: This patch is available in the branch "review/wip-msgr-refactor" (prior to 6 other patches) in the ceph-client git repository. That branch is based on branch "review

Re: [PATCH 0/7, v2] libceph: abstract message data information

2013-03-11 Thread Josh Durgin
libceph: record message data byte length*** [PATCH 6/7] libceph: set response data fields earlier *** [PATCH 7/7] libceph: activate message data assignment checks These look good. Reviewed-by: Josh Durgin -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the b

Re: [PATCH 0/8] libceph: miscellaneous cleanups

2013-03-11 Thread Josh Durgin
eft() [PATCH 7/8] libceph: simplify new message initialization [PATCH 8/8] libceph: record byte count not page count These look good except for 5/8. Reviewed-by: Josh Durgin -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majord...

Re: [PATCH 5/8] libceph: define and use in_msg_pos_next()

2013-03-11 Thread Josh Durgin
On 03/09/2013 07:14 AM, Alex Elder wrote: Define a new function in_msg_pos_next() to match out_msg_pos_next(), and use it in place of code at the end of read_partial_message_pages() and read_partial_message_bio(). Signed-off-by: Alex Elder --- net/ceph/messenger.c | 57 +

Re: teuthology and code coverage revisited

2013-03-05 Thread Josh Durgin
On 03/04/2013 03:40 PM, Loic Dachary wrote: CommandFailedError: Command failed on 10.20.0.7 with status 1: 'rmdir -- /tmp/cephtest/ubuntu@teuthology-2013-03-04_21-03-19' DEBUG:teuthology.run_tasks:Exception was not quenched, exiting: Exception: failed to fetch package version from http://gitbu

Re: [PATCH 3/3] libceph: separate read and write data

2013-03-04 Thread Josh Durgin
Reviewed-by: Josh Durgin On 03/04/2013 10:18 AM, Alex Elder wrote: An osd request defines information about where data to be read should be placed as well as where data to write comes from. Currently these are represented by common fields. Keep information about data for writing separate from

Re: [PATCH 2/3] libceph: distinguish page and bio requests

2013-03-04 Thread Josh Durgin
Reviewed-by: Josh Durgin On 03/04/2013 10:18 AM, Alex Elder wrote: An osd request uses either pages or a bio list for its data. Use a union to record information about the two, and add a data type tag to select between them. Signed-off-by: Alex Elder --- drivers/block/rbd.c

Re: [PATCH 1/3] libceph: separate osd request data info

2013-03-04 Thread Josh Durgin
This looks good, although the are a few lines that go in the next commit. With those moved: Reviewed-by: Josh Durgin On 03/04/2013 10:17 AM, Alex Elder wrote: Pull the fields in an osd request structure that define the data for the request out into a separate structure. Signed-off-by: Alex

Re: [PATCH 0/3] ceph: assign message data fields consistently

2013-03-04 Thread Josh Durgin
() page_align calculation [PATCH 3/3] libceph: don't assign page info in ceph_osdc_new_request() These look good. Reviewed-by: Josh Durgin -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majord...@vger.kernel.org More majordom

Re: [PATCH 0/3] libceph: a few cleanups

2013-03-04 Thread Josh Durgin
-by: Josh Durgin -- 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

Re: [PATCH] libceph: fix wrong opcode use in osd_req_encode_op()

2013-03-04 Thread Josh Durgin
Reviewed-by: Josh Durgin On 03/02/2013 05:42 PM, Alex Elder wrote: The new cases added to osd_req_encode_op() caused a new sparse error, which highlighted an existing problem that had been overlooked since it was originally checked in. When an unsupported opcode is found the destination

Re: [PATCH] libceph: complete lingering requests only once

2013-03-04 Thread Josh Durgin
Reviewed-by: Josh Durgin On 02/28/2013 06:41 AM, Alex Elder wrote: An osd request marked to linger will be re-submitted in the event a connection to the target osd gets dropped. Currently, if there is a callback function associated with a request it will be called each time a request is

Re: [PATCH] Add X-Python-Version >=2.6 to debian control file.

2013-03-04 Thread Josh Durgin
On 02/27/2013 03:56 AM, Filippos Giannakos wrote: python-ceph complains when installed to debian squeeze about the 'with' statement. Apparently installation tries to install the python-ceph package for python 2.5, which does not support the 'with' statement natively. Signed-off-by: Filippos Gian

Re: [ceph-users] snapshot, clone and mount a VM-Image

2013-02-28 Thread Josh Durgin
On 02/16/2013 03:51 AM, Jens Kristian Søgaard wrote: Hi Sage, 1) Decide what output format to use. We want to use something that is I have given it some thought, and my initial suggestion to keep things simple is to use the QCOW2 image format. The birds eye view of the process would be as f

Re: rename whilst in use

2013-02-28 Thread Josh Durgin
On 02/27/2013 10:01 PM, Wolfgang Hennerbichler wrote: On 02/27/2013 11:01 PM, Josh Durgin wrote: Since it doesn't appear in rbd ls, this suggests that the old rbd_id.mysql3 object still exists. Yes. Is there a way I can safely delete it? rados ls -p rd | grep mysql | less mysql

Re: rename whilst in use

2013-02-27 Thread Josh Durgin
On 02/27/2013 04:59 AM, Wolfgang Hennerbichler wrote: hi, I've accidently renamed a rbd object that has been in use within a kvm-domain. After detaching the rbd object I could rename it, but the source seems still to be around in space: # rbd ls -l rd | grep mysql3 mysql3.new 12000M

Re: [PATCH 0/4] libceph: abstract setting message data info

2013-02-26 Thread Josh Durgin
field manipulation [PATCH 4/4] libceph: isolate other message data fields These all look good. Reviewed-by: Josh Durgin -- 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.

Re: [PATCH 0/3] libceph: focus calc_layout() on filling in the osd op

2013-02-26 Thread Josh Durgin
] libceph: format target object name in caller [PATCH 3/3] libceph: don't pass request to calc_layout() These all look good. Reviewed-by: Josh Durgin -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majord...@vger.kernel.org More ma

Re: [PATCH] libceph: make ceph_msg->bio_seg be unsigned

2013-02-26 Thread Josh Durgin
Reviewed-by: Josh Durgin On 02/25/2013 02:40 PM, Alex Elder wrote: The bio_seg field is used by the ceph messenger in iterating through a bio. It should never have a negative value, so make it an unsigned. Change variables used to hold bio_seg values to all be unsigned as well. Change two

Re: [PATCH] libceph: fix a osd request memory leak

2013-02-26 Thread Josh Durgin
Reviewed-by: Josh Durgin On 02/25/2013 02:36 PM, Alex Elder wrote: If an invalid layout is provided to ceph_osdc_new_request(), its call to calc_layout() might return an error. At that point in the function we've already allocated an osd request structure, so we need to free it (d

Re: Updated sparse warning message patches

2013-02-25 Thread Josh Durgin
ckoff [PATCH 2/5, v2] libceph: separate non-locked fault handling [PATCH 3/5, v2] libceph: use a flag to indicate a fault has occurred [PATCH 4/5, v2] libceph: use a do..while loop in con_work() [PATCH 5/5, v2] libceph: indent properly These all look good too. Reviewed-by: Josh Durgin -- To unsu

Re: Four miscellaneous patches

2013-02-25 Thread Josh Durgin
repository. -Alex [PATCH] rbd: ignore zero-length requests [PATCH] rbd: barriers are hard [PATCH] rbd: normalize dout() calls [PATCH] libceph: define connection flag helpers These all look good to me. The dout calls should help debugging a lot. Reviewed-by: Josh Durgin -- To unsubs

Re: OpenStack summit : Ceph design session

2013-02-24 Thread Josh Durgin
Josh Durgin and other Ceph / OpenStack developers who are passionately invested in both projects for a long time. However I am new to both projects and such a session would be a precious guide and highly motivating. http://summit.openstack.org/cfp/details/38 What do you think ? Sounds like a

Re: [PATCH] libceph: allow STAT osd operations

2013-02-19 Thread Josh Durgin
Reviewed-by: Josh Durgin On 02/08/2013 08:20 AM, Alex Elder wrote: Add support for CEPH_OSD_OP_STAT operations in the osd client and in rbd. This operation sends no data to the osd; everything required is encoded in identity of the target object. The result will be ENOENT if the object

Re: [PATCH 0/5] ceph: cleanup ceph page vector functions

2013-02-19 Thread Josh Durgin
[PATCH 2/5] libceph: use void pointers in page vector functions [PATCH 3/5] rbd: prevent bytes transferred overflow [PATCH 4/5] rbd: ignore result of ceph_copy_from_page_vector() [PATCH 5/5] libceph: drop return value from page vector copy These all seem fine to me. Reviewed-by: Josh Durgin

Re: [PATCH] rbd: add parentheses to object request iterator macros

2013-02-19 Thread Josh Durgin
Reviewed-by: Josh Durgin On 02/08/2013 08:18 AM, Alex Elder wrote: The for_each_obj_request*() macros should parenthesize their uses of the ireq parameter. Signed-off-by: Alex Elder --- drivers/block/rbd.c |6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a

Re: [PATCH] libceph: simplify data length calculation

2013-02-16 Thread Josh Durgin
Reviewed-by: Josh Durgin On 02/16/2013 09:08 AM, Alex Elder wrote: Simplify the way the data length recorded in a message header is calculated in ceph_osdc_build_request(). Signed-off-by: Alex Elder --- net/ceph/osd_client.c | 12 1 file changed, 4 insertions(+), 8

Re: [PATCH] ceph: simplify ceph_sync_write() page_align, calculation

2013-02-16 Thread Josh Durgin
Reviewed-by: Josh Durgin On 02/16/2013 09:07 AM, Alex Elder wrote: In ceph_sync_write() there is some magic that computes page_align for an osd request. But a little analysis shows it can be simplified. First, we have: io_align = pos & ~PAGE_MASK; which is used

Re: [PATCH 0/3] libceph: update ceph_fs.h and related code

2013-02-16 Thread Josh Durgin
overed by: http://tracker.ceph.com/issues/4168 -Alex [PATCH 1/2] libceph: update ceph_fs.h [PATCH 2/2] libceph: update ceph_mds_state_name() and ceph_mds_op_name() These look good. Reviewed-by: Josh Durgin -- To unsubscribe from this list: send the line &qu

Re: [PATCH 0/2] libceph: update osd_req_encode_op()

2013-02-16 Thread Josh Durgin
ops [PATCH 2/2] libceph: remove dead code in osd_req_encode_op() These look good. Reviewed-by: Josh Durgin -- 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

Re: [PATCH 0/3] libceph: update rados.h and related code

2013-02-16 Thread Josh Durgin
: add ceph_osd_state_name() [PATCH 3/3] libceph: update ceph_osd_op_name() These look good. Reviewed-by: Josh Durgin -- 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

Re: [PATCH 0/2] libceph: get rid of unused "one shot" event support

2013-02-16 Thread Josh Durgin
ably related to using a one shot event. -Alex [PATCH 1/2] libceph: kill ceph_osdc_create_event() "one_shot" [PATCH 2/2] libceph: kill ceph_osdc_wait_event() These look good. Reviewed-by: Josh Durgin -- To unsubscribe from this list: send the lin

Re: [PATCH 0/3] libceph: a few miscellaneous cleanups

2013-02-16 Thread Josh Durgin
_init() or ceph_osdc_stop() [PATCH 3/3] libceph: kill ceph_calc_raw_layout() These look good. Reviewed-by: Josh Durgin -- 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

Re: [PATCH 0/4] libceph: get rid of some unneeded function parameters

2013-02-16 Thread Josh Durgin
() "dosync" parameter [PATCH 3/4] ceph: kill ceph_osdc_writepages() "flags" parameter [PATCH 4/4] ceph: kill ceph_osdc_new_request() "num_reply" These all look good. Reviewed-by: Josh Durgin -- To unsubscribe from this list: send the line "unsubscribe c

Re: [PATCH] libceph: improve packing in struct ceph_osd_req_op

2013-02-16 Thread Josh Durgin
Reviewed-by: Josh Durgin On 02/16/2013 08:24 AM, Alex Elder wrote: The layout of struct ceph_osd_req_op leaves lots of holes. Rearranging things a little for better field alignment reduces the size by a third. Signed-off-by: Alex Elder --- include/linux/ceph/osd_client.h | 15

Re: [ceph-users] snapshot, clone and mount a VM-Image

2013-02-14 Thread Josh Durgin
On 02/14/2013 12:53 PM, Sage Weil wrote: Hi Jens- On Thu, 14 Feb 2013, Jens Kristian S?gaard wrote: Hi Sage, block device level. We plan to implement an incremental backup function for the relative change between two snapshots (or a snapshot and the head). It's O(n) the size of the device vs

Re: Links to various language bindings

2013-02-12 Thread Josh Durgin
On 02/08/2013 01:06 AM, Wido den Hollander wrote: Hi, I knew that there were Java bindings for RADOS, but they weren't linked. Well, some searching on Github lead me to Noah's bindings [0], but it was a bit of searching. I expect new users to be less fortunate and end up searching endlessly fo

Re: .gitignore issues

2013-02-11 Thread Josh Durgin
On 02/11/2013 06:28 PM, David Zafman wrote: After updating to latest master I have the following files listed by git status: These are mostly renamed binaries. If you run 'make clean' on the version before the name changes (133295ed001a950e3296f4e88a916ab2405be0cc) they'll be removed. If yo

Re: [PATCH] rbd: add barriers near done flag operations

2013-02-08 Thread Josh Durgin
Reviewed-by: Josh Durgin On 02/06/2013 07:19 AM, Alex Elder wrote: Somehow, I missed this little item in Documentation/atomic_ops.txt: *** WARNING: atomic_read() and atomic_set() DO NOT IMPLY BARRIERS! *** Create and use some helper functions that include the proper memory barriers for

Re: [PATCH] rbd: turn off interrupts for open/remove locking

2013-02-08 Thread Josh Durgin
Reviewed-by: Josh Durgin On 02/05/2013 12:52 PM, Alex Elder wrote: This commit: bc7a62ee5 rbd: prevent open for image being removed added checking for removing rbd before allowing an open, and used the same request spinlock for protecting that and updating the open count as is used for

Re: [PATCH 3/3] ceph-test.install: updated filelist

2013-02-06 Thread Josh Durgin
This one looks good independent of the renaming. Reviewed-by: Josh Durgin On 02/04/2013 09:22 AM, Danny Al-Gaaf wrote: Don't install rest-bench twice, it's already part of the rest-bench package. Add some files which are part of the ceph-test package on RPM based distributio

Re: [PATCH 2/3] .gitignore: cleanup and sort entries

2013-02-06 Thread Josh Durgin
I like the cleanup in general, but non-generic entries should have a leading /, otherwise they match files with the same name in subdirectories as well. For example, putting Makefile in .gitignore will also ignore static makefiles in the qa subdirectories. Some of the existing entries are already

Re: [PATCH] libceph: don't require r_num_pages for bio requests

2013-02-01 Thread Josh Durgin
Reviewed-by: Josh Durgin On 01/31/2013 09:30 PM, Alex Elder wrote: There is a check in the completion path for osd requests that ensures the number of pages allocated is enough to hold the amount of incoming data expected. For bio requests coming from rbd the "number of pages" is

Re: [PATCH] libceph: fix messenger CONFIG_BLOCK dependencies

2013-02-01 Thread Josh Durgin
Reviewed-by: Josh Durgin On 01/31/2013 09:31 PM, Alex Elder wrote: The ceph messenger has a few spots that are only used when bio messages are supported, and that's only when CONFIG_BLOCK is defined. This surrounds a couple of spots with #ifdef's that would cause a problem if CO

Re: [PATCH 2/2] rbd: don't take extra bio reference for osd client

2013-01-30 Thread Josh Durgin
It'd be nice to have a log message when libceph_compatible fails. It could be a future patch though. Reviewed-by: Josh Durgin On 01/30/2013 12:49 PM, Alex Elder wrote: Currently, if the OSD client finds an osd request has had a bio list attached to it, it drops a reference to it (or r

Re: [PATCH 1/2] libceph: add a compatibility check interface

2013-01-30 Thread Josh Durgin
Reviewed-by: Josh Durgin On 01/30/2013 12:49 PM, Alex Elder wrote: An upcoming change implements semantic change that could lead to a crash if an old version of the libceph kernel module is used with a new version of the rbd kernel module. In order to preclude that possibility, this adds a

Re: cephx execute permissions for RBD operations

2013-01-30 Thread Josh Durgin
On 01/30/2013 08:21 AM, Wido den Hollander wrote: Hi, Yesterday I ran into a weird situation where my libvirt RBD pool just wouldn't work. Turned out the credentials I was using only had rw permissions for OSDs instead of rwx or *. This caused rbd_open to fail, looking at librbd itself I under

Re: [PATCH 4/4] rbd: don't drop watch requests on completion

2013-01-30 Thread Josh Durgin
On 01/30/2013 12:38 PM, Alex Elder wrote: On 01/30/2013 01:43 PM, Josh Durgin wrote: On 01/26/2013 12:41 PM, Alex Elder wrote: The new request code arranges to get a callback for every osd request we submit (this was not the case previously). We register a lingering object watch request for

Re: [PATCH 2/2] rbd: prevent open for image being removed

2013-01-30 Thread Josh Durgin
Enums should be capitalized according to Documentation/CodingStyle. Other than that, looks good. Reviewed-by: Josh Durgin On 01/28/2013 02:09 PM, Alex Elder wrote: An open request for a mapped rbd image can arrive while removal of that mapping is underway. We need to prevent such an open

Re: [PATCH 1/2] rbd: define flags field, use it for exists flag

2013-01-30 Thread Josh Durgin
Reviewed-by: Josh Durgin On 01/28/2013 02:09 PM, Alex Elder wrote: Define a new rbd device flags field, manipulated using bit operations. Replace the use of the current "exists" flag with a bit in this new "flags" field. Add a little commentary about the "exists"

Re: [PATCH 4/4] rbd: don't drop watch requests on completion

2013-01-30 Thread Josh Durgin
On 01/26/2013 12:41 PM, Alex Elder wrote: The new request code arranges to get a callback for every osd request we submit (this was not the case previously). We register a lingering object watch request for the header object for each mapped rbd image. If a connection problem occurs, the osd cli

Re: [PATCH 2/4] rbd: track object rather than osd request for watch

2013-01-30 Thread Josh Durgin
Reviewed-by: Josh Durgin On 01/26/2013 12:40 PM, Alex Elder wrote: Switch to keeping track of the object request pointer rather than the osd request used to watch the rbd image header object. Signed-off-by: Alex Elder --- drivers/block/rbd.c |8 1 file changed, 4 insertions

Re: [PATCH 3/4] rbd: decrement obj request count when deleting

2013-01-30 Thread Josh Durgin
Reviewed-by: Josh Durgin On 01/26/2013 12:41 PM, Alex Elder wrote: Decrement the obj_request_count value when deleting an object request from its image request's list. Rearrange a few lines in the surrounding code. Signed-off-by: Alex Elder --- drivers/block/rbd.c |

Re: [PATCH 1/4] rbd: unregister linger in watch sync routine

2013-01-30 Thread Josh Durgin
Reviewed-by: Josh Durgin On 01/26/2013 12:40 PM, Alex Elder wrote: Move the code that unregisters an rbd device's lingering header object watch request into rbd_dev_header_watch_sync(), so it occurs in the same function that originally sets up that request. Signed-off-by: Alex

Re: [PATCH 12/12, v2] rbd: get rid of rbd_req_sync_exec()

2013-01-29 Thread Josh Durgin
Reviewed-by: Josh Durgin On 01/24/2013 08:36 AM, Alex Elder wrote: Get rid rbd_req_sync_exec() because it is no longer used. That eliminates the last use of rbd_req_sync_op(), so get rid of that too. And finally, that leaves rbd_do_request() unreferenced, so get rid of that. Signed-off-by

Re: [PATCH 11/12, v2] rbd: implement sync method with new code

2013-01-29 Thread Josh Durgin
With the version parameter removed now or in a later patch: Reviewed-by: Josh Durgin On 01/24/2013 08:36 AM, Alex Elder wrote: Reimplement synchronous object method calls using the new request tracking code. Use the name rbd_obj_method_sync() Signed-off-by: Alex Elder --- drivers/block

Re: [PATCH 10/12, v2] rbd: send notify ack asynchronously

2013-01-29 Thread Josh Durgin
Reviewed-by: Josh Durgin On 01/24/2013 08:35 AM, Alex Elder wrote: When we receive notification of a change to an rbd image's header object we need to refresh our information about the image (its size and snapshot context). Once we have refreshed our rbd image we need to acknowledg

Re: [PATCH 09/12, v2] rbd: get rid of rbd_req_sync_notify_ack()

2013-01-29 Thread Josh Durgin
Reviewed-by: Josh Durgin On 01/24/2013 08:35 AM, Alex Elder wrote: Get rid rbd_req_sync_notify_ack() because it is no longer used. As a result rbd_simple_req_cb() becomes unreferenced, so get rid of that too. Signed-off-by: Alex Elder --- drivers/block/rbd.c | 33

Re: [PATCH 08/12, v2] rbd: use new code for notify ack

2013-01-29 Thread Josh Durgin
Reviewed-by: Josh Durgin On 01/24/2013 08:34 AM, Alex Elder wrote: Use the new object request tracking mechanism for handling a notify_ack request. Move the callback function below the definition of this so we don't have to do a pre-declaration. This resolves:

Re: [PATCH 07/12, v2] rbd: get rid of rbd_req_sync_watch()

2013-01-29 Thread Josh Durgin
Reviewed-by: Josh Durgin On 01/24/2013 08:34 AM, Alex Elder wrote: Get rid of rbd_req_sync_watch(), because it is no longer used. Signed-off-by: Alex Elder --- drivers/block/rbd.c | 42 -- 1 file changed, 42 deletions(-) diff --git a/drivers

Re: [PATCH 06/12, v2] rbd: implement watch/unwatch with new code

2013-01-29 Thread Josh Durgin
Reviewed-by: Josh Durgin On 01/24/2013 08:33 AM, Alex Elder wrote: Implement a new function to set up or tear down a watch event for an mapped rbd image header using the new request code. Create a new object request type "nodata" to handle this. And define rbd_osd_trivial_callba

<    1   2   3   4   5   6   7   8   9   10   >