]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
client: don't take extra target inode reference in ll_link 11440/head
authorJeff Layton <jlayton@redhat.com>
Sat, 15 Oct 2016 23:31:46 +0000 (19:31 -0400)
committerJeff Layton <jlayton@redhat.com>
Sat, 15 Oct 2016 23:31:46 +0000 (19:31 -0400)
commit23956dea83a1f803e6e874ed739fc64c93ab5c9b
treed2662eac10e524b9af3c4cf7d803a305cb5f9c31
parent61310d41f307ac07ff81f19ec1926434a0ced713
client: don't take extra target inode reference in ll_link

For the life of me, I can't figure out where this reference is ever put.
We usually take a reference like this when there is an Inode **
parameter that we'll return to the caller. ll_link doesn't have one of
those, so as best I can tell this reference is just leaked.

Zheng however says that FUSE will eventually put this reference via
ll_forget. I still don't quite get how that works, but the other callers
clearly do not handle this correctly. Change the code to only make the
fuse code take this extra reference.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
src/client/Client.cc
src/client/fuse_ll.cc