-
Notifications
You must be signed in to change notification settings - Fork 46
Expand file tree
/
Copy pathconfig.h
More file actions
91 lines (61 loc) · 2.53 KB
/
Copy pathconfig.h
File metadata and controls
91 lines (61 loc) · 2.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#pragma once
#include "config.h"
#include <cloud/filestore/config/filesystem.pb.h>
#include <cloud/filestore/config/vfs.pb.h>
#include <util/datetime/base.h>
#include <util/generic/string.h>
namespace NCloud::NFileStore::NFuse {
////////////////////////////////////////////////////////////////////////////////
struct TFileSystemConfig
{
private:
const NProto::TFileSystemConfig ProtoConfig;
public:
TFileSystemConfig(const NProto::TFileSystemConfig& protoConfig)
: ProtoConfig(protoConfig)
{}
TString GetFileSystemId() const;
ui32 GetBlockSize() const;
TDuration GetLockRetryTimeout() const;
TDuration GetEntryTimeout() const;
TDuration GetRegularFileEntryTimeout() const;
TDuration GetNegativeEntryTimeout() const;
TDuration GetAttrTimeout() const;
ui32 GetXAttrCacheLimit() const;
TDuration GetXAttrCacheTimeout() const;
bool GetXAttrCacheInvalidateOnCreateEnabled() const;
ui32 GetMaxBufferSize() const;
ui32 GetPreferredBlockSize() const;
bool GetAsyncDestroyHandleEnabled() const;
bool GetAsyncDestroyReadOnlyHandleEnabled() const;
bool GetAsyncCreateHandleEnabled() const;
TDuration GetAsyncHandleOperationIdlePeriod() const;
TDuration GetAsyncHandleOperationDrainPeriod() const;
bool GetDirectIoEnabled() const;
ui32 GetDirectIoAlign() const;
bool GetGuestWriteBackCacheEnabled() const;
bool GetZeroCopyEnabled() const;
bool GetGuestPageCacheDisabled() const;
bool GetExtendedAttributesDisabled() const;
bool GetServerWriteBackCacheEnabled() const;
bool GetServerWriteBackCacheFlushWritesInParallelEnabled() const;
bool GetDirectoryHandlesStorageEnabled() const;
ui64 GetDirectoryHandlesTableSize() const;
ui64 GetDirectoryHandlesPersistentHandleMaxSize() const;
bool GetGuestKeepCacheAllowed() const;
ui32 GetMaxBackground() const;
ui32 GetMaxFuseLoopThreads() const;
bool GetZeroCopyWriteEnabled() const;
bool GetZeroCopyReadEnabled() const;
bool GetFSyncQueueDisabled() const;
bool GetGuestHandleKillPrivV2Enabled() const;
bool GetGuestPosixAclEnabled() const;
bool GetAvailabilityTrackingEnabled() const;
TDuration GetAvailabilityTrackingInterval() const;
void Dump(IOutputStream& out) const;
void DumpHtml(IOutputStream& out) const;
};
bool IsAsyncDestroyEnabled(const TFileSystemConfig& config);
bool IsAsyncCreateEnabled(const TFileSystemConfig& config);
bool ShouldCreateHandleOpsQueue(const TFileSystemConfig& config);
} // namespace NCloud::NFileStore::NFuse