Subject: Re: resize_ffs and fsck need touchup
To: der Mouse <mouse@Rodents.Montreal.QC.CA>
From: Pavel Cahyna <pavel.cahyna@st.mff.cuni.cz>
List: tech-userlevel
Date: 04/04/2006 19:25:30
On Mon, Mar 27, 2006 at 03:51:33PM -0500, der Mouse wrote:
> In resize_ffs's source, there is a comment reading, in part,
>
> * XXX is there a bug lurking in the ignoring of block boundaries by
> * the routine used by fragmove() in evict_data()? Can an end-of-file
> * frag legally straddle a block boundary? If not, this should be
> * cloned and fixed to stop at block boundaries for that use. The
> * current one may still be needed for csum info motion, in case that
> * takes up more than a whole block (is the csum info allowed to begin
> * partway through a block and continue into the following block?).
>
> Having run into it now, I believe that the bug this comment alludes to
> is present. See the "blkfree: bad size" panic in ffs_blkfree() - the
> fragnum()+numfrags()>fs->fs_frag condition is the one this is talking
> about.
"fragments are not allowed to span blocks." (daemonic book, page 280)
Pavel