Hi,

Instead of all the kernel locks during block allocations, can't we
simply delay the inode truncate operation until the file is closed? All
we need is further inode field i_realsize, that is compared at close
time with i_size. It's also useful for other fs that don't support holes
and we get rid of the last argument to cont_prepare_write (so it has the
same prototype as block_prepare_write). My only problem is if it should
be done for 2.4, as it may have side effects.
An related question: writes are protected by the inode semaphore, so
only a single process can (or should) ever be in *_get_block. Do we then
still need the check after the new block is allocated and before the
block entry is updated?

bye, Roman

Reply via email to