I've broken these patches into three groups. The first two are sort of cleanup from prior patches. The next one adds support for simple ops that contain a single data item, which I've termed "raw data." The next two are some more refinements but they were done intentionally to prepare for the last one. The sixth puts in place flags on object requests that allow the last patch to determine whether it needs to issue a STAT call for a target object before doing a layered write request. The layered write request ends up being fairly simple. Existence flags are recorded for the target of object requests. If it is unknown whether the object exists, a new standalone object request is created to do a STAT on the object. The result (success or ENOENT) is recorded in a flag in the original request, at which point the original request is re-submitted. This is the first step in doing layered writes. -Alex [PATCH 1/7] libceph: kill off osd data write_request parameters [PATCH 2/7] libceph: clean up osd data field access functions [PATCH 3/7] libceph: support raw data requests [PATCH 4/7] rbd: adjust image object request ref counting [PATCH 5/7] rbd: always check IMG_DATA flag [PATCH 6/7] rbd: add target object existence flags [PATCH 7/7] rbd: issue stat request before layered write -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html