xfs-masters
[Top] [All Lists]

[Bug 822] xfs mapping behavior changed between .28 and .29

To: xfs-masters@xxxxxxxxxxx
Subject: [Bug 822] xfs mapping behavior changed between .28 and .29
From: bugzilla-daemon@xxxxxxxxxxx
Date: Fri, 8 May 2009 15:26:31 -0500
Auto-submitted: auto-generated
In-reply-to: <bug-822-113@xxxxxxxxxxxxxxxx/bugzilla/>
References: <bug-822-113@xxxxxxxxxxxxxxxx/bugzilla/>
http://oss.sgi.com/bugzilla/show_bug.cgi?id=822





--- Comment #1 from Eric Sandeen <sandeen-xfs@xxxxxxxxxxx>  2009-05-08 15:26:30 
CST ---
Looks like it was this commit that changed the behavior.

9f6c92b9cc2fd41d6c7b493be5637cc5b5659880 is first bad commit
commit 9f6c92b9cc2fd41d6c7b493be5637cc5b5659880
Author: Lachlan McIlroy <lachlan@xxxxxxxxxxxxxxxxxxxxxxxxx>
Date:   Mon Dec 22 17:56:49 2008 +1100

    [XFS] Fix speculative allocation beyond eof

    Speculative allocation beyond eof doesn't work properly.  It was
    broken some time ago after a code cleanup that moved what is now
    xfs_iomap_eof_align_last_fsb() and xfs_iomap_eof_want_preallocate()
    out of xfs_iomap_write_delay() into separate functions.  The code
    used to use the current file size in various checks but got changed
    to be max(file_size, i_new_size).  Since i_new_size is the result
    of 'offset + count' then in xfs_iomap_eof_want_preallocate() the
    check for '(offset + count) <= isize' will always be true.

    ie if 'offset + count' is > ip->i_size then isize will be i_new_size
    and equal to 'offset + count'.

    This change fixes all the places that used to use the current file
    size.

    Reviewed-by: Christoph Hellwig <hch@xxxxxxxxxxxxx>
    Signed-off-by: Lachlan McIlroy <lachlan@xxxxxxx>

-- 
Configure bugmail: http://oss.sgi.com/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

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