积分充值
 首页
前端开发
AngularDartElectronFlutterHTML/CSSJavaScriptReactSvelteTypeScriptVue.js构建工具
后端开发
.NetC#C++C语言DenoffmpegGoIdrisJavaJuliaKotlinLeanMakefilenimNode.jsPascalPHPPythonRISC-VRubyRustSwiftUML其它语言区块链开发测试微服务敏捷开发架构设计汇编语言
数据库
Apache DorisApache HBaseCassandraClickHouseFirebirdGreenplumMongoDBMySQLPieCloudDBPostgreSQLRedisSQLSQLiteTiDBVitess数据库中间件数据库工具数据库设计
系统运维
AndroidDevOpshttpdJenkinsLinuxPrometheusTraefikZabbix存储网络与安全
云计算&大数据
Apache APISIXApache FlinkApache KarafApache KyuubiApache OzonedaprDockerHadoopHarborIstioKubernetesOpenShiftPandasrancherRocketMQServerlessService MeshVirtualBoxVMWare云原生CNCF机器学习边缘计算
综合其他
BlenderGIMPKiCadKritaWeblate产品与服务人工智能亿图数据可视化版本控制笔试面试
文库资料
前端
AngularAnt DesignBabelBootstrapChart.jsCSS3EchartsElectronHighchartsHTML/CSSHTML5JavaScriptJerryScriptJestReactSassTypeScriptVue前端工具小程序
后端
.NETApacheC/C++C#CMakeCrystalDartDenoDjangoDubboErlangFastifyFlaskGinGoGoFrameGuzzleIrisJavaJuliaLispLLVMLuaMatplotlibMicronautnimNode.jsPerlPHPPythonQtRPCRubyRustR语言ScalaShellVlangwasmYewZephirZig算法
移动端
AndroidAPP工具FlutterFramework7HarmonyHippyIoniciOSkotlinNativeObject-CPWAReactSwiftuni-appWeex
数据库
ApacheArangoDBCassandraClickHouseCouchDBCrateDBDB2DocumentDBDorisDragonflyDBEdgeDBetcdFirebirdGaussDBGraphGreenPlumHStreamDBHugeGraphimmudbIndexedDBInfluxDBIoTDBKey-ValueKitDBLevelDBM3DBMatrixOneMilvusMongoDBMySQLNavicatNebulaNewSQLNoSQLOceanBaseOpenTSDBOracleOrientDBPostgreSQLPrestoDBQuestDBRedisRocksDBSequoiaDBServerSkytableSQLSQLiteTiDBTiKVTimescaleDBYugabyteDB关系型数据库数据库数据库ORM数据库中间件数据库工具时序数据库
云计算&大数据
ActiveMQAerakiAgentAlluxioAntreaApacheApache APISIXAPISIXBFEBitBookKeeperChaosChoerodonCiliumCloudStackConsulDaprDataEaseDC/OSDockerDrillDruidElasticJobElasticSearchEnvoyErdaFlinkFluentGrafanaHadoopHarborHelmHudiInLongKafkaKnativeKongKubeCubeKubeEdgeKubeflowKubeOperatorKubernetesKubeSphereKubeVelaKumaKylinLibcloudLinkerdLonghornMeiliSearchMeshNacosNATSOKDOpenOpenEBSOpenKruiseOpenPitrixOpenSearchOpenStackOpenTracingOzonePaddlePaddlePolicyPulsarPyTorchRainbondRancherRediSearchScikit-learnServerlessShardingSphereShenYuSparkStormSupersetXuperChainZadig云原生CNCF人工智能区块链数据挖掘机器学习深度学习算法工程边缘计算
UI&美工&设计
BlenderKritaSketchUI设计
网络&系统&运维
AnsibleApacheAWKCeleryCephCI/CDCurveDevOpsGoCDHAProxyIstioJenkinsJumpServerLinuxMacNginxOpenRestyPrometheusServertraefikTrafficUnixWindowsZabbixZipkin安全防护系统内核网络运维监控
综合其它
文章资讯
 上传文档  发布文章  登录账户
IT文库
  • 综合
  • 文档
  • 文章

无数据

分类

全部系统运维(21)存储(21)

语言

全部中文(简体)(19)JavaScript(1)zh(1)

格式

全部PDF文档 PDF(21)
 
