curvefs client删除文件和目录功能设计
当前删除接口代码如下:© XXX Page 3 of 15 CURVEFS_ERROR FuseClient::RemoveNode(fuse_req_t req, fuse_ino_t parent, const char *name) { Dentry dentry; CURVEFS_ERROR ret = dentryManager_->GetDentry(parent t, name, &dentry); if (ret != CURVEFS_ERROR::OK) { LOG(ERROR) << "dentryManager_ GetDentry fail, ret = " << ret << ", parent = " << parent << ", name = " ret; } ret = dentryManager_->DeleteDentry(parent, name); if (ret != CURVEFS_ERROR::OK) { LOG(ERROR) << "dentryManager_ DeleteDentry fail, ret = " << ret << ", parent0 码力 | 15 页 | 325.42 KB | 5 月前3Open Flags 调研
filesystem should thus either ignore the O_APPEND flag (and let the kernel handle it), or return an error (indicating that reliably O_APPEND is not available). Filesystem may store an arbitrary file handle fuse_file_info structure infor more details. If this request is answered with an error code of ENOSYS and FUSE_CAP_NO_OPEN_SUPPORT is set in fuse_conn_info.capable, this is treated as (fcntl_locks && !fcntl_locks->empty()) || (flock_locks && !flock_locks->empty()); } // IO error encountered by any writeback on this Inode while // this Fh existed (i.e. an fsync on another Fh 0 码力 | 23 页 | 524.47 KB | 5 月前3Curve支持S3 数据缓存方案
{return blockSize_;} uint64_t GetChunkSize() {return chunkSize_;} CURVEFS_ERROR AllocS3ChunkId(uint32_t fsId); CURVEFS_ERROR GetInode(uint64_t inodeId, Inode *out); private: S3Client *client_; index); void ReleaseChunkCacheManager(uint64_t index); void ReleaseCache(); CURVEFS_ERROR Flush(); private: uint64_t fsId_; uint64_t inode_; std::map chunkCacheMap_; // first *dataCacheType type); DataCachePtr FindWriteableDataCache(uint32_t pos, uint32_t len); CURVEFS_ERROR Flush(); private: uint64_t index_; std::map dataWCacheMap_; // first is pos in chunk0 码力 | 9 页 | 179.72 KB | 5 月前3Curve元数据节点高可用
will continue to be blocked for other keys to be deleted, unless server // returns a non-recoverable error (e.g. ErrCompacted). // Otherwise, until the context is not cancelled or timed-out, Campaign will *Election) Campaign(ctx context.Context, val string) error // Proclaimleadervalue func (e *Election) Proclaim(ctx context.Context, val string) error // Observe leaderleader,leader // leader func (e <-chan v3.GetResponse // Resignleaderkey-value func (e *Election) Resign(ctx context.Context) (err error) // leaderkeyleader func (e *Election) Key() string // leaderkeyrevision func (e *Election)0 码力 | 30 页 | 2.42 MB | 5 月前3Curve文件系统元数据Proto(接口定义)
mds; option cc_generic_services = true; enum FSStatusCode { OK = 0; // UNKNOWN_ERROR = 1; // NOSPACE = 2; // } // fs interface message GetFsInfoRequest { optional uint32 option cc_generic_services = true; enum MetaStatusCode { OK = 0; // UNKNOWN_ERROR = 1; // NOSPACE = 2; // } // dentry interface© XXX Page 7 of 15 message GetDentryRequest option cc_generic_services = true; enum SpaceStatusCode { OK = 0; // UNKNOWN_ERROR = 1; // NOSPACE = 2; // } // space interface message Extent {© XXX Page 13 of 150 码力 | 15 页 | 80.33 KB | 5 月前3BRPC与UCX集成指南
●只有一个全局对象,使用下列函数获取 ●UCP_Context* get_or_create_ucp_ctx() ●指定了FEATURE_AM, 多线程共享39 命令行参数控制context的属性 ●--brpc_ucp_error_mode缺省是none,是的本地通讯使用shared memory成为可能 ●--brpc_set_cpu_latency 非-1, 设置intel cpu节电模式,可能减少硬 件延迟。 – Socket Connect59 修改Socket Connect60 修改Socket::DoRead ●UcpWorker在接收到ucp_ep上的断开事件时,设置UcpConnection处于Error 状态,再调 用UcpConnection::DataReady,进而调用Socket::StartInputEvent ●UcpConnection的Read函数发现了错误状态,于是返回读错误,进而导致Brpc关闭0 码力 | 66 页 | 16.29 MB | 5 月前3Raft在Curve存储中的工程实践
void on_leader_start(int64_t term); void on_leader_stop(const butil::Status& status); void on_error(const Error& e); braft 接口 什么是braftCurve介绍 01 02 raft和braft 03 raft在Curve中的应用 05 Q&A 04 Curve对0 码力 | 29 页 | 2.20 MB | 5 月前3CurveFs 用户权限系统调研
Page 33 of 33 unique: 69, error: -38 (Function not implemented), outsize: 16 unique: 70, opcode: SETXATTR (21), nodeid: 2, insize: 116, pid: 2081159 unique: 70, error: -38 (Function not implemented)0 码力 | 33 页 | 732.13 KB | 5 月前3Curve文件系统空间分配方案
%80%E6%B1%82 syntax="proto2"; option cc_generic_services = true; enum StatusCode { UNKNOWN_ERROR = 0; // OK = 1; // NOSPACE = 2; // } message Extent { required0 码力 | 11 页 | 159.17 KB | 5 月前3Curve核心组件之mds – 网易数帆
印一条warning日志。 • Offline :chunk server超过offline的时间没有收到心 跳(默认30min), chunkserver状态改为offline, 打印一条error日志。调度模块感知到offline状态, 触发chunk server的recover修复。 心跳正常 心跳正常 超过miss时间 未超过offline时间 UNSTABLE ONLINE0 码力 | 23 页 | 1.74 MB | 5 月前3
共 11 条
- 1
- 2