#
029bcbd8 |
| 22-Jul-2011 |
Josh Durgin <josh.durgin@dreamhost.com> |
rbd: set blk_queue request sizes to object size
This improves performance since more requests can be merged.
Reviewed-by: Yehuda Sadeh <yehuda@hq.newdream.net> Signed-off-by: Josh Durgin <josh.durg
rbd: set blk_queue request sizes to object size
This improves performance since more requests can be merged.
Reviewed-by: Yehuda Sadeh <yehuda@hq.newdream.net> Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
show more ...
|
#
79e3057c |
| 12-Jul-2011 |
Yehuda Sadeh <yehuda@hq.newdream.net> |
rbd: cancel watch request when releasing the device
We were missing this cleanup, so when a device was released the osd didn't clean up its watchers list, so following notifications could be slow as
rbd: cancel watch request when releasing the device
We were missing this cleanup, so when a device was released the osd didn't clean up its watchers list, so following notifications could be slow as osd needed to timeout on the client.
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
show more ...
|
#
9db4b3e3 |
| 20-Apr-2011 |
Sage Weil <sage@newdream.net> |
rbd: handle online resize of underlying rbd image
If we get a notification that the image header has changed, check for a change in the image size.
Signed-off-by: Sage Weil <sage@newdream.net>
|
#
aedfec59 |
| 13-May-2011 |
Sage Weil <sage@newdream.net> |
rbd: use snprintf for disk->disk_name
Signed-off-by: Sage Weil <sage@newdream.net>
|
#
916d4d67 |
| 12-May-2011 |
Sage Weil <sage@newdream.net> |
rbd: cleanup: make kfree match kmalloc
Signed-off-by: Sage Weil <sage@newdream.net>
|
#
13143d2d |
| 12-May-2011 |
Sage Weil <sage@newdream.net> |
rbd: warn on update_snaps failure on notify
Signed-off-by: Sage Weil <sage@newdream.net>
|
#
1fec7093 |
| 13-May-2011 |
Yehuda Sadeh <yehuda@hq.newdream.net> |
rbd: fix split bio handling
The rbd driver currently splits bios when they span an object boundary. However, the blk_end_request expects the completions to roll up the results in block device order,
rbd: fix split bio handling
The rbd driver currently splits bios when they span an object boundary. However, the blk_end_request expects the completions to roll up the results in block device order, and the split rbd/ceph ops can complete in any order. This patch adds a struct rbd_req_coll to track completion of split requests and ensures that the results are passed back up to the block layer in order.
This fixes errors where the file system gets completion of a read operation that spans an object boundary before the data has actually arrived. The bug is easily reproduced with iozone with a working set larger than available RAM.
Reported-by: Fyodor Ustinov <ufm@ufm.su> Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net> Signed-off-by: Sage Weil <sage@newdream.net>
show more ...
|
#
11f77002 |
| 12-May-2011 |
Sage Weil <sage@newdream.net> |
rbd: fix leak of ops struct
The ops vector must be freed by the rbd_do_request caller.
Signed-off-by: Sage Weil <sage@newdream.net>
|
#
4ad12621 |
| 03-May-2011 |
Sage Weil <sage@newdream.net> |
libceph: fix ceph_osdc_alloc_request error checks
ceph_osdc_alloc_request returns NULL on failure.
Signed-off-by: Sage Weil <sage@newdream.net>
|
#
59c2be1e |
| 21-Mar-2011 |
Yehuda Sadeh <yehuda@hq.newdream.net> |
rbd: use watch/notify for changes in rbd header
Send notifications when we change the rbd header (e.g. create a snapshot) and wait for such notifications. This allows synchronizing the snapshot cre
rbd: use watch/notify for changes in rbd header
Send notifications when we change the rbd header (e.g. create a snapshot) and wait for such notifications. This allows synchronizing the snapshot creation between different rbd clients/rools.
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net> Signed-off-by: Sage Weil <sage@newdream.net>
show more ...
|
#
766fc439 |
| 07-Jan-2011 |
Yehuda Sadeh <yehuda@hq.newdream.net> |
rbd: fix cleanup when trying to mount inexistent image
Previously we didn't clean up the sysfs entry that was just created.
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net> Signed-off-by: Sage
rbd: fix cleanup when trying to mount inexistent image
Previously we didn't clean up the sysfs entry that was just created.
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net> Signed-off-by: Sage Weil <sage@newdream.net>
show more ...
|
#
dfc5606d |
| 19-Nov-2010 |
Yehuda Sadeh <yehuda@hq.newdream.net> |
rbd: replace the rbd sysfs interface
The new interface creates directories per mapped image and under each it creates a subdir per available snapshot. This allows keeping a cleaner interface within
rbd: replace the rbd sysfs interface
The new interface creates directories per mapped image and under each it creates a subdir per available snapshot. This allows keeping a cleaner interface within the sysfs guidelines. The ABI documentation was updated too.
Acked-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net> Signed-off-by: Sage Weil <sage@newdream.net>
show more ...
|
#
85b5aaa6 |
| 11-Oct-2010 |
Dan Carpenter <error27@gmail.com> |
rbd: passing wrong variable to bvec_kunmap_irq()
We should be passing "buf" here insead of "bv". This is tricky because it's not the same as kmap() and kunmap(). GCC does warn about it if you comp
rbd: passing wrong variable to bvec_kunmap_irq()
We should be passing "buf" here insead of "bv". This is tricky because it's not the same as kmap() and kunmap(). GCC does warn about it if you compile on i386 with CONFIG_HIGHMEM.
Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Sage Weil <sage@newdream.net>
show more ...
|
#
b8d0638a |
| 11-Oct-2010 |
Dan Carpenter <error27@gmail.com> |
rbd: null vs ERR_PTR
ceph_alloc_page_vector() returns ERR_PTR(-ENOMEM) on errors.
Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Sage Weil <sage@newdream.net>
|
#
f4cf3dee |
| 27-Sep-2010 |
Yehuda Sadeh <yehuda@hq.newdream.net> |
block: rbd: removing unnecessary test
rbd_get_segment() can't return a negative value, we don't need to check the return output.
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
|
#
28f259b7 |
| 26-Sep-2010 |
Vasiliy Kulikov <segooon@gmail.com> |
block: rbd: fixed may leaks
rbd_client_create() doesn't free rbdc, this leads to many leaks.
seg_len in rbd_do_op() is unsigned, so (seg_len < 0) makes no sense. Also if fixed check fails then seg_
block: rbd: fixed may leaks
rbd_client_create() doesn't free rbdc, this leads to many leaks.
seg_len in rbd_do_op() is unsigned, so (seg_len < 0) makes no sense. Also if fixed check fails then seg_name is leaked.
Signed-off-by: Vasiliy Kulikov <segooon@gmail.com> Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
show more ...
|
#
602adf40 |
| 12-Aug-2010 |
Yehuda Sadeh <yehuda@hq.newdream.net> |
rbd: introduce rados block device (rbd), based on libceph
The rados block device (rbd), based on osdblk, creates a block device that is backed by objects stored in the Ceph distributed object storag
rbd: introduce rados block device (rbd), based on libceph
The rados block device (rbd), based on osdblk, creates a block device that is backed by objects stored in the Ceph distributed object storage cluster. Each device consists of a single metadata object and data striped over many data objects.
The rbd driver supports read-only snapshots.
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net> Signed-off-by: Sage Weil <sage@newdream.net>
show more ...
|