于 2011年11月21日 05:22, Hugh Dickins 写道:
On Fri, 18 Nov 2011, Cong Wang wrote:
It seems that systemd needs tmpfs to support fallocate,
see http://lkml.org/lkml/2011/10/20/275. This patch adds
fallocate support to tmpfs.
As we already have shmem_truncate_range(), it is also easy
to add FALLOC_FL_PUNCH_HOLE support too.
Thank you, this version looks much much nicer.
I wouldn't call it bug-free (don't you need a page_cache_release
after the unlock_page?), and I won't be reviewing it and testing it
for a week or two - there's a lot about the semantics of fallocate
and punch-hole that's not obvious, and I'll have to study the mail
threads discussing them before checking your patch.
Yeah, sorry, I missed unlock_page()...
First question that springs to mind (to which I shall easily find
an answer): is it actually acceptable for fallocate() to return
-ENOSPC when it has already completed a part of the work?
Ah, good point, I will fix this as what Christoph suggested.
But so long as the details don't end up complicating this
significantly, since we anyway want to regularize the punch-hole
situation by giving tmpfs the same interface to it as other filesystems,
I now think it would be a bit perverse to disallow the original
fallocate functionality that you implement here in-kernel.
Ok, I think you mean you are fine to accept it now?
Anyway, thanks a lot for your comments!
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>