Re: [PATCH 3/3] mlock: avoid dirtying pages and triggering writeback

Christoph Hellwig
2010-11-19T15:06:59Z

On Fri, Nov 19, 2010 at 08:42:05AM -0500, Theodore Tso wrote:
> My vote would be against. ? If you if you mmap a sparse file and then
> try writing to it willy-nilly, bad things will happen. ?This is true without
> a mlock(). ? Where is it written that mlock() has anything to do with
> improving this situation?

Exactly. Allocating space has been a side-effect on a handfull
filesystem for about 20 kernel releases.

> If userspace wants to call fallocate() before it calls mlock(), it should
> do that. ?And in fact, in most cases, userspace should probably be
> encouraged to do that. ? But having mlock() call fallocate() and
> then return ENOSPC if there's no room? Isn't it confusing that mlock()
> call ENOSPC? Doesn't that give you cognitive dissonance? It should
> because fundamentally mlock() has nothing to do with block allocation!!
> Read the API spec!

Indeed. There is no need to make mlock + flag a parallel-API to
fallocate.