fallocate

fnint fallocate(int fd, int mode, off_t offset, off_t len)

Open File Description locks

Usually record locks held by a process are released on any close and are not inherited across a fork().

These cmd values will set locks that conflict with process-associated record locks, but are "owned" by the open file description, not the process. This means that they are inherited across fork() like BSD (flock) locks, and they are only released automatically when the last reference to the open file against which they were acquired is put.