On Mon, Dec 06, 2010 at 12:52:21PM +0300, Dmitry wrote: > May be it is reasonable to introduce new mount option which control > dynamic delalloc on/off behavior for example like this: > 0) -odelalloc=off : analog of nodelalloc > 1) -odelalloc=normal : Default mode (disable delalloc if close to full fs) > 2) -odelalloc=force : delalloc mode always enabled, so we have to do > writeback more aggressive in case of ENOSPC. > > So one can force delalloc and can safely use this writeback mode in > multi-user environment. Openvz already has this. I'll prepare the patch > if you are interesting in that feature? Yeah, I'd really rather not do that. There are significant downsides with your proposed odelalloc=force mode. One of which is that we could run out of space and not notice. If the application doesn't call fsync() and check the return value, and simply closes()'s the file and then exits, when the writeback threads do get around to writing the file, the block allocation could fail, and oops, data gets lost. There's a _reason_ why we disable delalloc when we're close to a full fs. The only alternative is to super conservative when doing your block reservation calculations, and in that case, you end up returning ENOSPC far too soon. - Ted -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom policy in Canada: sign http://dissolvethecrtc.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>