Re: [PATCH 4/7][TAKE5] support new modes in fallocate

Christoph Hellwig
2007-07-03T10:49:59Z

On Tue, Jul 03, 2007 at 03:38:48PM +0530, Amit K. Arora wrote:
> > FA_FL_DEALLOC 0x01 /* deallocate unwritten extent (default allocate) */
> > FA_FL_KEEP_SIZE 0x02 /* keep size for EOF {pre,de}alloc (default change size) */
> > FA_FL_DEL_DATA 0x04 /* delete existing data in alloc range (default keep) */
>
> We now have two sets of flags -
> 1) the above three with which I think no one has any issues with, and

Yes, I do. FA_FL_DEL_DATA is plain stupid, a preallocation call should
never delete data. FA_FL_DEALLOC should probably be a separate syscall
because it's very different functionality.

While we're at it I also dislike the FA_ prefix becuase it doesn't say
anything and is far too generic. FALLOC_ is much better.

> > FA_FL_ERR_FREE 0x08 /* free preallocation on error (default keep prealloc) */

NACK on this one. We should have just one behaviour, and from the thread
that not freeing the allocation on error.

> > FA_FL_NO_MTIME 0x10 /* keep same mtime (default change on size, data change) */
> > FA_FL_NO_CTIME 0x20 /* keep same ctime (default change on size, data change) */

NACK to these aswell. If i_size changes c/mtime need updates, if the size
doesn't chamge they don't. No need to add more flags for this.