{"push_id":2076478320,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"db26c85708aff87a07515f5cf44d50075f0b69bb","before":"233e70ab0cfad2dd19538146a75d517bf6850ee4","commits":[{"sha":"81eadb842cd0a11723388728095e7a580445ada6","author":{"name":"David Shea","email":"dc4092e6c64b25cabd01263c9192301be1e202c2@redhat.com"},"message":"Add a tmp directory and locks.\n\nThis changes how new data is written to the content store. Instead of\nwriting directory to the objects directory, the proccess is now as\nfollows:\n\n   * Acquire global lock\n   * Create a new file in csRoot/tmp\n   * Lock the new tmp file\n   * Release global lock\n   * Write data to the tmp file\n   * Move the tmp file to the objects/<digest> location\n   * Release the tmp file lock\n\nIn order to clean up stale tmp files, openContentStore will now, while\nholding the global lock, scan the tmp directory for any file without a\nwrite lock set. Doing this cleanup in the new open process instead of\nfrom the failing write process allows us to continue handling I/O errors\nas before (none handling), and also takes care of any case where a\nfinalizer would be impossible, like SIGKILL or the power cutting out or\nsomething.\n\nThe pros of the new system are that partial objects are never written to\nthe objects subdirectory, and it's now possible to start writing data to\ndisk without knowing the digest.\n\nThe cons of the new system are that content-store now requires unix and\nis no longer thread safe. The F_*LK calls underlying the calls are\nper-process, not per thread, so any attempt to use content-store\nmultiple times in the same process will cause the second open to delete\nany tmp files currently in use by the first.","distinct":true,"url":"https://api.github.com/repos/clumens/content-store/commits/81eadb842cd0a11723388728095e7a580445ada6"},{"sha":"db26c85708aff87a07515f5cf44d50075f0b69bb","author":{"name":"David Shea","email":"dc4092e6c64b25cabd01263c9192301be1e202c2@redhat.com"},"message":"Add single-object bytestream sinks.\n\nThese two sinks consume an entire stream of ByteStrings (or lazy\nByteStrings) and add it to the content store as a single object.","distinct":true,"url":"https://api.github.com/repos/clumens/content-store/commits/db26c85708aff87a07515f5cf44d50075f0b69bb"}]}
{"actor":{"display_login":"clumens"}}