模块用于公开posix_fallocate(3)、posix_fadvise(3)和fallocate(2)
项目描述
fallocate公开了fallocate(2)、posix_fallocate(3)和posix_fadvise(3)的接口。
在Mac OS X上,fallocate()方法将使用apple等价的fallocate(2)。注意,这可能与实际情况不完全相同。
在围绕fallocate(2)调用的包装函数中使用时,传递给函数的参数与C调用略有不同。
此模块的参数如下
fallocate(fd, offset, length, mode=0)
而在C中,函数看起来像
fallocate(fd, mode, offset, length)
这样做的主要原因是因为模式参数通常不太使用,因此将其作为关键字参数默认值比每次都指定0要容易得多。
用法
功能:fallocate(fd, offset, len, [mode=0])
在文件对象或文件描述符上调用fallocate()。这允许调用者直接操作由fd引用的文件分配的磁盘空间,从偏移量开始的字节范围,持续len字节。
模式仅在Linux中可用。
除非指定以下可能的标志之一,否则应始终为0
FALLOC_FL_KEEP_SIZE - do not grow file, default is extend size FALLOC_FL_PUNCH_HOLE - punches a hole in file, de-allocates range FALLOC_FL_COLLAPSE_SIZE - remove a range of a file without leaving a hole
注意:FALLOC_FL_COLLAPSE_SIZE是在Linux内核v3.15中引入的,并且在某些文件系统(例如ext4、xfs等)中可用。为了获取对它的访问权限,您必须在同时支持它的内核和文件系统上构建和运行。
示例
# preallocate using fallocate a 1kb file with open("/tmp/test.file", "w+b") as f: fallocate(f, 0, 1024)
项目细节
关闭
fallocate-1.6.4.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 85ebeb2786761fbe80d88c52590a610bd3425fc89e188c208a3f261a5bd6acb3 |
|
MD5 | 02c09a188399447c5b89916e17d2fc87 |
|
BLAKE2b-256 | 50a1bf19d1bde4833d3dce97ed8f78c20035b1b83c4d79f033a7f00d2ba1fad1 |