{"push_id":815983840,"size":343,"distinct_size":13,"ref":"refs/heads/wip-rbd-refactor","head":"a9d21648cf12d3275c2ceff06e96dfea24b1328a","before":"a6e7d5aeacc1a76c503fa603ffbf8a9f289d8896","commits":[{"sha":"c8a83cd1ff03646f079669e7f2615a92ba2fb3d5","author":{"email":"5a3288024fcad83740d827e0862f4c1e6f28e7bf@redhat.com","name":"Yan, Zheng"},"message":"client: track flush TIDs for all pending flushing caps\n\nSigned-off-by: Yan, Zheng <zyan@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dillaman/ceph/commits/c8a83cd1ff03646f079669e7f2615a92ba2fb3d5"},{"sha":"06cf2243c1965630158909945b96e02a21bafb55","author":{"email":"5a3288024fcad83740d827e0862f4c1e6f28e7bf@redhat.com","name":"Yan, Zheng"},"message":"client: globally unique cap flush TID\n\nGlobally unique TID will simplify MDS code that dectects duplicated\ncap flushes.\n\nSigned-off-by: Yan, Zheng <zyan@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dillaman/ceph/commits/06cf2243c1965630158909945b96e02a21bafb55"},{"sha":"dafa7d2788ac58e9bef278e59fa709bee45f2c4d","author":{"email":"5a3288024fcad83740d827e0862f4c1e6f28e7bf@redhat.com","name":"Yan, Zheng"},"message":"client: don't change flush TID when re-send cap flush\n\nClient::wait_sync_caps requires stable TIDs for flushing caps.\n\nSigned-off-by: Yan, Zheng <zyan@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dillaman/ceph/commits/dafa7d2788ac58e9bef278e59fa709bee45f2c4d"},{"sha":"4400aa85e7fa259b6131fb97788dc3b8ce45d42e","author":{"email":"5a3288024fcad83740d827e0862f4c1e6f28e7bf@redhat.com","name":"Yan, Zheng"},"message":"client: track cap flushing TIDs for each session\n\nSigned-off-by: Yan, Zheng <zyan@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dillaman/ceph/commits/4400aa85e7fa259b6131fb97788dc3b8ce45d42e"},{"sha":"3a0c14e8266fce50a59c9349b65c299276d53055","author":{"email":"5a3288024fcad83740d827e0862f4c1e6f28e7bf@redhat.com","name":"Yan, Zheng"},"message":"client: make wait_sync_caps(uint64_t) check per-session flush TIDs\n\nNow we have data structure to track per-session flush TIDs. It's\neasy to check if all cap flushes before a TID are completed\n\nSigned-off-by: Yan, Zheng <zyan@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dillaman/ceph/commits/3a0c14e8266fce50a59c9349b65c299276d53055"},{"sha":"36b0e3aaeebdb01088f05d0974d1b294a40d1e65","author":{"email":"5a3288024fcad83740d827e0862f4c1e6f28e7bf@redhat.com","name":"Yan, Zheng"},"message":"client: include oldest pending caps flushing in cap message\n\nSigned-off-by: Yan, Zheng <zyan@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dillaman/ceph/commits/36b0e3aaeebdb01088f05d0974d1b294a40d1e65"},{"sha":"0ca7a49ba8294a9e9406fcda58221fd8c89a7491","author":{"email":"5a3288024fcad83740d827e0862f4c1e6f28e7bf@redhat.com","name":"Yan, Zheng"},"message":"mds: record completed cap flushes in session map\n\nThis information is for detecting duplicated cap flushes when MDS\nfailovers. We only record completed cap flushes for clients whose\ncap messages include TID of oldest cap flushes.\n\nSigned-off-by: Yan, Zheng <zyan@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dillaman/ceph/commits/0ca7a49ba8294a9e9406fcda58221fd8c89a7491"},{"sha":"2d6ab6e53b8cc9e4ea88f9d5cd6eb3e5fdaa8edf","author":{"email":"5a3288024fcad83740d827e0862f4c1e6f28e7bf@redhat.com","name":"Yan, Zheng"},"message":"mds: record cap flush tid in log event\n\nSigned-off-by: Yan, Zheng <zyan@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dillaman/ceph/commits/2d6ab6e53b8cc9e4ea88f9d5cd6eb3e5fdaa8edf"},{"sha":"aa7e7965bb060cc18c1ddec697c517a4c47913a8","author":{"email":"5a3288024fcad83740d827e0862f4c1e6f28e7bf@redhat.com","name":"Yan, Zheng"},"message":"mds: detect completed cap flush\n\nSigned-off-by: Yan, Zheng <zyan@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dillaman/ceph/commits/aa7e7965bb060cc18c1ddec697c517a4c47913a8"},{"sha":"a1d14b74e87063c5645fd2fbf54f2d3965447c15","author":{"email":"5a3288024fcad83740d827e0862f4c1e6f28e7bf@redhat.com","name":"Yan, Zheng"},"message":"client: re-send flushing caps (which are revoked) in reconnect stage\n\nif flushing caps were revoked, we should re-send the cap flush in\nclient reconnect stage. This guarantees that MDS processes the cap\nflush message before issuing the flushing caps to other client.\n\nSigned-off-by: Yan, Zheng <zyan@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dillaman/ceph/commits/a1d14b74e87063c5645fd2fbf54f2d3965447c15"},{"sha":"976b449b7baecea32e889cdcd215e642ca619c2a","author":{"email":"5a3288024fcad83740d827e0862f4c1e6f28e7bf@redhat.com","name":"Yan, Zheng"},"message":"mds: re-issue caps when recovering MDS becomes active\n\nthis makes sure the recovering MDS handle cap flushes re-sent by\nclients before re-issuing caps.\n\nSigned-off-by: Yan, Zheng <zyan@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dillaman/ceph/commits/976b449b7baecea32e889cdcd215e642ca619c2a"},{"sha":"00c56c6c4d19243d9bbb7ca6eea07a4b32bc79e7","author":{"email":"5a3288024fcad83740d827e0862f4c1e6f28e7bf@redhat.com","name":"Yan, Zheng"},"message":"mds: warn if client does not advance its oldest flush tid\n\nSigned-off-by: Yan, Zheng <zyan@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dillaman/ceph/commits/00c56c6c4d19243d9bbb7ca6eea07a4b32bc79e7"},{"sha":"07a64b9720dfc6cb41885539246c34099ca754a7","author":{"email":"f9d8c66a4e898e67db786769b5b347b640e1a9a6@suse.com","name":"Nathan Cutler"},"message":"ceph.spec.in: refrain from duplicating %{_sbindir}/rcceph\n\nOn systemd, systemd/ceph is installed to /usr/sbin/rcceph.\n\nOn non-systemd, src/init-ceph is installed to /etc/init.d/ceph and\n/usr/sbin/rcceph is created as a symlink to the latter.\n\nIn the %files section, we mention %{_sbindir}/rcceph twice: once\nin a non-systemd conditional and once outside of any conditional.\nDrop the former.\n\nSigned-off-by: Nathan Cutler <ncutler@suse.com>","distinct":false,"url":"https://api.github.com/repos/dillaman/ceph/commits/07a64b9720dfc6cb41885539246c34099ca754a7"},{"sha":"cddca59dc99480d230b65d188f36473d101314e1","author":{"email":"5a3288024fcad83740d827e0862f4c1e6f28e7bf@redhat.com","name":"Yan, Zheng"},"message":"interval_set: add lower_bound(T k) member function\n\nReturns an interval pointing to the first interval in the set,\nwhose last element is not considered to go before k.\n\nSigned-off-by: Yan, Zheng <zyan@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dillaman/ceph/commits/cddca59dc99480d230b65d188f36473d101314e1"},{"sha":"24b20a8fcdbb588a8c2b7e0d66e82260e6158343","author":{"email":"5a3288024fcad83740d827e0862f4c1e6f28e7bf@redhat.com","name":"Yan, Zheng"},"message":"client: use faked inode number when sizeof(ino_t) < 8\n\nCephfs uses 48-bits inode number. When ino_t is 32-bits, the upper 16\nbits of inode number gets lost for stat(2) and readdir(2).\n\n32-bits ino_t is even more problematic with ceph-fuse. In ceph-fuse\ncase, we need to encode both cephfs inode number and snapid into\nfuse_ino_t. 32-bits are clearly not enough.\n\nThe fix is assign a 32-bits faked inode number to each cached inode.\nFaked inode numbers are used for stat(2), readdir(2) and fuse. We\nmaintain a data structure that maps faked inode number to cephfs's\nvinodeno_t. So we can find inode by the 32-bits faked inode number.\nThis appoach should work as long as there are less than 4 billions\ncached inodes.\n\nSigned-off-by: Yan, Zheng <zyan@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dillaman/ceph/commits/24b20a8fcdbb588a8c2b7e0d66e82260e6158343"},{"sha":"fef7142c25a665bf6aafc21f37d1da8f349d2eae","author":{"email":"5a3288024fcad83740d827e0862f4c1e6f28e7bf@redhat.com","name":"Yan, Zheng"},"message":"ceph: fix rename into sub-directory check\n\nthe check is important for FreeBSD because there is such check\nin its kernel.\n\nSigned-off-by: Yan, Zheng <zyan@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dillaman/ceph/commits/fef7142c25a665bf6aafc21f37d1da8f349d2eae"},{"sha":"470afb9cc7a792f09ab417ae833e4ec8b6fae7ef","author":{"email":"48638f9c2a62c4fd20be28d0bdad68f5cd041402@redhat.com","name":"Yehuda Sadeh"},"message":"rgw: rgw_obj encoding fixes\n\nFix a few issues:\n - conversion to and from rgw_obj_key\n - strip_namespace_from_object() in the case where object starts\n   with underscore\n - encoding if object has either namespace or instance and starts\n   with underscore\n\nSigned-off-by: Yehuda Sadeh <yehuda@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dillaman/ceph/commits/470afb9cc7a792f09ab417ae833e4ec8b6fae7ef"},{"sha":"988979c3ef8a66937b63f5031e0a0ab8b60a3304","author":{"email":"48638f9c2a62c4fd20be28d0bdad68f5cd041402@redhat.com","name":"Yehuda Sadeh"},"message":"rgw: transform from cls_rgw_obj_key to rgw_obj correctly\n\nFixes: #12819\ncls_rgw_obj_key keeps object names encoded, so need to transform from\nit to rgw_obj correctly.\n\nSigned-off-by: Yehuda Sadeh <yehuda@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dillaman/ceph/commits/988979c3ef8a66937b63f5031e0a0ab8b60a3304"},{"sha":"583a2959fb101873f8e53744b9a79fedc64c3b38","author":{"email":"48638f9c2a62c4fd20be28d0bdad68f5cd041402@redhat.com","name":"Yehuda Sadeh"},"message":"rgw: json dump rgw_obj::orig_obj\n\nuseful for debugging\n\nSigned-off-by: Yehuda Sadeh <yehuda@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dillaman/ceph/commits/583a2959fb101873f8e53744b9a79fedc64c3b38"},{"sha":"d5f8c8e412133dca74de56c8f583cb51104065e2","author":{"email":"48638f9c2a62c4fd20be28d0bdad68f5cd041402@redhat.com","name":"Yehuda Sadeh"},"message":"rgw: unit test for testing rgw_obj encoding correctness\n\nSigned-off-by: Yehuda Sadeh <yehuda@redhat.com>","distinct":false,"url":"https://api.github.com/repos/dillaman/ceph/commits/d5f8c8e412133dca74de56c8f583cb51104065e2"}]}