本次搜索耗时 0.017 秒,为您找到相关结果约 21 个.
  • 全部
  • 系统运维
  • 存储
  • 全部
  • 中文(简体)
  • JavaScript
  • zh
  • 全部
  • PDF文档 PDF
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • pdf文档 CurveFS Client 概要设计

    destroy void (*destroy) (void *userdata); 清理init缓存的文件系统信息。 lookup void (*lookup) (fuse_req_t req, fuse_ino_t parent, const char *name); 根据parent inode id和name从denty缓存中找到对应的denty结构; 如果dentry缓存中不存在对应的inode,则从mds根据parent 根据找到的denty结构,获取inodeid,设置 fuse_entry_param,返回给fuse write void (*write) (fuse_req_t req, fuse_ino_t ino, const char *buf, size_t size, off_t off, struct fuse_file_info *fi); 首先根据inode id 从缓存中查找到对应inode结构; 如果ino 构而定;inode修改需要持久化到底层并修改本地cache;© XXX Page 6 of 11 read void (*read) (fuse_req_t req, fuse_ino_t ino, size_t size, off_t off, struct fuse_file_info *fi); 首先根据inode id 从缓存中查找到对应inode结构; 如果inode缓存中不存在对
    0 码力 | 11 页 | 487.92 KB | 6 月前
    3
  • pdf文档 Curve支持S3 数据缓存方案

    *inode, uint64_t offset, uint64_t length, const char* buf bool di); int Read(Inode *inode, uint64_t offset, uint64_t length, char* buf); int ReleaseCache(uint64_t inodeId); FsSync(); uint64_t GetBlockSize() {return blockSize_;} uint64_t GetChunkSize() {return chunkSize_;} CURVEFS_ERROR AllocS3ChunkId(uint32_t fsId); CURVEFS_ERROR GetInode(uint64_t inodeId, Inode *out); *out); private: S3Client *client_; uint64_t blockSize_; uint64_t chunkSize_; std::string metaServerEps_; std::string allocateServerEps_; Thread bgFlushThread_; std::atomic toStop_;
    0 码力 | 9 页 | 179.72 KB | 6 月前
    3
  • pdf文档 Open Flags 调研

    int flags, mode_t mode); int creat(const char *pathname, mode_t mode); int openat(int dirfd, const char *pathname, int flags); int openat(int dirfd, const char *pathname, int flags, mode_t mode); int openat2(int openat2(int dirfd, const char *pathname, const struct open_how *how, size_t size); open系统调用会打开pathname指定的文件(如果不存在,如果携带O_CREAT flag则会创建),返回一个文件描述符fd(该fd是进程打开文件描述符表的index),在后续系统调用(read(2)、write(2)、lseek(2)、fcntl(2) 用于生产临时的无名的普通文件,pathname指定一个目录。 O_TMPFILE libfuse open void(* fuse_lowlevel_ops::open)(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi)© XXX Page 6 of 23 Open a file Open flags are available in
    0 码力 | 23 页 | 524.47 KB | 6 月前
    3
  • pdf文档 Curve文件系统元数据管理

    of 24 typedef uint64_t InodeId; enum FileType { TYPE_DIRECTORY = 0, TYPE_FILE, TYPE_SYM_LINK, }; class VolumeSpaceItem { uint64_t volumeOffset; // uint64_t length; // bool used; InodeId inode; uint64_t fsId; // uint32_t btime; /* birth / create time */ uint32_t ctime; /* status change time */ uint32_t mtime; /* modify time */ uint32_t atime; /* access time */ uint32_t uid; /* user id * uint32_t gid; /* group id */ uint32_t mode; /* file mode */ int nlink; /* ref count for hard link */ int64_t size; FileType
    0 码力 | 24 页 | 204.67 KB | 6 月前
    3
  • pdf文档 CurveFs 用户权限系统调研

    功能协商 init()函数实现© XXX Page 9 of 33 // libfuse lib/fuse_lowlevel.c static void do_init(fuse_req_t req, fuse_ino_t nodeid, const void *inarg) { struct fuse_init_in *arg = (struct fuse_init_in *) inarg; struct version and other filesystem parameters. struct fuse_init_in { uint32_t major; uint32_t minor; uint32_t max_readahead; uint32_t flags; }; // libfuse include/fuse.h /**© XXX Page 10 of 33 * Initialize STICKY # chmod o+t DIR # chmod 1777 DIR nbs@pubbeta1-nostest2:/tmp$ ls -l | grep stmp drwxrwxrwx 2 nbs netease 4096 Jul 29 11:02 stmp nbs@pubbeta1-nostest2:/tmp$ chmod o+t stmp nbs@pub
    0 码力 | 33 页 | 732.13 KB | 6 月前
    3
  • pdf文档 CurveFS S3本地缓存盘方案

    Write(std::string name, const char* buf, uint64_t length); int Read(std::string name, char* buf, uint64_t offset, uint64_t length); int CreateDir(); uint64_t GetCachedSize(); std::string GetCacheDir(); addCache(std::string name); /** * @brief tell whether the cache disk is full or not. */ int64_t CacheDiskUsedRatio(); bool IsDiskCacheFull(); bool IsDiskCacheSafe(); /**© XXX Page 5 of isRunning_; curve::common::InterruptibleSleeper sleeper_; uint32_t trimCheckInterval_; int64_t fullRatio_; int64_t safeRatio_; std::string cacheDir_; std::shared_ptr
    0 码力 | 9 页 | 150.46 KB | 6 月前
    3
  • pdf文档 Curve核心组件之snapshotclone

    快照目标卷名 snapshotName string 快照名 seqNum uint64_t 快照版本号 chunkSize uint32_t chunk的size segmentSize uint64_t segment的size fileLength uint64_t 卷的大小 time uint64_t 快照创建时间 status enum 快照的创建状态 Etcd中的快照元数据:快照的元数据和数据组织 ChunkFile。CHUNKSERVER端快照实现-SNAPFILE 字段 类型 说明 version uint8_t 文件格式协议 版本号 demaged bool 损坏标记 sn uint64_t 快照版本号 bits uint32_t 位图的位数 bitmap char[] 位图 crc uint32_t 上述字段的crc 校验码 padding / 填0,以补足 4KBCHUNKSERVER端快照实现-写时复制原理 version uint8_t 文件格式协议版本号 sn uint64_t chunk文件的版本号 correntSn uint64_t chunk的修正版本号 locationSi ze size_t 可缺省,当前为CloneChunk时表示 location占用的字节数 location char[] 可缺省,当前为CloneChunk时表示 克隆源字段 bits uint32_t 可缺省,当前为CloneChunk时表示
    0 码力 | 23 页 | 1.32 MB | 6 月前
    3
  • pdf文档 CurveFS对接S3方案设计

    int write(Inode *inode, uint64_t offset, uint64_t length, const char* buf); int read(Inode *inode, uint64_t offset, uint64_t length, char* buf); private: S3Client* S3Client* client_; uint64_t blockSize_; uint64_t chunkSize_; }; //s3 class S3Client { public: S3Client() {} virtual ~S3Client() {} virtual void Init(curve::common::S3AdapterOption char* buf, uint64_t length) = 0; virtual int Append(std::string name, const char* buf, uint64_t length) = 0; virtual int Download(std::string name, char* buf, uint64_t offset, uint64_t length) = 0;
    0 码力 | 11 页 | 145.77 KB | 6 月前
    3
  • pdf文档 PFS SPDK: Storage Performance Development Kit

    ●增加pfs_pwritev和pfs_preadv接口 ●ssize_t pfs_preadv(int fd, const struct iovec *iov, int iovcnt, off_t offset); ●ssize_t pfs_pwritev(int fd, const struct iovec *iov, int iovcnt, off_t offset); ●IO vector的接口主要 PFS+SPDK 的DMA支持 ●ssize_t pfs_writev_dma(int fd, const struct iovec *iov, int iovcnt, off_t offset) ●ssize_t pfs_preadv_dma(int fd, const struct iovec *iov, int iovcnt, off_t offset); ●直接DMA读写,要求的内存必须是DPDK的hugetlb内存 page2+4096), [page3, page3+512)10/17/22 14 IOPortal实现读对齐支持 ●ssize_t IOPortal::pappend_from_dev_descriptor(int fd, off_t offset, size_t max_count) ●这个函数的实现是按PRP的规定来做的 ●IOPortal就是IOBuf,是BRPC存放数据的类
    0 码力 | 23 页 | 4.21 MB | 6 月前
    3
  • pdf文档 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 number * @param nlookup the number of lookups to forget */ void (*forget) (fuse_req_t req, fuse_ino_t ino, uint64_t nlookup); /** * Remove a file * * If the file's inode's lookup count is non-zero inode number of the parent directory * @param name to remove */ void (*unlink) (fuse_req_t req, fuse_ino_t parent, const char *name); /** * Remove a directory * * If the directory's inode's lookup
    0 码力 | 15 页 | 325.42 KB | 6 月前
    3
共 21 条
  • 1
  • 2
  • 3
前往
页
相关搜索词
CurveFSClient概要设计Curve支持S3数据缓存方案OpenFlags调研文件系统文件系统管理数据管理CurveFs用户权限本地核心组件snapshotclone对接方案设计PFSSPDKStoragePerformanceDevelopmentKitcurvefsclient删除目录功能功能设计
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