Re: [V3 PATCH 1/2] tmpfs: add fallocate support

From: Cong Wang
Date: Wed Nov 23 2011 - 22:16:19 EST


ä 2011å11æ24æ 06:20, Hugh Dickins åé:
On Wed, 23 Nov 2011, Pekka Enberg wrote:

Why do we need to undo anyway?
...
Another answer would be: if fallocate() had been defined to return
the length that has been successfully allocated (as write() returns
the length written), then it would be reasonable to return partial
length instead of failing with ENOSPC, and not undo. But it was
defined to return -1 on failure or 0 on success, so cannot report
partial success.

Another answer would be: if the disk is near full, it's not good
for a fallocate() to fail with -ENOSPC while nonetheless grabbing
all the remaining blocks; even worse if another fallocate() were
racing with it.

Exactly, fallocate() should not make the bad situation even worse.

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/