On Tue, Sep 02, 2008 at 03:24:57PM +1000, Lachlan McIlroy wrote:
> When unreserving space with boundaries that are not block aligned we round
> up the start and round down the end boundaries and then use this function,
> xfs_zero_remaining_bytes(), to zero the parts of the blocks that got dropped
> during the rounding. The problem is we don't consider if these blocks are
> beyond eof. Worse still is if we encounter delayed allocations beyond eof
> we will try to use the magic delayed allocation block number as a real block
> number. If the file size is ever extended to expose these blocks then we'll
> go through xfs_zero_eof() to zero them anyway.
Makes sense. Would be nice to have a comment above the check explaining
why these first strange checks are there. Something like the first
setence of the patch description here.
|