1、client读取文件源码分析
读取文件,关键的三个结构体信息:
struct RemotingIOInfo
{
App* app;
const char* fileHandleID;
struct StripePattern* pattern;
PathInfo* pathInfo;
unsigned accessFlags; // OPENFILE_ACCESS_... flags
// pointers to fhgfsInode->fileHandles[handleType]...
bool* needsAppendLockCleanup; // (note: can be NULL in some cases, implies "false")
AtomicInt* maxUsedTargetIndex;
BitStore* firstWriteDone;
unsigned userID; // only used in storage server write message
unsigned groupID; // only used in storage server write message
#ifdef BEEGFS_NVFS
bool nvfs;
#endif
};
struct PathInfo
{
union
{
const unsigned flags; // additional flags (e.g