summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-07-23 14:23:45 -0700
committerSage Weil <sage@inktank.com>2013-07-23 14:23:45 -0700
commit9a7a0557361bbd67d230c673bfa5867eb40c4c91 (patch)
treec86784187b30cbd5b1858603f60adf9c31fdcca1
parentf46e8b9966411cf26991ff4fe14593c955fdfd8a (diff)
downloadceph-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.cc14
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);