- Mar 01, 2010
-
-
Sage Weil authored
Add missing pointer dereference (p is a void **). Signed-off-by:
Sage Weil <sage@newdream.net>
-
- Feb 17, 2010
-
-
Sage Weil authored
Since we can now create and destroy pg pools, the pool ids will be sparse, and an array no longer makes sense for looking up by pool id. Use an rbtree instead. The OSDMap encoding also no longer has a max pool count (previously used to allocate the array). There is a new pool_max, that is the largest pool id we've ever used, although we don't actually need it in the client. Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
Also move _lookup_pg_mapping into a helper. Signed-off-by:
Sage Weil <sage@newdream.net>
-
- Feb 11, 2010
-
-
Sage Weil authored
Also verify encoding version as we go. Signed-off-by:
Sage Weil <sage@newdream.net>
-
- Jan 26, 2010
-
-
Sage Weil authored
Signed-off-by:
Sage Weil <sage@newdream.net>
-
- Dec 22, 2009
-
-
Sage Weil authored
An incremental pg_temp wasn't being decoded properly (wrong bound on for loop). Also remove unused local variable, while we're at it. Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
Both osdmap_decode() and osdmap_apply_incremental() should never return NULL. Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
Also, print fsid using standard format, NOT hex dump. Signed-off-by:
Sage Weil <sage@newdream.net>
-
- Dec 09, 2009
-
-
Sage Weil authored
Do not feed bad (large) device ids to CRUSH. Signed-off-by:
Sage Weil <sage@newdream.net>
-
- Nov 08, 2009
-
-
Sage Weil authored
Make the integer hash function a property of the bucket it is used on. This allows us to gracefully add support for new hash functions without starting from scatch. Signed-off-by:
Sage Weil <sage@newdream.net>
-
- Nov 07, 2009
-
-
Sage Weil authored
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>
-
- Nov 06, 2009
-
-
Sage Weil authored
No ceph prefix. Signed-off-by:
Sage Weil <sage@newdream.net>
-
- Nov 05, 2009
-
-
Sage Weil authored
The endian conversions don't quite work with the old union ceph_pg. Just make it a regular struct, and make each field __le. This is simpler and it has the added bonus of actually working. Signed-off-by:
Sage Weil <sage@newdream.net>
-
- Nov 03, 2009
-
-
Sage Weil authored
We exchange struct ceph_entity_addr over the wire and store it on disk. The sockaddr_storage.ss_family field, however, is host endianness. So, fix ss_family endianness to big endian when sending/receiving over the wire. Signed-off-by:
Sage Weil <sage@newdream.net>
-
- Oct 30, 2009
-
-
Noah Watkins authored
Commit 645a1025 fixes calculation of object offset for layouts with multiple stripes per object. This updates the calculation of the length written to take into account multiple stripes per object. Signed-off-by:
Noah Watkins <noah@noahdesu.com> Signed-off-by:
Sage Weil <sage@newdream.net>
-
- Oct 29, 2009
-
-
Sage Weil authored
We were incorrectly calculationing of object offset. If we have multiple stripe units per object, we need to shift to the start of the current su in addition to the offset within the su. Also rename bno to ono (object number) to avoid some variable naming confusion. Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
The object extent offset is the file offset _modulo_ the stripe unit. The code was correct, the comment was wrong. Reported-by:
Noah Watkins <jayhawk@soe.ucsc.edu> Signed-off-by:
Sage Weil <sage@newdream.net>
-
Noah Watkins authored
Using stripe unit size calculated and saved on the stack to avoid a redundant call to le32_to_cpu. Signed-off-by:
Noah Watkins <noah@noahdesu.com> Signed-off-by:
Sage Weil <sage@newdream.net>
-
- Oct 19, 2009
-
-
Sage Weil authored
Mix the preferred osd (if any) into the placement seed that is fed into the CRUSH object placement calculation. This prevents all the placement pgs from peering with the same osds. Rev the osd client protocol with this change. Signed-off-by:
Sage Weil <sage@newdream.net>
-
- Oct 14, 2009
-
-
Sage Weil authored
This avoids the fugly pass by reference and makes the code a bit easier to read. Signed-off-by:
Sage Weil <sage@newdream.net>
-
- Oct 09, 2009
-
-
Sage Weil authored
Return an error and report a corrupt map instead of crying BUG(). Signed-off-by:
Sage Weil <sage@newdream.net>
-
- Oct 06, 2009
-
-
Sage Weil authored
The OSD client is responsible for reading and writing data from/to the object storage pool. This includes determining where objects are stored in the cluster, and ensuring that requests are retried or redirected in the event of a node failure or data migration. If an OSD does not respond before a timeout expires, keepalive messages are sent across the lossless, ordered communications channel to ensure that any break in the TCP is discovered. If the session does reset, a reconnection is attempted and affected requests are resent (by the message transport layer). Signed-off-by:
Sage Weil <sage@newdream.net>
-