From: Max Kellermann Date: Wed, 30 Oct 2024 07:49:04 +0000 (+0100) Subject: mds/Server: forward-declare types from CInode.h X-Git-Tag: v20.3.0~40^2~4 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=886c7e64d238cb20a17283d63159d09c9e318da6;p=ceph.git mds/Server: forward-declare types from CInode.h Signed-off-by: Max Kellermann --- diff --git a/src/mds/Server.h b/src/mds/Server.h index e51e55e288ee7..8e0f69ef624b8 100644 --- a/src/mds/Server.h +++ b/src/mds/Server.h @@ -25,8 +25,6 @@ #include "include/Context.h" // for C_GatherBase #include "include/mempool.h" -#include "CInode.h" - #ifdef WITH_CRIMSON #include "crimson/common/perf_counters_collection.h" #else @@ -43,6 +41,9 @@ using namespace std::literals::string_view_literals; +class CDentry; +class CDir; +class CInode; class OSDMap; class LogEvent; class EMetaBlob; @@ -68,6 +69,13 @@ class MLock; class MMDSPeerRequest; class filepath; +template class Allocator> struct inode_t; +using mempool_inode = inode_t; +using inode_const_ptr = std::shared_ptr; +using mempool_xattr_map = xattr_map; // FIXME bufferptr not in mempool +using xattr_map_ptr = std::shared_ptr; +using xattr_map_const_ptr = std::shared_ptr; + enum { l_mdss_first = 1000, l_mdss_dispatch_client_request, @@ -430,15 +438,15 @@ private: // reject xattr request (set or remove), zero to proceed. handlers // may parse xattr value for verification if needed and have an // option to store custom data in XattrOp::xinfo. - int (Server::*validate)(CInode *cur, const InodeStoreBase::xattr_map_const_ptr xattrs, + int (Server::*validate)(CInode *cur, const xattr_map_const_ptr xattrs, XattrOp *xattr_op); // set xattr for an inode in xattr_map - void (Server::*setxattr)(CInode *cur, InodeStoreBase::xattr_map_ptr xattrs, + void (Server::*setxattr)(CInode *cur, xattr_map_ptr xattrs, const XattrOp &xattr_op); // remove xattr for an inode from xattr_map - void (Server::*removexattr)(CInode *cur, InodeStoreBase::xattr_map_ptr xattrs, + void (Server::*removexattr)(CInode *cur, xattr_map_ptr xattrs, const XattrOp &xattr_op); }; @@ -448,28 +456,28 @@ private: const XattrHandler* get_xattr_or_default_handler(std::string_view xattr_name); // generic variant to set/remove xattr in/from xattr_map - int xattr_validate(CInode *cur, const InodeStoreBase::xattr_map_const_ptr xattrs, + int xattr_validate(CInode *cur, const xattr_map_const_ptr xattrs, const std::string &xattr_name, int op, int flags); - void xattr_set(InodeStoreBase::xattr_map_ptr xattrs, const std::string &xattr_name, + void xattr_set(xattr_map_ptr xattrs, const std::string &xattr_name, const bufferlist &xattr_value); - void xattr_rm(InodeStoreBase::xattr_map_ptr xattrs, const std::string &xattr_name); + void xattr_rm(xattr_map_ptr xattrs, const std::string &xattr_name); // default xattr handlers - int default_xattr_validate(CInode *cur, const InodeStoreBase::xattr_map_const_ptr xattrs, + int default_xattr_validate(CInode *cur, const xattr_map_const_ptr xattrs, XattrOp *xattr_op); - void default_setxattr_handler(CInode *cur, InodeStoreBase::xattr_map_ptr xattrs, + void default_setxattr_handler(CInode *cur, xattr_map_ptr xattrs, const XattrOp &xattr_op); - void default_removexattr_handler(CInode *cur, InodeStoreBase::xattr_map_ptr xattrs, + void default_removexattr_handler(CInode *cur, xattr_map_ptr xattrs, const XattrOp &xattr_op); // mirror info xattr handler int parse_mirror_info_xattr(const std::string &name, const std::string &value, std::string &cluster_id, std::string &fs_id); - int mirror_info_xattr_validate(CInode *cur, const InodeStoreBase::xattr_map_const_ptr xattrs, + int mirror_info_xattr_validate(CInode *cur, const xattr_map_const_ptr xattrs, XattrOp *xattr_op); - void mirror_info_setxattr_handler(CInode *cur, InodeStoreBase::xattr_map_ptr xattrs, + void mirror_info_setxattr_handler(CInode *cur, xattr_map_ptr xattrs, const XattrOp &xattr_op); - void mirror_info_removexattr_handler(CInode *cur, InodeStoreBase::xattr_map_ptr xattrs, + void mirror_info_removexattr_handler(CInode *cur, xattr_map_ptr xattrs, const XattrOp &xattr_op); static bool is_ceph_vxattr(std::string_view xattr_name) {