{"push_id":1686010695,"size":4,"distinct_size":4,"ref":"refs/heads/testing","head":"1a918f36738d158b6908176a8246e58818edf4dc","before":"59ba343a83dd6d263093331d571fd4981fb2e246","commits":[{"sha":"069513dc313ed86a28dd8a0cd0a64b776af35537","author":{"name":"Jeff Layton","email":"0a799ee4f46e914219e7741adcc5e93178d519ec@redhat.com"},"message":"libceph: add an epoch_barrier field to struct ceph_osd_client\n\nCephfs can get cap update requests that contain a new epoch barrier in\nthem. When that happens we want to pause all OSD traffic until the right\nmap epoch arrives.\n\nAdd an epoch_barrier field to ceph_osd_client that is protected by the\nosdc->lock rwsem. When the barrier is set, and the current OSD map\nepoch is below that, pause the request target when submitting the\nrequest or when revisiting it. Add a way for upper layers (cephfs)\nto update the epoch_barrier as well.\n\nIf we get a new map, compare the new epoch against the barrier before\nkicking requests and request another map if the map epoch is still lower\nthan the one we want.\n\nIf we get a map with a full pool, or at quota condition, then set the\nbarrier to the current epoch value.\n\nReviewed-by: \"Yan, Zheng” <zyan@redhat.com>\nSigned-off-by: Jeff Layton <jlayton@redhat.com>\nReviewed-by: Ilya Dryomov <idryomov@gmail.com>","distinct":true,"url":"https://api.github.com/repos/ceph/ceph-client/commits/069513dc313ed86a28dd8a0cd0a64b776af35537"},{"sha":"1580dbee238ad6818a39aae2a49b903c329599c7","author":{"name":"Jeff Layton","email":"0a799ee4f46e914219e7741adcc5e93178d519ec@redhat.com"},"message":"ceph: handle epoch barriers in cap messages\n\nHave the client store and update the osdc epoch_barrier when a cap\nmessage comes in with one.\n\nWhen sending cap messages, send the epoch barrier as well. This allows\nclients to inform servers that their released caps may not be used until\na particular OSD map epoch.\n\nReviewed-by: \"Yan, Zheng” <zyan@redhat.com>\nSigned-off-by: Jeff Layton <jlayton@redhat.com>","distinct":true,"url":"https://api.github.com/repos/ceph/ceph-client/commits/1580dbee238ad6818a39aae2a49b903c329599c7"},{"sha":"1c1d071671f8c60496a0858724fc47148b0a7163","author":{"name":"Jeff Layton","email":"0a799ee4f46e914219e7741adcc5e93178d519ec@redhat.com"},"message":"Revert \"ceph: SetPageError() for writeback pages if writepages fails\"\n\nThis reverts commit b109eec6f4332bd517e2f41e207037c4b9065094.\n\nIf I'm filling up a filesystem with this sort of command:\n\n    $ dd if=/dev/urandom of=/mnt/cephfs/fillfile bs=2M oflag=sync\n\n...then I'll eventually get back EIO on a write. Further calls\nwill give us ENOSPC.\n\nI'm not sure what prompted this change, but I don't think it's what we\nwant to do. If writepages failed, we will have already set the mapping\nerror appropriately, and that's what gets reported by fsync() or\nclose().\n\n__filemap_fdatawait_range however, does this:\n\n\twait_on_page_writeback(page);\n\tif (TestClearPageError(page))\n\t\tret = -EIO;\n\n...and that -EIO ends up trumping the mapping's error if one exists.\n\nWhen writepages fails, we only want to set the error in the mapping,\nand not flag the individual pages.\n\nReviewed-by: \"Yan, Zheng” <zyan@redhat.com>\nSigned-off-by: Jeff Layton <jlayton@redhat.com>","distinct":true,"url":"https://api.github.com/repos/ceph/ceph-client/commits/1c1d071671f8c60496a0858724fc47148b0a7163"},{"sha":"1a918f36738d158b6908176a8246e58818edf4dc","author":{"name":"Jeff Layton","email":"0a799ee4f46e914219e7741adcc5e93178d519ec@redhat.com"},"message":"ceph: when seeing write errors on an inode, switch to sync writes\n\nCurrently, we don't have a real feedback mechanism in place for when we\nstart seeing buffered writeback errors. If writeback is failing, there\nis nothing that prevents an application from continuing to dirty pages\nthat aren't being cleaned.\n\nIn the event that we're seeing write errors of any sort occur on an\ninode, have the callback set a flag to force further writes to be\nsynchronous. When the next write succeeds, clear the flag to allow\nbuffered writeback to continue.\n\nSince this is just a hint to the write submission mechanism, we only\ntake the i_ceph_lock when a lockless check shows that the flag needs to\nbe changed.\n\nReviewed-by: \"Yan, Zheng” <zyan@redhat.com>\nSigned-off-by: Jeff Layton <jlayton@redhat.com>","distinct":true,"url":"https://api.github.com/repos/ceph/ceph-client/commits/1a918f36738d158b6908176a8246e58818edf4dc"}]}
{"actor":{"display_login":"jtlayton"}}