Skip to content

Commit 886c7e6

Browse files
committed
mds/Server: forward-declare types from CInode.h
Signed-off-by: Max Kellermann <[email protected]>
1 parent ab04bdb commit 886c7e6

File tree

1 file changed

+22
-14
lines changed

1 file changed

+22
-14
lines changed

src/mds/Server.h

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@
2525
#include "include/Context.h" // for C_GatherBase
2626
#include "include/mempool.h"
2727

28-
#include "CInode.h"
29-
3028
#ifdef WITH_CRIMSON
3129
#include "crimson/common/perf_counters_collection.h"
3230
#else
@@ -43,6 +41,9 @@
4341

4442
using namespace std::literals::string_view_literals;
4543

44+
class CDentry;
45+
class CDir;
46+
class CInode;
4647
class OSDMap;
4748
class LogEvent;
4849
class EMetaBlob;
@@ -68,6 +69,13 @@ class MLock;
6869
class MMDSPeerRequest;
6970
class filepath;
7071

72+
template<template<typename> class Allocator> struct inode_t;
73+
using mempool_inode = inode_t<mempool::mds_co::pool_allocator>;
74+
using inode_const_ptr = std::shared_ptr<const mempool_inode>;
75+
using mempool_xattr_map = xattr_map<mempool::mds_co::pool_allocator>; // FIXME bufferptr not in mempool
76+
using xattr_map_ptr = std::shared_ptr<mempool_xattr_map>;
77+
using xattr_map_const_ptr = std::shared_ptr<const mempool_xattr_map>;
78+
7179
enum {
7280
l_mdss_first = 1000,
7381
l_mdss_dispatch_client_request,
@@ -430,15 +438,15 @@ class Server {
430438
// reject xattr request (set or remove), zero to proceed. handlers
431439
// may parse xattr value for verification if needed and have an
432440
// option to store custom data in XattrOp::xinfo.
433-
int (Server::*validate)(CInode *cur, const InodeStoreBase::xattr_map_const_ptr xattrs,
441+
int (Server::*validate)(CInode *cur, const xattr_map_const_ptr xattrs,
434442
XattrOp *xattr_op);
435443

436444
// set xattr for an inode in xattr_map
437-
void (Server::*setxattr)(CInode *cur, InodeStoreBase::xattr_map_ptr xattrs,
445+
void (Server::*setxattr)(CInode *cur, xattr_map_ptr xattrs,
438446
const XattrOp &xattr_op);
439447

440448
// remove xattr for an inode from xattr_map
441-
void (Server::*removexattr)(CInode *cur, InodeStoreBase::xattr_map_ptr xattrs,
449+
void (Server::*removexattr)(CInode *cur, xattr_map_ptr xattrs,
442450
const XattrOp &xattr_op);
443451
};
444452

@@ -448,28 +456,28 @@ class Server {
448456
const XattrHandler* get_xattr_or_default_handler(std::string_view xattr_name);
449457

450458
// generic variant to set/remove xattr in/from xattr_map
451-
int xattr_validate(CInode *cur, const InodeStoreBase::xattr_map_const_ptr xattrs,
459+
int xattr_validate(CInode *cur, const xattr_map_const_ptr xattrs,
452460
const std::string &xattr_name, int op, int flags);
453-
void xattr_set(InodeStoreBase::xattr_map_ptr xattrs, const std::string &xattr_name,
461+
void xattr_set(xattr_map_ptr xattrs, const std::string &xattr_name,
454462
const bufferlist &xattr_value);
455-
void xattr_rm(InodeStoreBase::xattr_map_ptr xattrs, const std::string &xattr_name);
463+
void xattr_rm(xattr_map_ptr xattrs, const std::string &xattr_name);
456464

457465
// default xattr handlers
458-
int default_xattr_validate(CInode *cur, const InodeStoreBase::xattr_map_const_ptr xattrs,
466+
int default_xattr_validate(CInode *cur, const xattr_map_const_ptr xattrs,
459467
XattrOp *xattr_op);
460-
void default_setxattr_handler(CInode *cur, InodeStoreBase::xattr_map_ptr xattrs,
468+
void default_setxattr_handler(CInode *cur, xattr_map_ptr xattrs,
461469
const XattrOp &xattr_op);
462-
void default_removexattr_handler(CInode *cur, InodeStoreBase::xattr_map_ptr xattrs,
470+
void default_removexattr_handler(CInode *cur, xattr_map_ptr xattrs,
463471
const XattrOp &xattr_op);
464472

465473
// mirror info xattr handler
466474
int parse_mirror_info_xattr(const std::string &name, const std::string &value,
467475
std::string &cluster_id, std::string &fs_id);
468-
int mirror_info_xattr_validate(CInode *cur, const InodeStoreBase::xattr_map_const_ptr xattrs,
476+
int mirror_info_xattr_validate(CInode *cur, const xattr_map_const_ptr xattrs,
469477
XattrOp *xattr_op);
470-
void mirror_info_setxattr_handler(CInode *cur, InodeStoreBase::xattr_map_ptr xattrs,
478+
void mirror_info_setxattr_handler(CInode *cur, xattr_map_ptr xattrs,
471479
const XattrOp &xattr_op);
472-
void mirror_info_removexattr_handler(CInode *cur, InodeStoreBase::xattr_map_ptr xattrs,
480+
void mirror_info_removexattr_handler(CInode *cur, xattr_map_ptr xattrs,
473481
const XattrOp &xattr_op);
474482

475483
static bool is_ceph_vxattr(std::string_view xattr_name) {

0 commit comments

Comments
 (0)