summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Don't forget an inode not found in cache.wip-libcephfs-emp-rbMatt Benjamin2013-10-081-1/+4
| | | | | | | | This could be working around a prematurely released inode, but the result can stably save, expand, configure, and build linux-3.11.4 (stability). Signed-off-by: Matt Benjamin <matt@linuxbox.com>
* client: For rebase need to fix ll_readlink() call in Synthetic clientDavid Zafman2013-10-031-2/+2
| | | | Signed-off-by: David Zafman <david.zafman@inktank.com>
* client, libcephfs: make readlink saneAndrey Kuznetsov2013-10-035-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-10-034-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-10-031-0/+39
| | | | Signed-off-by: Andrey Kuznetsov <Andrey_Kuznetsov@epam.com>
* libcephfs: add ceph_ll_listxattrAndrey Kuznetsov2013-10-032-0/+25
| | | | Signed-off-by: Andrey Kuznetsov <Andrey_Kuznetsov@epam.com>
* libcephfs: add ceph_ll_lookup_root()Andrey Kuznetsov2013-10-034-0/+25
| | | | Signed-off-by: Andrey Kuznetsov <Andrey_Kuznetsov@epam.com>
* libcephfs: expose new client ll_ interfaceMatt Benjamin2013-10-032-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-10-031-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-10-031-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-10-031-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-10-031-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-10-032-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-10-031-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-10-031-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-10-034-0/+325
| | | | | | | | | | | 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-10-037-93/+105
| | | | Signed-off-by: Matt Benjamin <matt@linuxbox.com>
* osdc/Objecter: whitespaceAdam C. Emerson2013-10-031-9/+10
| | | | Signed-off-by: Matt Benjamin <matt@linuxbox.com>
* mds/Server: whitespaceAdam C. Emerson2013-10-031-5/+5
| | | | | Signed-off-by: Sage Weil <sage@inktank.com> Signed-off-by: Matt Benjamin <matt@linuxbox.com>
* doc: Fixed typo.John Wilkins2013-10-031-1/+1
| | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* Merge pull request #685 from ceph/wip-rados-intsDan Mick2013-10-033-11/+7
|\ | | | | | | | | librados: drop #include of int_types.h from installed headers Reviewed-by: Dan Mick <dan.mick@inktank.com>
| * librados: drop #include of int_types.h from installed headersSage Weil2013-10-033-11/+7
| | | | | | | | | | | | | | | | These are unnecessary, and breaks compilation for outside users. Prefer inttypes.h over stdint.h. Signed-off-by: Sage Weil <sage@inktank.com>
* | Merge pull request #638 from ceph/wip-bloomLoic Dachary2013-10-0311-547/+945
|\ \ | |/ |/| bloom filter cleanups, encodability, and unit tests
| * common/bloom_filter: note that uint32_t interface requires well-mixed valuesSage Weil2013-10-031-0/+19
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * common/bloom_filter: speed up unit tests a bitSage Weil2013-10-031-4/+4
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * common/bloom_filter: test binning fpp behaviorSage Weil2013-10-031-0/+36
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * common/bloom_filter: disable sequential testsSage Weil2013-10-031-0/+8
| | | | | | | | | | | | These are slow and are not useful. Signed-off-by: Sage Weil <sage@inktank.com>
| * common/bloom_filter: insert/contains methods for uint32_tSage Weil2013-10-032-0/+73
| | | | | | | | | | | | | | This will let us pass in an hobject_t::hash directly (for example) without rehashing a string. Signed-off-by: Sage Weil <sage@inktank.com>
| * COPYING: make note of common/bloom_filer.hpp (boost) licenseSage Weil2013-10-022-0/+8
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * common/bloom_filter: fix whitespaceSage Weil2013-10-021-476/+470
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * common/bloom_filter: test behavior of sequences of bloom filtersSage Weil2013-10-021-0/+78
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * common/bloom_filter: unit testsSage Weil2013-10-023-1/+69
| | | | | | | | | | | | | | | | | | | | | | | | Fun facts: - fpp = false positive probability - fpp is a function of insert count only - at .1% fpp, we pay about 2 bytes per insert - at 1-2% fpp, we pay about 1 byte per insert - at 15% fpp, we pay about .5 bytes per insert Signed-off-by: Sage Weil <sage@inktank.com>
| * common/bloom_filter: move header from include/Sage Weil2013-09-255-5/+5
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * common/bloom_filter: make bloom_filter encodableSage Weil2013-09-254-5/+104
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * common/bloom_filter: make optimal parameter calculation staticSage Weil2013-09-251-17/+29
| | | | | | | | | | | | | | | | We pass the ctor our target behavior and calculate parameters based on that. Avoid storing the target behavior, and make that calc a static method. And add a new ctor that takes the parameters explicitly. Signed-off-by: Sage Weil <sage@inktank.com>
| * common/bloom_filter: make mode match formattingSage Weil2013-09-251-0/+3
| | | | | | | | | | | | 3 space tabs.. blech. Let's not change it now, though. Signed-off-by: Sage Weil <sage@inktank.com>
* | Merge pull request #682 from ceph/wip-copyingLoic Dachary2013-10-022-37/+89
|\ \ | | | | | | sync up COPYING and debian/copyright
| * | COPYING: fix URLSage Weil2013-10-022-2/+2
| | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | debian/copyright: sync up with COPYINGSage Weil2013-10-021-6/+48
| | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | COPYING: add Packaging: sectionSage Weil2013-10-021-0/+5
| | | | | | | | | | | | | | | | | | Again, debian-specific, but who cares. Signed-off-by: Sage Weil <sage@inktank.com>
| * | COPYING: add debian-style headersSage Weil2013-10-021-0/+5
| | | | | | | | | | | | | | | | | | | | | This may not be necessary here, but it makes this identical to the debian/copyright file, which is a win. Signed-off-by: Sage Weil <sage@inktank.com>
| * | COPYING: fix formattingSage Weil2013-10-021-30/+30
|/ / | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
* | Merge pull request #678 from ceph/wip-5981Alfredo Deza2013-10-021-8/+5
|\ \ | | | | | | ceph-disk: make initial journal files 0 bytes
| * | ceph-disk: make initial journal files 0 byteswip-5981Sage Weil2013-09-091-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ceph-osd will resize journal files up and properly fallocate() them so that the blocks are preallocated and (hopefully) contiguous. We don't need to do it here too, and getting fallocate() to work from python is a pain in the butt. Fixes: #5981 Signed-off-by: Sage Weil <sage@inktank.com>
* | | Merge pull request #649 from ceph/wip-6422Sage Weil2013-10-026-151/+119
|\ \ \ | | | | | | | | | | | | | | | | #6422 Reviewed-by: Sage Weil <sage@inktank.com>
| * | | common, os, osd: Use common functions for safe file reading and writingDavid Zafman2013-10-025-145/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add new safe_read_file() and safe_write_file() to update files atomically Used instead of original OSD::read_meta(), OSD::write_meta() they are based on Used by read_superblock() and write_superblock() Used by write_version_stamp() and version_stamp_is_valid() Fixes: #6422 Signed-off-by: David Zafman <david.zafman@inktank.com>
| * | | osd: In read_meta() leave an extra byte in buffer to nul terminateDavid Zafman2013-10-021-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: David Zafman <david.zafman@inktank.com>
| * | | os: Simplify collection_list* funcs by removing dynamic_castDavid Zafman2013-09-261-6/+3
| | | | | | | | | | | | | | | | Signed-off-by: David Zafman <david.zafman@inktank.com>
* | | | Merge pull request #620 from dachary/wip-erasure-docathanatos2013-10-026-358/+149
|\ \ \ \ | | | | | | | | | | ErasureCode: doc updates
| * | | | ErasureCode: update PGBackend descriptionLoic Dachary2013-10-025-184/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Based on a dialog with Sam ( as published at http://dachary.org/?p=2320 ). * Remove PGBackend-h.rst because PGBackend.h is now in master. * Fix typos caught by ispell * Update recovery links to point to PGBackend recover methods * Workaround formating warning developer_notes.rst:3: WARNING: Duplicate explicit target name: "erasurecodepluginexample" which should be legitimate. Signed-off-by: Loic Dachary <loic@dachary.org>