{"push_id":836033166,"size":1000,"distinct_size":66,"ref":"refs/heads/wip-ceph-disk","head":"94820778e4b17a40df1cd42efb2fe359e5561391","before":"144d3b7c273d3cc5b4a8a7a3f0ff389bf392aa4b","commits":[{"sha":"2a7393a4468ce1506861eaa836d58f06014b448e","author":{"email":"6dd34506bbd5e58221bbb3e4732d97c91f02277b@redhat.com","name":"Sage Weil"},"message":"os/newstore: more conservative default for aio queue depth\n\nThere appears to be a kernel aio bug when the queue depth is small.\n\nSigned-off-by: Sage Weil <sage@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dachary/ceph/commits/2a7393a4468ce1506861eaa836d58f06014b448e"},{"sha":"6399f1d0608f3266b27df9a6f180bfaf473b8e7b","author":{"email":"6dd34506bbd5e58221bbb3e4732d97c91f02277b@redhat.com","name":"Sage Weil"},"message":"os/newstore: fix multiple aio case\n\nSigned-off-by: Sage Weil <sage@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dachary/ceph/commits/6399f1d0608f3266b27df9a6f180bfaf473b8e7b"},{"sha":"e02e7438578dc614d4cf8858164989970d36c4dc","author":{"email":"52768275c89bf63503ccc0eef33f5540eccada30@intel.com","name":"Zhiqiang Wang"},"message":"os/NewStore: avoid dup the data of the overlays in the WAL\n\nWhen writing all the overlays, there is no need to dup the data in WAL.\nInstead, we can reference the overlays in the WAL, and remove these\noverlays after commiting them to the fs. When replaying, we can get\nthese data from the referenced overlays. Doing this way, we can save a\nwrite and a deletion for each of the overlay data in the db.\n\nSigned-off-by: Zhiqiang Wang <zhiqiang.wang@intel.com>","distinct":false,"url":"https://api.github.com/repos/dachary/ceph/commits/e02e7438578dc614d4cf8858164989970d36c4dc"},{"sha":"36ed3dd20ad2e7922a2ec300036601ba03841d3f","author":{"email":"5ba6ce730dd4fa920856bf712394dbdb7add7463@intel.com","name":"Xiaoxi Chen"},"message":"os/Newstore: flush_commit return true on STATE_KV_DONE\n\nThere is a racing condition here, if the flush_commit() call\nhappened after _txc_finish_kv and before next state, the context\nwas pushed to on_commits but no one will handle the context since\nwe already pass _txc_finish_kv. This bug can be easily reproduce\nby putting a sleep(5) after _txc_finish_kv, and trigger the bug by\nceph-osd -i 0 --mkfs.\n\nFix this bug by return true directly when state >= STATE_KV_DONE(instead\nof > in previous code). We already persist the data in STATE_KV_DONE so\nit's safe for us to do this.\n\nSigned-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>","distinct":false,"url":"https://api.github.com/repos/dachary/ceph/commits/36ed3dd20ad2e7922a2ec300036601ba03841d3f"},{"sha":"cdc652ebbefb927ac338afbfee16f13044bffa18","author":{"email":"52768275c89bf63503ccc0eef33f5540eccada30@intel.com","name":"Zhiqiang Wang"},"message":"os/NewStore: fix the append of the later overlays when doing combination\n\nThe data of the later contiguous overlays should be claim_append to\n'op->data', instead of 'bl'.\n\nSigned-off-by: Zhiqiang Wang <zhiqiang.wang@intel.com>","distinct":false,"url":"https://api.github.com/repos/dachary/ceph/commits/cdc652ebbefb927ac338afbfee16f13044bffa18"},{"sha":"e3abf245ba4a555b695a437fa488ca41b36c2c77","author":{"email":"5ba6ce730dd4fa920856bf712394dbdb7add7463@intel.com","name":"Xiaoxi Chen"},"message":"os/newstore: fix deadlock when newstore_sync_transaction=true\n\nThere is a deadlock issue in Newstore when newstore_sync_transaction = true.\nWith sync_transaction to true, the txc state machine will go all the way down\nfrom STATE_IO_DONE to STATE_FINISHING in the same thread, while holding the osr->qlock().\nThe deadlock is caused in _txc_finish and _osr_reap_done, when trying to\nlock osr->qlock again.\n\nSince the _txc_finish can be called with(in sync transaction mode) or without\n(in async transaction mode) holding the qlock, so fix this by setting the qlock\nto PTHREAD_MUTEX_RECURSIVE, thus we can recursive acquire the qlock.\n\nSigned-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>","distinct":false,"url":"https://api.github.com/repos/dachary/ceph/commits/e3abf245ba4a555b695a437fa488ca41b36c2c77"},{"sha":"02d0ef8fe00c66d638a844220188f1f438989242","author":{"email":"52768275c89bf63503ccc0eef33f5540eccada30@intel.com","name":"Zhiqiang Wang"},"message":"os/NewStore: delay the read of all the overlays until wal applying\n\nThe read of all the overlays can be delayed until applying the wal. If\nwe are doing async wal apply, this can reduce write op latency by\neliminating unnecessary reads in the write code path.\n\nSigned-off-by: Zhiqiang Wang <zhiqiang.wang@intel.com>","distinct":false,"url":"https://api.github.com/repos/dachary/ceph/commits/02d0ef8fe00c66d638a844220188f1f438989242"},{"sha":"08f3efb47492baa0dc765080a208cde7d85f972c","author":{"email":"6dd34506bbd5e58221bbb3e4732d97c91f02277b@redhat.com","name":"Sage Weil"},"message":"Revert \"os/NewStore: data_map shouldn't be empty when writing all overlays\"\n\nThis reverts commit 0d9cce462fec61f754ddcd17cf9a3cf69581d7c5.\n\nWe may want to write an overlay if hte object is new and the write is small to defer the cost\nof the fsync.","distinct":false,"url":"https://api.github.com/repos/dachary/ceph/commits/08f3efb47492baa0dc765080a208cde7d85f972c"},{"sha":"668c2777158bf08888c67921210a796a80686e56","author":{"email":"6dd34506bbd5e58221bbb3e4732d97c91f02277b@redhat.com","name":"Sage Weil"},"message":"rocksdb: fallocate_with_keep_size = false\n\nThis improves my 4k random writes on hdd by about 25%.\n\nSigned-off-by: Sage Weil <sage@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dachary/ceph/commits/668c2777158bf08888c67921210a796a80686e56"},{"sha":"e89b2474b7cda97ee83819f9ed834215ba3ca7b0","author":{"email":"6dd34506bbd5e58221bbb3e4732d97c91f02277b@redhat.com","name":"Sage Weil"},"message":"os/newstore: avoid sync append for small ios\n\nAn append is expensive in terms of latency (write, fdatasync, kv commit),\nwhile a wal write is just the kv commit and the write and fdatasync are\nasync.  For small IOs doing the wal may improve performance.\n\nSigned-off-by: Sage Weil <sage@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dachary/ceph/commits/e89b2474b7cda97ee83819f9ed834215ba3ca7b0"},{"sha":"4c1552001a2e12bfdcf8630292cb07da494dcb31","author":{"email":"6dd34506bbd5e58221bbb3e4732d97c91f02277b@redhat.com","name":"Sage Weil"},"message":"Revert \"os/newstore: avoid sync append for small ios\"\n\nThis reverts commit 69baab2f7eaca7688ce1d45802a82fc3539cd906.\n\nThis is slower.  :(","distinct":false,"url":"https://api.github.com/repos/dachary/ceph/commits/4c1552001a2e12bfdcf8630292cb07da494dcb31"},{"sha":"90e7f5e6484d13f55ddc0a393705b9454a5325ab","author":{"email":"6dd34506bbd5e58221bbb3e4732d97c91f02277b@redhat.com","name":"Sage Weil"},"message":"os/newstore: only ftruncate if i_size is incorrect\n\nEven a no-op ftruncate can block in the kernel.  Prior to this change I\ncould frequently see ftruncate wait for an aio completion on the same\nfile.\n\nSigned-off-by: Sage Weil <sage@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dachary/ceph/commits/90e7f5e6484d13f55ddc0a393705b9454a5325ab"},{"sha":"9c2eb2858950a2189f73717e31a978a914faca2a","author":{"email":"6dd34506bbd5e58221bbb3e4732d97c91f02277b@redhat.com","name":"Sage Weil"},"message":"os/newstore: clean up kv commit debug output\n\nSigned-off-by: Sage Weil <sage@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dachary/ceph/commits/9c2eb2858950a2189f73717e31a978a914faca2a"},{"sha":"22a6a9f7681bbbafd46c36623aea8e467bb7d593","author":{"email":"6dd34506bbd5e58221bbb3e4732d97c91f02277b@redhat.com","name":"Sage Weil"},"message":"os/newstore: process multiple aio completions at a time\n\nThis isn't affecting things for a slow disk, but it will matter for faster\nbackends.\n\nSigned-off-by: Sage Weil <sage@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dachary/ceph/commits/22a6a9f7681bbbafd46c36623aea8e467bb7d593"},{"sha":"92979d750b6021726b9364a7a7c0925002009f76","author":{"email":"6dd34506bbd5e58221bbb3e4732d97c91f02277b@redhat.com","name":"Sage Weil"},"message":"os/newstore: queue kv transactions in kv_sync_thread\n\nIt appears that db->submit_transaction() will block if there is a sync\ncommit that is in progress instead of simply queueing the new txn for\nlater.  To work around this, submit these to the backend in the\nkv_sync_thread prior to the synchronous submit_transaction_sync().\n\nSigned-off-by: Sage Weil <sage@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dachary/ceph/commits/92979d750b6021726b9364a7a7c0925002009f76"},{"sha":"35821d3aa9d53db72b7c90c821491866b60826ef","author":{"email":"6dd34506bbd5e58221bbb3e4732d97c91f02277b@redhat.com","name":"Sage Weil"},"message":"os/newstore: renamed TransContext::fds -> sync_items\n\nSigned-off-by: Sage Weil <sage@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dachary/ceph/commits/35821d3aa9d53db72b7c90c821491866b60826ef"},{"sha":"8ad6b9dfc3d9b0c8d2003cf6b5752989faecae2e","author":{"email":"6dd34506bbd5e58221bbb3e4732d97c91f02277b@redhat.com","name":"Sage Weil"},"message":"os/newstore: make sync/async submit_transaction optional\n\nIt seems doing this synchronously may be better for SSDs?\n\nSigned-off-by: Sage Weil <sage@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dachary/ceph/commits/8ad6b9dfc3d9b0c8d2003cf6b5752989faecae2e"},{"sha":"404cdd286dd9738148eec7f94c9dfac36672ab8b","author":{"email":"5ba6ce730dd4fa920856bf712394dbdb7add7463@intel.com","name":"Xiaoxi Chen"},"message":"os/newstore: Implement fiemap\n\nFor simplicity we ignore holes inside an fragment now.\n\nSigned-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>","distinct":false,"url":"https://api.github.com/repos/dachary/ceph/commits/404cdd286dd9738148eec7f94c9dfac36672ab8b"},{"sha":"a1f0bdb0bd2d9b862456cba0900822f1d3c8dc97","author":{"email":"6dd34506bbd5e58221bbb3e4732d97c91f02277b@redhat.com","name":"Sage Weil"},"message":"os/newstore: fix collection range for temp objects\n\nSigned-off-by: Sage Weil <sage@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dachary/ceph/commits/a1f0bdb0bd2d9b862456cba0900822f1d3c8dc97"},{"sha":"15382c50d87e5282a0133665bf7687ec2c8e2e0a","author":{"email":"6dd34506bbd5e58221bbb3e4732d97c91f02277b@redhat.com","name":"Sage Weil"},"message":"os/newstore: tolerate null pnext to collection_list()\n\nSigned-off-by: Sage Weil <sage@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dachary/ceph/commits/15382c50d87e5282a0133665bf7687ec2c8e2e0a"}]}