13 Jan, 2012
1 commit
-
New rbd device structures get initialized in rbd_add(). Many of
the fields rely on being initially zero-filled. However we lockdep
was noticing that the rw_semaphore embedded in the header field
was not getting properly initialized. Fix that.Signed-off-by: Alex Elder
Signed-off-by: Sage Weil
08 Dec, 2011
2 commits
-
This doesn't interact with resizing well, since it doesn't set the
size of the device to the size at the snapshot. It's also an expensive
operation to be synchronous. Rollback can still be done with the
userspace rbd tool.Signed-off-by: Josh Durgin
-
This protects against opening future rbd images that have incompatible format changes.
Signed-off-by: Josh Durgin
29 Oct, 2011
1 commit
-
* 'for-linus' of git://ceph.newdream.net/git/ceph-client:
libceph: fix double-free of page vector
ceph: fix 32-bit ino numbers
libceph: force resend of osd requests if we skip an osdmap
ceph: use kernel DNS resolver
ceph: fix ceph_monc_init memory leak
ceph: let the set_layout ioctl set single traits
Revert "ceph: don't truncate dirty pages in invalidate work thread"
ceph: replace leading spaces with tabs
libceph: warn on msg allocation failures
libceph: don't complain on msgpool alloc failures
libceph: always preallocate mon connection
libceph: create messenger with client
ceph: document ioctls
ceph: implement (optional) max read size
ceph: rename rsize -> rasize
ceph: make readpages fully async
26 Oct, 2011
1 commit
-
This simplifies the init/shutdown paths, and makes client->msgr available
during the rest of the setup process.Signed-off-by: Sage Weil
15 Sep, 2011
2 commits
-
Fast-forward merge with Linus to be able to merge patches
based on more recent version of the tree. -
This is a resend from the original, changing the title from PATCH to
RFC(since this is a review for commit, and I should have put that the first go around).
and also removing some of the commit's with ia64 and bash since it is significant.
let me know if I might have missed anything etc..Signed-off-by: Justin P. Mattock
Signed-off-by: Jiri Kosina
27 Jul, 2011
2 commits
-
This improves performance since more requests can be merged.
Reviewed-by: Yehuda Sadeh
Signed-off-by: Josh Durgin -
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
25 May, 2011
3 commits
-
If we get a notification that the image header has changed, check for
a change in the image size.Signed-off-by: Sage Weil
-
Signed-off-by: Sage Weil
-
Signed-off-by: Sage Weil
20 May, 2011
1 commit
-
Signed-off-by: Sage Weil
14 May, 2011
1 commit
-
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
Signed-off-by: Yehuda Sadeh
Signed-off-by: Sage Weil
13 May, 2011
1 commit
-
The ops vector must be freed by the rbd_do_request caller.
Signed-off-by: Sage Weil
04 May, 2011
1 commit
-
ceph_osdc_alloc_request returns NULL on failure.
Signed-off-by: Sage Weil
23 Mar, 2011
1 commit
-
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
Signed-off-by: Sage Weil
13 Jan, 2011
1 commit
-
Previously we didn't clean up the sysfs entry that was just
created.Signed-off-by: Yehuda Sadeh
Signed-off-by: Sage Weil
02 Dec, 2010
1 commit
-
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
Signed-off-by: Yehuda Sadeh
Signed-off-by: Sage Weil
21 Oct, 2010
5 commits
-
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
Signed-off-by: Sage Weil -
ceph_alloc_page_vector() returns ERR_PTR(-ENOMEM) on errors.
Signed-off-by: Dan Carpenter
Signed-off-by: Sage Weil -
rbd_get_segment() can't return a negative value, we don't need to check
the return output.Signed-off-by: Yehuda Sadeh
-
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
Signed-off-by: Yehuda Sadeh -
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
Signed-off-by: Sage Weil