[LU-14157] Implement fallocate() support for zfs Lustre Created: 27/Nov/20  Updated: 03/Feb/22

Status: Open
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: New Feature Priority: Major
Reporter: Andreas Dilger Assignee: Arshad Hussain
Resolution: Unresolved Votes: 0
Labels: medium, patch

Issue Links:
Cloners
Clones LU-3606 Implement fallocate() support for ldi... Resolved
Related
is related to LU-15167 fallocate does not increase quota usage Resolved
is related to LU-15519 fallocate does not increase projid qu... Resolved
Rank (Obsolete): 9223372036854775807

 Description   

The sys_fallocate() syscall was introduced to the linux kernel in the 2.6.24 kernel. There is also an ext4_fallocate() method added in this same kernel release. This has been available in vendor kernels since RHEL 5.4.

We need to implement an fallocate() method for llite, and transport this to the OSTs to interface with the underlying OSD's fallocate() code (for ldiskfs, ZFS has no such method).

The FALLOC_FL_PUNCH_HOLE functionality of fallocate() fits very nicely with the OST_PUNCH RPC, since this was anticipated in Lustre from the beginning. The actual space reservation might also use OST_PUNCH or OST_WRITE, or we might consider a new OST_PREALLOC RPC, depending on what fits best.


Generated at Sat Feb 10 03:07:20 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.