]>
git.apps.os.sepia.ceph.com Git - ceph.git/commit
osdc/ObjectCacher: only call flush callback if we transitions to clean
If we race with e.g. truncate and are in bh_write_commit but the oset
is already clean, we should not call the flush callback (again).
This is reproduced by:
- kludging slow osd replies into the code (e.g., 2 second delay)
- mount ceph-fuse with --client-oc-max-dirty-age 1
- dd if=/dev/zero of=mnt/foo count=1
sleep 1
truncate --size 0 mnt/foo
-> crash
Signed-off-by: Sage Weil <sage@inktank.com>