]> git.baikalelectronics.ru Git - kernel.git/commit
ceph: flush msgr_wq during mds_client shutdown
authorSage Weil <sage@newdream.net>
Fri, 25 Mar 2011 20:27:48 +0000 (13:27 -0700)
committerSage Weil <sage@newdream.net>
Fri, 25 Mar 2011 20:27:48 +0000 (13:27 -0700)
commit5e40c4a17f78cb54f1e1e758f96e25d637295e9e
treedafd71f3e7fe46ed685b5ab3fd62c2bb7d3cb679
parent5e199f11345834b07e9b9d952493710ef0b41b45
ceph: flush msgr_wq during mds_client shutdown

The release method for mds connections uses a backpointer to the
mds_client, so we need to flush the workqueue of any pending work (and
ceph_connection references) prior to freeing the mds_client.  This fixes
an oops easily triggered under UML by

 while true ; do mount ... ; umount ... ; done

Also fix an outdated comment: the flush in ceph_destroy_client only flushes
OSD connections out.  This bug is basically an artifact of the ceph ->
ceph+libceph conversion.

Signed-off-by: Sage Weil <sage@newdream.net>
fs/ceph/mds_client.c
net/ceph/ceph_common.c