summaryrefslogtreecommitdiffstats
path: root/fs/ceph/pagelist.c
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2010-05-10 16:12:25 -0700
committerSage Weil <sage@newdream.net>2010-05-17 15:25:37 -0700
commit6c99f2545dbb9e53afe0d1d037c51ab04ef1ff4e (patch)
tree0f6dae93a1970751ffd144431664ac9ed9141014 /fs/ceph/pagelist.c
parent7e70f0ed9f3ee47394576be86c593f66832413e9 (diff)
downloadlinux-6c99f2545dbb9e53afe0d1d037c51ab04ef1ff4e.tar.gz
linux-6c99f2545dbb9e53afe0d1d037c51ab04ef1ff4e.tar.bz2
linux-6c99f2545dbb9e53afe0d1d037c51ab04ef1ff4e.zip
ceph: throw out dirty caps metadata, data on session teardown
The remove_session_caps() helper is called when an MDS closes out our session (either normally, or as a result of a failed reconnect), and when we tear down state for umount. If we remove the last cap, and there are no cap migrations in progress, then there is little hope of us flushing out that data to the mds (without heroic efforts to reconnect and flush). So, to avoid leaving inodes pinned (due to dirty state) and crashing after umount, throw out dirty caps state and unpin the inodes. Print a warning to the console so we know something was lost. NOTE: Although we drop wrbuffer refs, we don't actually mark pages clean; maybe a truncate should be queued? Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/pagelist.c')
0 files changed, 0 insertions, 0 deletions