Re: [patch] truncate fixes

Andrea Arcangeli (andrea@suse.de)
Mon, 7 Jan 2002 04:16:36 +0100


On Sun, Jan 06, 2002 at 06:53:30PM -0800, Andrew Morton wrote:
> Andrea Arcangeli wrote:
> >
> > I prefer my fix that simply recalls the ->truncate callback if -ENOSPC
> > is returned by prepare_write. vmtruncate seems way overkill,
>
> No opinion on that here. This is what was in -ac. Perhaps Al can
> comment?
>
> > and after
> > calling ->truncate the __block_prepare_changes above won't be necessary
> > because the leftover will be correctly deallocated (no need to clear
> > them out and to mark them dirty, they will just go away before any
> > readpage can see them).
>
> No, this code is needed if the write is _inside_ i_size, to an
> uninstantiated block. truncate won't remove those blocks, and we've
> gone and added them to the file.

I see, I got mistaken because here we're not in a i_sem-less writepage, so
in those cases I wanted to always deallocate the blocks rather than
lefting zeroed leftovers. if the leftover blocks are over i_size (common
case I was thinking about incidentally :) that's automatica with
->truncate, but if they aren't over i_size that's not enough and we miss
a lowlevel API to decallocate a range of blocks, so your patch is the
only way indeed.

>
> -

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