Function report |
Source Code:fs\open.c |
Create Date:2022-07-28 20:00:53 |
Last Modify:2020-03-18 10:16:03 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:vfs_fallocate
Proto:int vfs_fallocate(struct file *file, int mode, loff_t offset, loff_t len)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
struct file * | file | |
int | mode | |
loff_t | offset | |
loff_t | len |
231 | inode = file_inode(file) |
238 | If mode & ~FALLOC_FL_SUPPORTED_MASK Then Return -EOPNOTSUPP |
247 | If mode & de-allocates range && Not (mode & default is extend size ) Then Return -EOPNOTSUPP |
266 | If Not (f_mode & le is open for writing ) Then Return -EBADF |
272 | If mode & ~default is extend size && IS_APPEND(inode) Then Return -EPERM |
275 | If IS_IMMUTABLE(inode) Then Return -EPERM |
281 | If IS_SWAPFILE(inode) Then Return -ETXTBSY |
288 | ret = security_file_permission(file, MAY_WRITE) |
305 | If Not fallocate Then Return -EOPNOTSUPP |
308 | file_start_write(file) |
318 | If ret == 0 Then snotify_modify - file was modified |
321 | file_end_write(file) |
322 | Return ret |
Name | Describe |
---|---|
ksys_fallocate | |
ioctl_preallocate | This provides compatibility with legacy XFS pre-allocation ioctls* which predate the fallocate syscall.* Only the l_start, l_len and l_whence fields of the 'struct space_resv'* are used here, rest are ignored. |
compat_ioctl_preallocate | just account for different alignment |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |