]>
git.proxmox.com Git - ceph.git/blob - ceph/src/client/MetaSession.h
1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
4 #ifndef CEPH_CLIENT_METASESSION_H
5 #define CEPH_CLIENT_METASESSION_H
7 #include "include/types.h"
8 #include "include/utime.h"
9 #include "msg/Message.h"
10 #include "include/xlist.h"
11 #include "mds/mdstypes.h"
17 class MClientCapRelease
;
24 utime_t cap_ttl
, last_cap_renew_request
;
25 uint64_t cap_renew_seq
;
41 list
<Context
*> waiting_for_open
;
44 xlist
<Inode
*> flushing_caps
;
45 xlist
<MetaRequest
*> requests
;
46 xlist
<MetaRequest
*> unsafe_requests
;
47 std::set
<ceph_tid_t
> flushing_caps_tids
;
48 std::set
<Inode
*> early_flushing_caps
;
50 MClientCapRelease
*release
;
53 : mds_num(-1), con(NULL
),
54 seq(0), cap_gen(0), cap_renew_seq(0), num_caps(0),
55 state(STATE_NEW
), mds_state(0), readonly(false),
60 const char *get_state_name() const;
62 void dump(Formatter
*f
) const;
64 void enqueue_cap_release(inodeno_t ino
, uint64_t cap_id
, ceph_seq_t iseq
,
65 ceph_seq_t mseq
, epoch_t osd_barrier
);