ceph: fix ci->i_head_snapc leak
authorYan, Zheng <zyan@redhat.com>
Thu, 18 Apr 2019 03:24:57 +0000 (11:24 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 2 May 2019 07:32:01 +0000 (09:32 +0200)
commit99055c03d2eaa6a9481ee6c61aa91f2055c90c8e
tree3d4864fddeecf5c1ce33270ad7faf5168790aa8e
parenta9adfd9439199bb957ff8e2349adebc434803bb4
ceph: fix ci->i_head_snapc leak

commit 37659182bff1eeaaeadcfc8f853c6d2b6dbc3f47 upstream.

We missed two places that i_wrbuffer_ref_head, i_wr_ref, i_dirty_caps
and i_flushing_caps may change. When they are all zeros, we should free
i_head_snapc.

Cc: stable@vger.kernel.org
Link: https://tracker.ceph.com/issues/38224
Reported-and-tested-by: Luis Henriques <lhenriques@suse.com>
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/ceph/mds_client.c
fs/ceph/snap.c