I hate to comment at this late stage, especially on something that I
think is really a great idea (I did similar more complex, sys_blkalloc
with even more arguments time ago --- I'm glad given how complex this
thread has become I didn't post them now).
In the past there wasn't that much incentive to get this functionality
exposed because of various other issues (mmap + page dirty didn't
flush reliably) which are close to being resolve, so I think the
timing of this is really great....
On Wed, Mar 21, 2007 at 05:34:25PM +0530, Amit K. Arora wrote:
As suggested by you and Russel, I have made this change to the
patch. Here is how it looks like now. Please let me know if anyone
has concerns about passing arguments this way (breaking each
"loff_t" into two "u32"s).
I really dislike breaking 64-bit args up unless it's necessary. I
guess it doesn't really hurt, but it feels needlessly ugly.
+ .long sys_fallocate /* 320 */
quoted hunk ↗ jump to hunk
+/*
+ * fallocate() modes
+ */
+#define FA_ALLOCATE 0x1
+#define FA_DEALLOCATE 0x2
+
given there are the only TWO modes right now, why not leave the
arguments as 64-bit sane and simply have two syscalls, one for each?