]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mds: mark con for closed session disposable
authorSage Weil <sage@inktank.com>
Wed, 13 Mar 2013 02:44:20 +0000 (19:44 -0700)
committerSage Weil <sage@inktank.com>
Wed, 13 Mar 2013 23:38:28 +0000 (16:38 -0700)
commitdcda36694740dddc5fba9bd896c0f93e89ee0145
tree6e72c13558b0deadfc279a65ddce1211c1269d14
parent5c9186cb29203c82f363a559e026997bab3289ed
mds: mark con for closed session disposable

If there is a fault while delivering the message, close the con.  This will
clean up the Session state from memory.  If the client doesn't get the
CLOSED message, they will reconnect (from their perspective, it is still
a lossless connection) and get a remote_reset event telling them that the
session is gone.  The client code already handles this case properly.

Note that way back in 4ac45200f10e0409121948cea5226ca9e23bb5fb we removed
this because the client would reuse the same connection when it reopened
the session.  Now the client never does that; it will mark_down the con
as soon as it is closed and open a new one for a new session... which means
the MDS will get a remote_reset and close out the old session.

Signed-off-by: Sage Weil <sage@inktank.com>
src/mds/MDS.cc
src/mds/Server.cc