Open Flags 调研https://www.cnblogs.com/BinBinStory/p/7400993.html https://juejin.cn/post/6844903923048792078 https://www.gnu.org/software/libc/manual/html_node/File-Status-Flags.html https://android.googlesource.com/platf 86_64-linux-glibc2.7-4.6/+/refs/heads/jb-dev/sysroot/usr/include/asm-generic/fcntl.h https://www.gnu.org/software/libc/manual/html_node/Permission-Bits.html https://xinqiu.gitbooks.io/linux-insides-0 码力 | 23 页 | 524.47 KB | 6 月前3
CurveFs 用户权限系统调研未实现任何权限检查的文件系统通常 应在内部添加此选项,可与参数‘allow_other’一起达到共享文件访问控制。© XXX Page 15 of 33 # LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.1 ./bazel-bin/curvefs/src/client/fuse_client -f -o volume=/fs -o allow_other -o default_permissions0 码力 | 33 页 | 732.13 KB | 6 月前3
Curve文件系统元数据Proto(接口定义)Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache apache.org/licenses/LICENSE-2.0© XXX Page 3 of 15 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ syntax="proto2"; package curvefs.mds; option cc_generic_services0 码力 | 15 页 | 80.33 KB | 6 月前3
Curve支持S3 数据缓存方案TYPE_S3 only, first is chunk index optional uint64 version = 15; } class ClientS3Adaptor { public: ClientS3Adaptor () {} void Init(const S3ClientAdaptorOption option, S3Client *client, ChunkCacheManagerPtr = std::shared_ptr; using DataCachePtr = std::shared_ptr; class FsCacheManager { public: FsCacheManager() {} FileCacheManagerPtr FindFileCacheManager(uint32_t fsId, uint64_t inodeId); lruReadDataCacheList; uint64_t lruMaxSize; std::atomic dataCacheNum_; }; class FileCacheManager { public: FileCacheManager(uint32_t fsid, uint64_t inode) : fsId_(fsid), inode_(inode) {} ChunkCacheManagerPtr0 码力 | 9 页 | 179.72 KB | 6 月前3
CurveFS S3本地缓存盘方案值了,则进行文件的清理工作。 另外,异常管理模块处理客户端挂掉后的文件重新上传问题。 主要数据结构定义 class DiskCacheManagerImpl : public DiskCacheManager{ public: DiskCacheManagerImpl(); virtual ~DiskCacheManagerImpl() { TrimStop(); cachedObjName; // uint64_t maxCachedObj; // ? bthread::Mutex mtx_; }; class DiskCacheWrite { public: DiskCacheWrite() {} virtual ~DiskCacheWrite() { AsyncUploadStop(); } int sleeper_; std::string CacheWriteDir_; std::string CacheDir_; }; class DiskCacheRead { public:© XXX Page 7 of 9 DiskCacheRead() {} virtual ~DiskCacheRead() {} int ReadDiskFile(std::string0 码力 | 9 页 | 150.46 KB | 6 月前3
Curve文件系统元数据持久化方案设计退出时触发持久化,或定时持久化)© XXX Page 8 of 12 class KVStore : public braft::StateMachine { public: enum class OP_TYPE { OP_TYPE_SET, OP_TYPE_DEL, }; public: bool Init(); int Set(const std::string& std::string* value); int Delete(const std::string& key); int Save(); // int Load(); // public: // on_apply // on_snapshot_save // on_snapshot_load // ... private: std::string0 码力 | 12 页 | 384.47 KB | 6 月前3
Curve文件系统元数据管理uint64_t volumeOffset; // uint64_t length; // bool used; // // TODO: }; class Inode { public: Inode(); private: InodeId inode; uint64_t fsId; // uint32_t btime; /* birth / inode和dentry的内存管理结构 class InodeKey { uint64_t fsId; InodeId inodeId; }; class InodeManager { public: void Insert(const Inode &inode); bool Get(const InodeKey &key, Inode *inode); void Delete(const name; }; class DentryParentKey { uint64_t fsId; InodeId parentId; }; class DentryManager { public: void Insert(const Dentry &dentry); bool Get(const DentryKey &key, Dentry *dentry); bool List(const0 码力 | 24 页 | 204.67 KB | 6 月前3
CurveFS对接S3方案设计common.S3Info s3Info = 11; } client端数据结构© XXX Page 5 of 11 // clients3 class S3ClientAdaptor { public: S3ClientAdaptor() {} void Init(const S3ClientAdaptorOption option, S3Client *client); S3Client* client_; uint64_t blockSize_; uint64_t chunkSize_; }; //s3 class S3Client { public: S3Client() {} virtual ~S3Client() {} virtual void Init(curve::common::S3AdapterOption AllocateS3Chunk(AllocateS3ChunkRequest) returns (AllocateS3ChunkResponse); } class S3Allocator { public: explicit S3Allocator(uint64_t startChunkId) : chunkId_(startChunkId) {}© XXX Page 9 of 110 码力 | 11 页 | 145.77 KB | 6 月前3
Curve Detail Introduction for CNCFfor CurveBS • CurveBS clusters and related monitoring services can be configured using CRDs in public cloud and on- premises environments • Use the Curve operator to install, upgrade, backup, and for CurveFS • CurveFS clusters and related monitoring services can be configured using CRDs in public cloud and on- premises environments • Use the Curve operator to install, upgrade, backup, and0 码力 | 23 页 | 6.53 MB | 6 月前3
Curve Cloud Nativebackup and recovery • MDS / ChunkServer should respect failure domains of Kubernetes • Support for public cloud environments • Dashboard-driven configuration after minimal Curve installFeature list for0 码力 | 9 页 | 2.85 MB | 6 月前3
共 13 条
- 1
- 2













