]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds/Locker: forward-declare types from CInode.h
authorMax Kellermann <max.kellermann@ionos.com>
Wed, 30 Oct 2024 07:27:51 +0000 (08:27 +0100)
committerMax Kellermann <max.kellermann@ionos.com>
Thu, 17 Apr 2025 16:00:16 +0000 (18:00 +0200)
Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
src/mds/Locker.h

index 1ee37af8c6b83f35cb62c1eaaa72d4e2c527081a..643dc3354434b0ae5ab160d7eb577660c544ddf9 100644 (file)
 #include <string_view>
 
 #include "common/ref.h"
+#include "include/mempool.h"
 #include "include/types.h"
 
-#include "CInode.h"
 #include "MDSContext.h"
+#include "mdstypes.h" // for xattr_map
 #include "Mutation.h"
 #include "SimpleLock.h"
 
 struct LeaseStat;
 struct SnapRealm;
 
+class CInode;
 class MClientCaps;
 class MClientCapRelease;
 class MClientLease;
@@ -45,6 +47,11 @@ class SimpleLock;
 class ScatterLock;
 class LocalLockC;
 
+template<template<typename> class Allocator> struct inode_t;
+using mempool_inode = inode_t<mempool::mds_co::pool_allocator>;
+using inode_const_ptr = std::shared_ptr<const mempool_inode>;
+using mempool_xattr_map = xattr_map<mempool::mds_co::pool_allocator>; // FIXME bufferptr not in mempool
+
 class Locker {
 public:
   Locker(MDSRank *m, MDCache *c);
@@ -229,7 +236,7 @@ protected:
   bool _need_flush_mdlog(CInode *in, int wanted_caps, bool lock_state_any=false);
   void adjust_cap_wanted(Capability *cap, int wanted, int issue_seq);
   void handle_client_caps(const cref_t<MClientCaps> &m);
-  void _update_cap_fields(CInode *in, int dirty, const cref_t<MClientCaps> &m, CInode::mempool_inode *pi);
+  void _update_cap_fields(CInode *in, int dirty, const cref_t<MClientCaps> &m, mempool_inode *pi);
   void _do_snap_update(CInode *in, snapid_t snap, int dirty, snapid_t follows, client_t client, const cref_t<MClientCaps> &m, const ref_t<MClientCaps> &ack);
   void _do_null_snapflush(CInode *head_in, client_t client, snapid_t last=CEPH_NOSNAP);
   bool _do_cap_update(CInode *in, Capability *cap, int dirty, snapid_t follows, const cref_t<MClientCaps> &m,
@@ -274,10 +281,10 @@ private:
 
   void handle_quiesce_failure(const MDRequestRef& mdr, std::string_view& marker);
 
-  uint64_t calc_new_max_size(const CInode::inode_const_ptr& pi, uint64_t size);
-  __u32 get_xattr_total_length(CInode::mempool_xattr_map &xattr);
-  void decode_new_xattrs(CInode::mempool_inode *inode,
-                        CInode::mempool_xattr_map *px,
+  uint64_t calc_new_max_size(const inode_const_ptr& pi, uint64_t size);
+  __u32 get_xattr_total_length(mempool_xattr_map &xattr);
+  void decode_new_xattrs(mempool_inode *inode,
+                        mempool_xattr_map *px,
                         const cref_t<MClientCaps> &m);
 
   MDSRank *mds;