summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* client, libcephfs: make readlink sanewip-libcephfsAndrey Kuznetsov2013-09-045-23/+24
| | | | | | | Supply a buffer and copy the data into it. Do not ever expose internal pointers from libcephfs's own cache. Signed-off-by: Sage Weil <sage@inktank.com>
* mds: include requested caps (namely, xattrs) on getattr replySage Weil2013-09-044-5/+16
| | | | | | | | | | | For xattrs, we only include them in the reply if we are issuing caps on them. However, in the getattr case, we need to include the snapshot of the current state. The original problem is reproduced by LibCephFS.Xattrs_ll (a simple set then get). Signed-off-by: Sage Weil <sage@inktank.com>
* libcephfs: add an xattr ll testAndrey Kuznetsov2013-09-041-0/+39
| | | | Signed-off-by: Andrey Kuznetsov <Andrey_Kuznetsov@epam.com>
* libcephfs: add ceph_ll_listxattrAndrey Kuznetsov2013-09-042-0/+25
| | | | Signed-off-by: Andrey Kuznetsov <Andrey_Kuznetsov@epam.com>
* libcephfs: add ceph_ll_lookup_root()Andrey Kuznetsov2013-09-044-0/+25
| | | | Signed-off-by: Andrey Kuznetsov <Andrey_Kuznetsov@epam.com>
* libcephfs: expose new client ll_ interfaceMatt Benjamin2013-09-042-5/+458
| | | | | | | | | This patch exposes all changes made for interfacing with Ganesha and layout support and David Zafman's proposed modifications to the low-level API. Signed-off-by: Adam Emerson <aemerson@linuxbox.com> Signed-off-by: Matt Benjamin <matt@linuxbox.com>
* client/fuse_ll: adapt to new ll_ interfaceMatt Benjamin2013-09-041-36/+153
| | | | | | | | | | | | | | This adapts the FUSE client to David Zafman's proposed interface changes. (Includes pieces of NFS interface widening by Adam.) Signed-off-by: Matt Benjamin <matt@linuxbox.com> Conflicts: src/client/fuse_ll.cc Signed-off-by: Matt Benjamin <matt@linuxbox.com>
* client/SyntheticClient: adapt to new ll_* interfaceMatt Benjamin2013-09-041-46/+95
| | | | | | (Includes pieces of NFS interface widening by Adam.) Signed-off-by: Matt Benjamin <matt@linuxbox.com>
* client: direct read/write methods that bypass cache, cap checksAdam C. Emerson2013-09-041-0/+136
| | | | | | | | | | These methods were created to implement pNFS data server support, bypassing cap checks since the pNFS MDS holds a cap on behalf of the client, realized in the recallable layout. (Includes pieces of API v2 by Matt.) Signed-off-by: Matt Benjamin <matt@linuxbox.com>
* client: expose layout informationAdam C. Emerson2013-09-041-0/+84
| | | | | | | | | | | | | | This allows us to construct pNFS layouts and DS filehandles that match the Ceph clustering, placement, and striping structure. (Includes pieces of API v2 by Matt.) Signed-off-by: Matt Benjamin <matt@linuxbox.com> Conflicts: src/client/Client.cc Signed-off-by: Matt Benjamin <matt@linuxbox.com>
* client: switch ll_* methods to Inode* argumentsMatt Benjamin2013-09-042-188/+332
| | | | | | | | | | | | | | | | | This commit implements a set of API changes proposed by "David Zafman" <david.zafman@inktank.com>. The principle change is consistently use Ceph Inode pointers as context for inode operations, in place of materialized snapid, inode# (vinodeno_t) tuples. This provides a strictly handle-based interface to users. They can either do lookups themselves, or call a lookup method to get an Inode* from a vinodeno_t. (Build fixed in later commits, e.g., SyntheticClient.cc.) Signed-off-by: Matt Benjamin <matt@linuxbox.com>
* client/Client: make open fhp argument optionalMatt Benjamin2013-09-041-1/+2
| | | | | | This is more natural for both FUSE and Ganesha. Signed-off-by: Matt Benjamin <matt@linuxbox.com>
* client/Client: return 1 from readdir cb on fullAdam C. Emerson2013-09-041-1/+9
| | | | | | | This appears to save us a bit of extra work trying to fill up the buffer further than it can be filled. Signed-off-by: Matt Benjamin <matt@linuxbox.com>
* client: add barrier and typesMatt Benjamin2013-09-044-0/+326
| | | | | | | | | | | This gives us a framework to implement commit operations that are guaranteed to terminate even if unstable writes come in after commit is called. Adapted to use Boost interval classes by Adam Emerson <aemerson@linuxbox.com>. Signed-off-by: Matt Benjamin <matt@linuxbox.com>
* client: whitespaceAdam C. Emerson2013-09-047-93/+105
| | | | Signed-off-by: Matt Benjamin <matt@linuxbox.com>
* osdc/Objecter: whitespaceAdam C. Emerson2013-09-041-9/+10
| | | | Signed-off-by: Matt Benjamin <matt@linuxbox.com>
* mds/Server: whitespaceAdam C. Emerson2013-09-041-5/+5
| | | | | Signed-off-by: Sage Weil <sage@inktank.com> Signed-off-by: Matt Benjamin <matt@linuxbox.com>
* librados: make note of which calls steal the bufferlist contentsSage Weil2013-09-041-0/+25
| | | | | | | | This is an unfortunate feature of the API, but it can't be changed without potentially breaking users. Fixes: #5989 Signed-off-by: Sage Weil <sage@inktank.com>
* common: unit test for crc32cSage Weil2013-09-042-0/+80
| | | | | Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Dan Mick <dan.mick@inktank.com>
* common/crc32c_intel_fast: fix compile-time #ifdefSage Weil2013-09-041-1/+1
| | | | | | | This wasn't getting built in! Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Dan Mick <dan.mick@inktank.com>
* arch: add NEON cpu feature detectionSage Weil2013-09-046-0/+102
| | | | | Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Dan Mick <dan.mick@inktank.com>
* doc: Updated usage for --infile syntax. Added zone name for zone syntax.John Wilkins2013-09-041-4/+4
| | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* mon/OSDMonitor: fix POOL_OP_DELETE_SNAP early returnSage Weil2013-09-041-1/+1
| | | | | | Cut&paste goof in 0e85074402cd02b292daadcb5b8e73ac1207d571. Signed-off-by: Sage Weil <sage@inktank.com>
* doc: Organized into sections. Added zone/region and pool details.John Wilkins2013-09-041-254/+575
| | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* doc/release-notes: v0.68Sage Weil2013-09-042-27/+68
| | | | Signed-off-by: Sage Weil <sage@inktank.com>
* Merge remote-tracking branch 'gh/wip-6047'Sage Weil2013-09-043-61/+139
|\ | | | | | | Reviewed-by: Sage Weil <sage@inktank.com>
| * rbd.cc: propagate some errors to user-space when they're availableJoao Eduardo Luis2013-08-291-55/+55
| | | | | | | | | | | | | | There was a bunch of situations in which we would have a proper error to propagate to user-space but we would always return '1' (EXIT_FAILURE). Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
| * qa: workunits: mon: test snaps ops using rbd.Joao Eduardo Luis2013-08-291-0/+39
| | | | | | | | | | | | Regression test for #6047 Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
| * mon: OSDMonitor: return earlier on no-ops over currently committed stateJoao Eduardo Luis2013-08-291-2/+34
| | | | | | | | Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
| * mon: OSDMonitor: don't propose on prepare_pool_op()Joao Eduardo Luis2013-08-291-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | Except in very special cases, we should let PaxosService take its course and trigger the proposals itself. In this case, we were proposing right before returning to PaxosService, and we were returning false on top of it (most likely to guarantee that PaxosService wouldn't try to propose). This doesn't make much sense, so let's do it like all the other cool kids are doing and let PaxosService decide what's best for us. Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
| * mon: OSDMonitor: check if pool is on unmanaged snaps mode on mk/rmsnapJoao Eduardo Luis2013-08-291-2/+10
| | | | | | | | | | | | | | Backport: dumpling Fixes: #6047 Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
* | osd/ReplicatedPG: set reply versions for pg ops (PGLS)Sage Weil2013-09-041-0/+1
| | | | | | | | | | | | | | | | Returning the current version for the pgid and last_user_version makes some sense here. Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com>
* | osd/ReplicatedPG: set reply versions on dup op ACKSage Weil2013-09-041-0/+1
| | | | | | | | | | | | | | | | | | All other MOSDOpReply creators do this, with the exception of the pg op. Fixes: #6222 Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com>
* | doc: remove 'Unexpected indentation' from versions doc.Greg Farnum2013-09-041-3/+3
| | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com>
* | Merge pull request #564 from ljagiello/swift_doc_fixSage Weil2013-09-042-4/+4
|\ \ | | | | | | | | | | | | Correct syntax for generate swift key Signed-off-by: Lukasz Jagiello <jagiello.lukasz@gmail.com>
| * | Correct syntax for generate swift keyLukasz Jagiello2013-09-042-4/+4
|/ /
* | Merge branch 'next'Gary Lowell2013-09-044-9/+27
|\ \
| * | v0.68v0.68Gary Lowell2013-09-032-1/+7
| | |
| * | rgw: change watch init ordering, don't distribute if can'tYehuda Sadeh2013-09-032-8/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport: dumpling Moving back the watch initialization after the zone init, as the zone info holds the control pool name. Since zone init might need to create a new system object (that needs to distribute cache), don't try to distribute cache if watch is not yet initialized. Reviewed-by: Sage Weil <sage@inktank.com> Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* | | Merge branch 'wip-copyfrom'Sage Weil2013-09-0313-6/+460
|\ \ \ | | | | | | | | | | | | Reviewed-by: Samuel Just <sam.just@inktank.com>
| * | | ceph_test_rados: test COPY_FROMSage Weil2013-09-032-2/+102
| | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | | osd: initial COPY_FROM (not viable for large objects)Sage Weil2013-09-035-13/+305
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Initial pass at COPY_FROM implementation. This uses COPY_GET to read an object from another OSD and write it locally. It chunks the read but accumulates it all in-memory and commits it at once, so it is only suitable for smaller objects. Signed-off-by: Sage Weil <sage@inktank.com>
| * | | objecter, librados: add COPY_FROM operationSage Weil2013-09-037-0/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This operation will copy an entire object (data, attrs, omap) atomically. If the src_version does not match the source object, or the source object is updated while the copy is in progress, we will fail with a suitable error code. By atomic we mean that it will either successfully copy the entire object in its entirety or it will fail (and require no cleanup). Add to C++ librados API only for now. Signed-off-by: Sage Weil <sage@inktank.com> Conflicts: src/include/ceph_strings.cc src/include/rados.h src/osd/osd_types.cc
* | | | doc: Fix repo URL for Ceph cloning (dev/generatedocs)Dan Mick2013-09-031-1/+1
|/ / / | | | | | | | | | Signed-off-by: Dan Mick <dan.mick@inktank.com>
* | | doc: Updated manual install to include sync agent, ARM packages, and DNS ↵John Wilkins2013-09-031-9/+57
| | | | | | | | | | | | | | | | | | configuration. Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | | ceph_test_rados: add missing kick for rollbackSage Weil2013-09-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | This was broken by the refactor in 96aaa5e3a371ade8b91ad9ab991d996eaef2cea5 and can make us hang. Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com>
* | | osd: provide better version bounds for cls_current_version and ENOENT repliesGreg Farnum2013-09-033-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following the changes to when we set or increase the user_version, we want to continue to return the best lower bound we can on the version of any newly-created object. For ENOENT replies that means returning info.last_user_version instead of the (potentially-zero) ctx->user_at_version. Similarly, for cls_current_version we want to return the last version on the PG rather than the last update to the object in order to provide sensible version ordering across object deletes and creates. Update the versions doc so it continues to be precise. Signed-off-by: Greg Farnum <greg@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
* | | Merge remote-tracking branch 'gh/wip-6179'Sage Weil2013-09-033-25/+33
|\ \ \ | | | | | | | | | | | | Reviewed-by: Greg Farnum <greg@inktank.com>
| * | | osd/ReplicatedPG: set user_version in waiting_for_commit replieswip-6179Sage Weil2013-09-021-1/+2
| | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | | osd/ReplicatedPG: do not set ctx->user_at_version unless ctx->user_modifySage Weil2013-09-011-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Leave ctx->user_at_version set to the previous oi.user_version unless/until we find that ctx->user_modify is true. Signed-off-by: Sage Weil <sage@inktank.com>