I had thought about doing something like that, but I'm not sure how to do it in a race-free way. For example if I was to set 'done=yes' on a file, then check that before trying to download the file, the instant I try to download the file the writer of the file could remove the xattr and start updating the file, which seems like it would result in the client getting a corrupted file.
On Mon, Jan 21, 2013 at 5:11 PM, Gregory Farnum <[email protected]> wrote: > You must be writing large-ish objects? By default the rados tool will upload > objects 4MB at a time and you're trying to download mid-way through the full > object upload. You can add a "--block-size 20971520" to upload 20MB in a > single operation, but make sure you don't exceed the "osd max write size" > (90MB by default). > This is all client-side stuff, though — from the RADOS object store's > perspective, the file is complete after each 4MB write. If you want something > more sophisticated (like handling larger objects) you'll need to do at least > some minimal tooling of your own, e.g. by setting an object xattr before > starting and after finishing the file change, then checking for that presence > when reading (and locking on reads or doing a check when the read completes). > You can do that with the "setxattr", "rmxattr", and "getxattr" options. > -Greg > -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
