Clear the command ops list, just as we do the ops and linger_ops xlists.
This fixes a crash like this on shutdown:
2013-06-07 23:06:21.089275
7fc7e8655700 10 client.4124.objecter close_session for osd.0
2013-06-07 23:06:21.089279
7fc7e8655700 1 -- 10.3.64.22:0/
1026843 mark_down 0x7fc7e0001260 -- 0x7fc7e0001000
./include/xlist.h: In function 'xlist<T>::~xlist() [with T = Objecter::CommandOp*]' thread
7fc7e8655700 time 2013-06-07 23:06:21.089401
./include/xlist.h: 69: FAILED assert(_size == 0)
ceph version
0.63-553-ge8300d0 (
e8300d0afb5154d4d13536abdcf47bd5cc8ce810)
1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x80) [0x7fc7ec111f14]
2: (xlist<Objecter::CommandOp*>::~xlist()+0x36) [0x7fc7ec09f95e]
3: (Objecter::OSDSession::~OSDSession()+0x1d) [0x7fc7ec09e451]
4: (Objecter::close_session(Objecter::OSDSession*)+0x1fc) [0x7fc7ec08a146]
5: (Objecter::handle_osd_map(MOSDMap*)+0xe68) [0x7fc7ec087864]
6: (librados::RadosClient::_dispatch(Message*)+0x84) [0x7fc7ec0615f0]
7: (librados::RadosClient::ms_dispatch(Message*)+0x16b) [0x7fc7ec0613c1]
8: (Messenger::ms_deliver_dispatch(Message*)+0x8c) [0x7fc7ec21d0f6]
9: (DispatchQueue::entry()+0x52f) [0x7fc7ec21c653]
10: (DispatchQueue::DispatchThread::entry()+0x1c) [0x7fc7ec2bdcc2]
11: (Thread::_entry_func(void*)+0x23) [0x7fc7ec34d8cd]
12: (()+0x6b50) [0x7fc7eb2feb50]
13: (clone()+0x6d) [0x7fc7eab2c6dd]
Signed-off-by: Sage Weil <sage@inktank.com>