[Devel] [PATCH VZ10] fs: adapt to new checks of fallocate mode

Denis V. Lunev den at virtuozzo.com
Sun Sep 6 16:10:41 MSK 2026


On 9/6/26 02:20, Alexey Kuznetsov wrote:
> This small lapse halved performance of vstorage
>
> Affects: #VSTOR-142784
>
> Signed-off-by: Alexey Kuznetsov <kuznet at virtuozzo.com>
> ---
>  fs/ext4/extents.c | 3 ++-
>  fs/open.c         | 1 +
>  2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
> index b771cb5..38f5077 100644
> --- a/fs/ext4/extents.c
> +++ b/fs/ext4/extents.c
> @@ -4769,7 +4769,8 @@ long ext4_fallocate(struct file *file, int mode, loff_t offset, loff_t len)
>  	if (ret)
>  		goto out_inode_lock;
>  
> -	if ((mode & FALLOC_FL_MODE_MASK) == FALLOC_FL_ALLOCATE_RANGE) {
> +	if ((mode & FALLOC_FL_MODE_MASK) == FALLOC_FL_ALLOCATE_RANGE ||
> +	    (mode & FALLOC_FL_MODE_MASK) == FALLOC_FL_PREALLOCATE) {
>  		ret = ext4_do_fallocate(file, offset, len, mode);
>  		goto out_inode_lock;
>  	}
> diff --git a/fs/open.c b/fs/open.c
> index 91f4785..fc72ad0 100644
> --- a/fs/open.c
> +++ b/fs/open.c
> @@ -267,6 +267,7 @@ int vfs_fallocate(struct file *file, int mode, loff_t offset, loff_t len)
>  	case FALLOC_FL_ALLOCATE_RANGE:
>  	case FALLOC_FL_UNSHARE_RANGE:
>  	case FALLOC_FL_ZERO_RANGE:
> +	case FALLOC_FL_PREALLOCATE:
>  		break;
>  	case FALLOC_FL_PUNCH_HOLE:
>  		if (!(mode & FALLOC_FL_KEEP_SIZE))
1. Should this go to mainstream?
2. Can you add some more details pls?

Den


More information about the Devel mailing list