From: Dave Kleikamp Date: Tue, 16 Jun 2009 18:43:22 +0000 (-0500) Subject: jfs: fix regression preventing coalescing of extents X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=f7c52fd17a7dda42fc9e88c2b2678403419bfe63;p=GitHub%2Fmt8127%2Fandroid_kernel_alcatel_ttab.git jfs: fix regression preventing coalescing of extents Commit fec1878fe952b994125a3be7c94b1322db586f3b caused a regression in which contiguous blocks being allocated to the end of an extent were getting a new extent created. This typically results in files entirely made up of 1-block extents even though the blocks are contiguous on disk. Apparently grub doesn't handle a jfs file being fragmented into too many extents, since it refuses to boot a kernel from jfs that was created by the 2.6.30 kernel. Signed-off-by: Dave Kleikamp Reported-by: Alex --- diff --git a/fs/jfs/jfs_extent.c b/fs/jfs/jfs_extent.c index bbbd5f202e37..41d6045dbeb0 100644 --- a/fs/jfs/jfs_extent.c +++ b/fs/jfs/jfs_extent.c @@ -391,6 +391,7 @@ int extHint(struct inode *ip, s64 offset, xad_t * xp) } XADaddress(xp, xaddr); XADlength(xp, xlen); + XADoffset(xp, prev); /* * only preserve the abnr flag within the xad flags * of the returned hint.