aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ceph/ceph_fs.c
Commit message (Collapse)AuthorAge
* ceph: make object hash a pg_pool propertySage Weil2009-11-07
| | | | | | | | | The object will be hashed to a placement seed (ps) based on the pg_pool's hash function. This allows new hashes to be introduced into an existing object store, or selection of a hash appropriate to the objects that will be stored in a particular pool. Signed-off-by: Sage Weil <sage@newdream.net>
* ceph: use strong hash function for mapping objects to pgsSage Weil2009-11-06
| | | | | | | | | | | | | | | We were using the (weak) dcache hash function, but it was leaving lower bits consecutive for consecutive (inode) objects. We really want to make the object to pg mapping random and uniform, so use a proper hash function here. This is Robert Jenkin's public domain hash function (with some minor cleanup): http://burtleburtle.net/bob/hash/evahash.html This is a protocol revision. Signed-off-by: Sage Weil <sage@newdream.net>
* ceph: add file layout validationSage Weil2009-10-09
| | | | | | This tracks updates to code shared with userspace. Signed-off-by: Sage Weil <sage@newdream.net>
* ceph: on-wire typesSage Weil2009-10-06
These headers describe the types used to exchange messages between the Ceph client and various servers. All types are little-endian and packed. These headers are shared between the kernel and userspace, so all types are in terms of e.g. __u32. Additionally, we define a few magic values to identify the current version of the protocol(s) in use, so that discrepancies to be detected on mount. Signed-off-by: Sage Weil <sage@newdream.net>