beegfs/meta/source/storage/MetadataEx.h
2025-08-10 01:34:16 +02:00

25 lines
1.2 KiB
C++

#pragma once
#include <common/storage/Metadata.h>
#include <common/Common.h>
#define META_UPDATE_EXT_STR ".new-fhgfs"
#define META_XATTR_NAME "user.fhgfs" // attribute name for dir-entries, file and dir metadata
#define RST_XATTR_NAME "user.beermt" // attribute name for storing remote storage target info
// !!!IMPORTANT NOTICE TO MAINTAINER!!!
// Any new extended attribute (NON user-defined) that will be added
// in the future MUST be included in the list below.
//
// FAILURE TO DO SO WILL CAUSE:
// Inconsistencies between primary and secondary meta mirrors due to incomplete buddy
// resyncing, as the missing attribute's data will not be resynced to secondary meta.
const std::array<std::string, 2> METADATA_XATTR_NAME_LIST = {META_XATTR_NAME, RST_XATTR_NAME};
// The size must be sufficient to hold the entire dentry data. In order to simplify various
// operations, meta data or stored into a buffer and for example for a remote directory rename
// operation, this buffer is then transferred over net to the other meta node there used to fill
// the remote dentry, without any knowledge of the actual content.
#define META_SERBUF_SIZE (1024*8)