John Wilkins
256c665eab
doc: Did a little clean-up work in the cephx guide.
...
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-10-16 15:23:34 -07:00
John Wilkins
0818e1e95a
doc: Added a new intro for cephx authentication.
...
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-10-16 15:22:25 -07:00
Yehuda Sadeh
d2afddd457
rgw: multiple coverity fixes
...
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-10-16 14:13:38 -07:00
Sam Lang
58020d44c7
test: Add a workunit for chmod
...
Signed-off-by: Sam Lang <sam.lang@inktank.com>
2012-10-16 15:17:38 -05:00
Sage Weil
db976663a5
mds: explicitly queue messages for unconnected clients
...
Previously, the messenger would queue messages for a destination that
didn't exist when you were a server; that changed a while back with the
wip-msgr merge (circa v0.52). The result is that when we force open
client sessions and queue messages, they are dropped on the floor and the
client--when it does connect--gets confusing stuff from the MDS.
Instead, explicitly queue and send these messages. Also, *always* send
via the Connection* instead of the inst.
Fixes : #2681
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-16 13:04:43 -07:00
Sage Weil
2542dd5364
client: fix implemented caps update on release/flush
...
When we release caps, clear them out of implemented as well, unless we
still hold references. Otherwise implemented ends up holding all sorts of
extra caps (e.g., when nothing is getting revoked), leading to confusion
later down the line.
This now mirrors the kernel code.
Fixes : #3301
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-16 11:47:29 -07:00
Sage Weil
b290dc3a30
MClientRequest: fix mode formatting
...
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-16 11:11:16 -07:00
Gary Lowell
2528b5ee10
v0.43
2012-10-16 17:42:36 +00:00
Sage Weil
318bd19275
Merge remote-tracking branch 'gh/wip-fedora18' into next
2012-10-16 09:05:55 -07:00
Dan Mick
96e365be85
radosgw-admin manpage: Fix broken quotes
...
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2012-10-15 18:18:49 -07:00
Sage Weil
412efc1681
admin_socket: fix '0' protocol version
...
Broken by 895e24d198
.
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 16:37:24 -07:00
Sage Weil
a43ba9ae24
rbd: fix striping feature bit addition
...
Add the STRIPINGV2 feature bit when striping is non-default.
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:07 -07:00
Sage Weil
7957500566
librbd: log why create failed when striping features missing
...
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:07 -07:00
Sage Weil
b7682c5d90
librbd: use map-based stripe method to avoid fragmenting io
...
If we have multiple extents to read from the parent, accumulate the
resulting IO requests on a single map of ObjectExtents so that we can
merge adjacent IOs. This helps with the copy-up when the parent and child
striping match, for example.
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:07 -07:00
Sage Weil
d68a80622c
striper: expose method that works directrly from a map<>
...
Some callers will want to call the stripe method multiple times and
accumulate IO on a single result set. Expose access to the map<> that was
previously internally used for this and do the map -> vector conversion
in a wrapper.
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:07 -07:00
Sage Weil
5599eb7c82
Striper: move from Filer
...
Move all the static striping code from Filer to Striper.
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:06 -07:00
Sage Weil
ff304c8010
librbd: implement user-facing image to image copy
...
copy2, copy_with_progress2
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:06 -07:00
Sage Weil
6242059900
librbd: factor out copy from image create/open/close
...
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:06 -07:00
Sage Weil
5d5863c6df
librbd: rename get_size() -> get_current_size()
...
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:06 -07:00
Sage Weil
c7b5cdf8e0
filer: trivial unit test
...
Perhaps the presence of this file will inspire me and others to write
proper unit tests.
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:06 -07:00
Sage Weil
17bb2c500f
osd: include buffer_extents in ObjectExtent operator<<
...
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:06 -07:00
Sage Weil
e6c98e94dc
filer: more debug output
...
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:06 -07:00
Sage Weil
b4f28292c2
filer: fix add_partial_sparse_result
...
Fix advancement of bl_off, and handling of case where bl has no more bytes
to consume.
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:06 -07:00
Sage Weil
059ebac68f
test_librbd_fsx: randomly vary striping on clone
...
This exercises the io paths that read from the parent for client reads and
for cloning.
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:06 -07:00
Sage Weil
a736cb028e
librbd: allow striping to be specified for clones
...
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:06 -07:00
Sage Weil
819f93916a
filer: add debug printability for striped read result stuff
...
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:06 -07:00
Sage Weil
80ebceea58
filer: uninline StripedReadResult
...
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:06 -07:00
Sage Weil
fd8013a97b
librbd: avoid read copy for c++ api read
...
Read directly into the user's bufferlist instead of copying the buffer
contents.
NOTE: this potentially exposes cached buffers to C++ API users. Document
this!
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:05 -07:00
Sage Weil
ecb040c926
librbd: read_from_parent into a bufferlist
...
This avoids a copy.
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:05 -07:00
Sage Weil
b1b332486f
librbd: use bufferlist target for read_iterate()
...
Save ourselves a copy for read_iterate.
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:05 -07:00
Sage Weil
a8042c704e
librbd: make read methods target buffers or bufferlists
...
This will let us transition much of the read code to move bufferlists
around instead of copying data between buffers.
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:05 -07:00
Sage Weil
94de63a9ef
librbd: kill unused get_block_osd()
...
Replaced by ImageCtx::get_object_name().
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:05 -07:00
Sage Weil
e9e197bca1
librbd: kill legacy striping helpers
...
These are replaced by ImageCtx accessors or the use of the Filer striping
helper.
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:05 -07:00
Sage Weil
d556eda485
librbd: reimplement flatten in terms of child objects
...
Iterate over child *objects*, and map each one to the parent extents it
represents.
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:05 -07:00
Sage Weil
cdb165e90f
librbd: write sync read over an extent list
...
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:05 -07:00
Sage Weil
2660129593
librbd: make rollback use new striping accessors
...
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:05 -07:00
Sage Weil
113f698a34
librbd: make trim_image() behave with new world striping order
...
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:05 -07:00
Sage Weil
0aeedf657c
librbd: generate format_string in ImageCtx
...
Prebuild the format string on image load so that it is handy at all times.
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:04 -07:00
Sage Weil
3ae9f5723c
librbd: make read_iterate iterate over periods
...
Object sizes no longer make sense since we are iterating over the logical
device image space, and the striping may make that unrelated to the size
of the individual objects.
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:04 -07:00
Sage Weil
e114cbffcc
librbd/ImageCtx: accessors
...
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:04 -07:00
Sage Weil
6151899664
librbd: reimplement striping
...
This replaces most of the existing striping code with use of the Filer
striping helper methods and a more general ceph_file_layout that can
handle more sophisticated striping patterns that the previous uniform
object approach.
This patch is not fully complete; there are a few additional patches that
follow that clean up some of the support functions. However, most of the
IO path is covered here.
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:04 -07:00
Sage Weil
9e109e187c
filer: add sparse result into a striped read result
...
Add a helper to assimilate a sparse read result into the destriper
helper class.
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:04 -07:00
Sage Weil
08d1eb5b0b
filer: make tail zeroing in stripe result assembly optional
...
Objecter doesn't want it, librbd will.
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:04 -07:00
Sage Weil
6cd51feced
librbd: remove callback from handle_sparse_read
...
We always used simple_read_cb, so put it inline.
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:04 -07:00
Sage Weil
3d010fc4c8
objecter: use StripedReadResult for scatter/gather read
...
This vastly simplifies the code, and uses the more generic helper class.
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:04 -07:00
Sage Weil
3c2024de44
filer: helper to assemble striped read results into a single result
...
This is intended to replace the Objecter::_sg_read_finish() monstrosity,
and be reused by the librbd striping code.
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:04 -07:00
Sage Weil
36a2245d50
buffer: add claim_prepend()
...
Steal another bufferlist's content and prepend it to our own.
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:04 -07:00
Sage Weil
827ad53aba
filer: add optional buffer offset
...
It may be that some range is being mapped that is intended for some offset
within the result buffer.
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:04 -07:00
Sage Weil
c85b9016ea
filer: add helper to map from object extent to file extents
...
Given an extent in an object and a layout, map it back to extent(s) in the
original file.
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:03 -07:00
Sage Weil
c3f186e678
filer: use vector<pair<>> instead of map<> for buffer extent map
...
This is less inefficient. :)
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 15:34:03 -07:00