{"action":"created","issue":{"url":"https://api.github.com/repos/ceph/ceph/issues/10922","repository_url":"https://api.github.com/repos/ceph/ceph","labels_url":"https://api.github.com/repos/ceph/ceph/issues/10922/labels{/name}","comments_url":"https://api.github.com/repos/ceph/ceph/issues/10922/comments","events_url":"https://api.github.com/repos/ceph/ceph/issues/10922/events","html_url":"https://github.com/ceph/ceph/pull/10922","id":173993857,"number":10922,"title":"First pile of statx patches","user":{"login":"jtlayton","id":10671515,"avatar_url":"https://avatars.githubusercontent.com/u/10671515?v=3","gravatar_id":"","url":"https://api.github.com/users/jtlayton","html_url":"https://github.com/jtlayton","followers_url":"https://api.github.com/users/jtlayton/followers","following_url":"https://api.github.com/users/jtlayton/following{/other_user}","gists_url":"https://api.github.com/users/jtlayton/gists{/gist_id}","starred_url":"https://api.github.com/users/jtlayton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jtlayton/subscriptions","organizations_url":"https://api.github.com/users/jtlayton/orgs","repos_url":"https://api.github.com/users/jtlayton/repos","events_url":"https://api.github.com/users/jtlayton/events{/privacy}","received_events_url":"https://api.github.com/users/jtlayton/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ceph/ceph/labels/cephfs","name":"cephfs","color":"d4c5f9"},{"url":"https://api.github.com/repos/ceph/ceph/labels/feature","name":"feature","color":"009800"}],"state":"open","locked":false,"assignee":{"login":"ffilz","id":399443,"avatar_url":"https://avatars.githubusercontent.com/u/399443?v=3","gravatar_id":"","url":"https://api.github.com/users/ffilz","html_url":"https://github.com/ffilz","followers_url":"https://api.github.com/users/ffilz/followers","following_url":"https://api.github.com/users/ffilz/following{/other_user}","gists_url":"https://api.github.com/users/ffilz/gists{/gist_id}","starred_url":"https://api.github.com/users/ffilz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ffilz/subscriptions","organizations_url":"https://api.github.com/users/ffilz/orgs","repos_url":"https://api.github.com/users/ffilz/repos","events_url":"https://api.github.com/users/ffilz/events{/privacy}","received_events_url":"https://api.github.com/users/ffilz/received_events","type":"User","site_admin":false},"assignees":[{"login":"ffilz","id":399443,"avatar_url":"https://avatars.githubusercontent.com/u/399443?v=3","gravatar_id":"","url":"https://api.github.com/users/ffilz","html_url":"https://github.com/ffilz","followers_url":"https://api.github.com/users/ffilz/followers","following_url":"https://api.github.com/users/ffilz/following{/other_user}","gists_url":"https://api.github.com/users/ffilz/gists{/gist_id}","starred_url":"https://api.github.com/users/ffilz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ffilz/subscriptions","organizations_url":"https://api.github.com/users/ffilz/orgs","repos_url":"https://api.github.com/users/ffilz/repos","events_url":"https://api.github.com/users/ffilz/events{/privacy}","received_events_url":"https://api.github.com/users/ffilz/received_events","type":"User","site_admin":false},{"login":"batrick","id":548304,"avatar_url":"https://avatars.githubusercontent.com/u/548304?v=3","gravatar_id":"","url":"https://api.github.com/users/batrick","html_url":"https://github.com/batrick","followers_url":"https://api.github.com/users/batrick/followers","following_url":"https://api.github.com/users/batrick/following{/other_user}","gists_url":"https://api.github.com/users/batrick/gists{/gist_id}","starred_url":"https://api.github.com/users/batrick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/batrick/subscriptions","organizations_url":"https://api.github.com/users/batrick/orgs","repos_url":"https://api.github.com/users/batrick/repos","events_url":"https://api.github.com/users/batrick/events{/privacy}","received_events_url":"https://api.github.com/users/batrick/received_events","type":"User","site_admin":false},{"login":"jcsp","id":944640,"avatar_url":"https://avatars.githubusercontent.com/u/944640?v=3","gravatar_id":"","url":"https://api.github.com/users/jcsp","html_url":"https://github.com/jcsp","followers_url":"https://api.github.com/users/jcsp/followers","following_url":"https://api.github.com/users/jcsp/following{/other_user}","gists_url":"https://api.github.com/users/jcsp/gists{/gist_id}","starred_url":"https://api.github.com/users/jcsp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jcsp/subscriptions","organizations_url":"https://api.github.com/users/jcsp/orgs","repos_url":"https://api.github.com/users/jcsp/repos","events_url":"https://api.github.com/users/jcsp/events{/privacy}","received_events_url":"https://api.github.com/users/jcsp/received_events","type":"User","site_admin":false},{"login":"jtlayton","id":10671515,"avatar_url":"https://avatars.githubusercontent.com/u/10671515?v=3","gravatar_id":"","url":"https://api.github.com/users/jtlayton","html_url":"https://github.com/jtlayton","followers_url":"https://api.github.com/users/jtlayton/followers","following_url":"https://api.github.com/users/jtlayton/following{/other_user}","gists_url":"https://api.github.com/users/jtlayton/gists{/gist_id}","starred_url":"https://api.github.com/users/jtlayton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jtlayton/subscriptions","organizations_url":"https://api.github.com/users/jtlayton/orgs","repos_url":"https://api.github.com/users/jtlayton/repos","events_url":"https://api.github.com/users/jtlayton/events{/privacy}","received_events_url":"https://api.github.com/users/jtlayton/received_events","type":"User","site_admin":false}],"milestone":null,"comments":4,"created_at":"2016-08-30T11:23:39Z","updated_at":"2016-09-01T16:27:47Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ceph/ceph/pulls/10922","html_url":"https://github.com/ceph/ceph/pull/10922","diff_url":"https://github.com/ceph/ceph/pull/10922.diff","patch_url":"https://github.com/ceph/ceph/pull/10922.patch"},"body":"github wouldn't allow me to reopen my old PR, so opening a new one here. Most of the changes are in response to Greg's review of the PR here:\r\n\r\n[https://github.com/ceph/ceph/pull/10842](https://github.com/ceph/ceph/pull/10842)\r\n\r\nThis patchset is the first pile of patches to add ceph_statx support to the userland client. The basic idea is to add a new interface patterned after the proposed statx() interface for Linux. The idea there is to extend the traditional stat() interface in several ways:\r\n\r\n1) allow access to more inode attribute fields, in particular the birthtime (btime) and a change attribute (a'la NFSv4), in a way that is extensible in the future.\r\n\r\n2) allow applications to request just specific fields in the ceph_statx struct be filled out. Note that you can (and will) often get more than you request, but you should always get what is requested or an error.\r\n\r\n3) allow applications to do a \"lazy\" statx, where we fill out the attribute fields from whatever we have in cache, without querying the server. This is handy for performance reasons or in cases where we don't really need up-to-date information.\r\n\r\nIn addition, a ceph_setattrx has also been added, which allows the setting of the btime as well as the other fields that ceph_setattr allows. I also have a companion patchset for samba that converts it to use these new interfaces. That seems to work properly, though I still need to roll a testcase to verify that setting the btime via smb actually works.\r\n\r\nPay close attention to the first patch in the file as well, which I think may help performance in some cases by allowing us to request the caps needed to do an operation during the lookup phase of path-based operations.\r\n\r\nI've also started some work to do a patchset for ganesha, but that requires adding a number of new ceph_ll_* calls. I think it's probably best to get this merged first and then do that part afterward."},"comment":{"url":"https://api.github.com/repos/ceph/ceph/issues/comments/244134571","html_url":"https://github.com/ceph/ceph/pull/10922#issuecomment-244134571","issue_url":"https://api.github.com/repos/ceph/ceph/issues/10922","id":244134571,"user":{"login":"ffilz","id":399443,"avatar_url":"https://avatars.githubusercontent.com/u/399443?v=3","gravatar_id":"","url":"https://api.github.com/users/ffilz","html_url":"https://github.com/ffilz","followers_url":"https://api.github.com/users/ffilz/followers","following_url":"https://api.github.com/users/ffilz/following{/other_user}","gists_url":"https://api.github.com/users/ffilz/gists{/gist_id}","starred_url":"https://api.github.com/users/ffilz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ffilz/subscriptions","organizations_url":"https://api.github.com/users/ffilz/orgs","repos_url":"https://api.github.com/users/ffilz/repos","events_url":"https://api.github.com/users/ffilz/events{/privacy}","received_events_url":"https://api.github.com/users/ffilz/received_events","type":"User","site_admin":false},"created_at":"2016-09-01T16:27:46Z","updated_at":"2016-09-01T16:27:46Z","body":"Confused by my getting assigned the pr...\r\n"}}
{"actor":{"display_login":"ffilz"}}