VOP_ALLOCATE(9) | FreeBSD Kernel Developer's Manual | VOP_ALLOCATE(9) |
名称
VOP_ALLOCATE — ファイルに記憶域を割り付ける書式
#include < sys/param.h>#include < sys/vnode.h>
int
VOP_ALLOCATE( struct vnode *vp, off_t *offset, off_t *len);
解説
この呼び出しは、ファイルのオフセットの範囲のために記憶域を割り付けます。それは、 posix_fallocate システムコールを実装するために使用されます。その引数は、次の通りです:
- vp
- ファイルの vnode。
- offset
- ファイルに割り付ける記憶域の範囲の開始。
- len
- ファイルに割り付ける記憶域の範囲の長さ。
offset と len 引数は、返り時にまだ割り付けられる必要のある範囲の部分を反映するために更新されます。部分的な割り付けは、成功した操作と見なされます。ファイルの内容は、変更されません。
ロック
ファイルは、入口で排他的にロックされるべきであり、出口でまだロックされています。戻り値
呼び出しが成功するなら、0 が返され、そうでなければ、適切なエラーコードが返されます。エラー
- [ EFBIG]
- プロセスのファイルサイズの制限または最大のファイルサイズを越えるファイルを書き込む試みが行なわれました。
- [ ENOSPC]
- ファイルシステムが、満杯です。
- [ EPERM]
- 追加のみのフラグが、ファイルに設定されていますが、呼び出し側が、ファイルの現在の終りの前に書き込むことを試みています。
October 3, 2013 | FreeBSD |