[Top] [All Lists]

Re: [PATCH] Don't do I/O beyond eof when unreserving space

To: Lachlan McIlroy <lachlan@xxxxxxx>
Subject: Re: [PATCH] Don't do I/O beyond eof when unreserving space
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Tue, 2 Sep 2008 17:51:57 -0400
Cc: xfs-dev <xfs-dev@xxxxxxx>, xfs-oss <xfs@xxxxxxxxxxx>
In-reply-to: <48BCCE29.3070707@xxxxxxx>
References: <48BCCE29.3070707@xxxxxxx>
User-agent: Mutt/1.5.18 (2008-05-17)
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.

<Prev in Thread] Current Thread [Next in Thread>