diff options
author | Sage Weil <sage@inktank.com> | 2013-07-23 14:23:45 -0700 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-07-23 14:23:45 -0700 |
commit | 9a7a0557361bbd67d230c673bfa5867eb40c4c91 (patch) | |
tree | c86784187b30cbd5b1858603f60adf9c31fdcca1 | |
parent | f46e8b9966411cf26991ff4fe14593c955fdfd8a (diff) | |
download | ceph-9a7a0557361bbd67d230c673bfa5867eb40c4c91.tar.gz |
ceph-fuse: disable getgroups_cb
It's broken. See #5729.
Signed-off-by: Sage Weil <sage@inktank.com>
-rw-r--r-- | src/client/fuse_ll.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/client/fuse_ll.cc b/src/client/fuse_ll.cc index ce0c6de1260..0812c9a3728 100644 --- a/src/client/fuse_ll.cc +++ b/src/client/fuse_ll.cc @@ -509,6 +509,7 @@ static void fuse_ll_statfs(fuse_req_t req, fuse_ino_t ino) fuse_reply_err(req, -r); } +#if 0 static int getgroups_cb(void *handle, uid_t uid, gid_t **sgids) { #ifdef HAVE_FUSE_GETGROUPS @@ -534,6 +535,7 @@ static int getgroups_cb(void *handle, uid_t uid, gid_t **sgids) #endif return 0; } +#endif static void invalidate_cb(void *handle, vinodeno_t vino, int64_t off, int64_t len) { @@ -702,8 +704,20 @@ int CephFuse::Handle::init(int argc, const char *argv[]) fuse_session_add_chan(se, ch); + /* + * this is broken: + * + * - the cb needs the request handle to be useful; we should get the + * gids in the method here in fuse_ll.c and pass the gid list in, + * not use a callback. + * - the callback mallocs the list but it is not free()'d + * + * so disable it for now... + client->ll_register_getgroups_cb(getgroups_cb, this); + */ + if (g_conf->fuse_use_invalidate_cb) client->ll_register_ino_invalidate_cb(invalidate_cb, this); |