RE: [PATCH v2 0/10] fs: Introduce FALLOC_FL_INSERT_RANGE for fallocate
From: Namjae Jeon <hidden>
Date: 2014-06-04 04:57:37
Also in:
linux-fsdevel, linux-xfs, lkml
On Mon, Jun 02, 2014 at 03:06:13PM +0200, Lukáš Czerner wrote:quoted
quoted
quoted
So what will happen when there is not enough space when "inserting a range" ? And how should user proceed from there ?If insert range fails with an ENOSPC error, user could use collapse range on the same range to remove the hole. And after freeing more space, he can again try inserting range. Ofcourse, this type of guidance should be properly documented in manpage. When updating fallocate(2) manpage, I will keep in mind to describe ENOSPC handling.Why collapse ? The hole is already there right ? Why not just use fallocate to allocate the space for the hole. And that's my point actually. Why not do it this way in the first place, because this is really counterintuitive.It's worse than that. It's possible that the reason why you got the ENOSPC warning was because the operation to move the extents down required allocating a block, and it was *that* block allocation which failed. So it's not deterministic whether or not the file's extent mappings were modified after a ENOSPC error, and so it's not clear whether or not a collapse_range function will undo the range that had been inserted --- or whether it ends up deleting existing data blocks. In generally, you really want system calls to have all-or-nothing effects, where if the system call returns an error, the state of the file has not been changed. And for that reason, I agree with Lukáš that it is really a good idea to decouple moving the blocks down, and allocating space --- and to make sure that if there is any failure while inserting the range, the state of the file is not modified at all.
Okay, I will remove allocating space part in insert range patch. But renaming flags as FALLOC_FL_INSERT_HOLE is needed to concent with XFS people. Because Dave prefered to call it FALLOC_FL_INSERT_RANGE so that it looks like it is related to collapse range. Hi Dave. Do you have any objection about renaming as insert hole ? Thanks for opinions!
Cheers, - Ted
_______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs