Hi Mingming, Some update for patches in the patch queue. I am sending it as a diff against patch queue so that it makes it easier to apply The first hunk is a missed return 0 as a part of patch ext4_invalidate_pages_when_delalloc_alloc_fail.patch diff --git a/ext4_invalidate_pages_when_delalloc_alloc_fail.patch b/ext4_invalidate_pages_when_delalloc_alloc_fail.patch index f0722ab..d47d3bf 100644 --- a/ext4_invalidate_pages_when_delalloc_alloc_fail.patch +++ b/ext4_invalidate_pages_when_delalloc_alloc_fail.patch @@ -92,7 +92,7 @@ Index: linux-2.6.27-rc3/fs/ext4/inode.c + * will find the dirty page again + */ + if (err == -EAGAIN) -+ return; ++ return 0; + /* + * get block failure will cause us + * to loop in writepages. Because diff --git a/fix-delalloc-release-block-reservation-for-truncate b/fix-delalloc-release-block-reservation-for-truncate index 8dc891b..32f1063 100644 --- a/fix-delalloc-release-block-reservation-for-truncate +++ b/fix-delalloc-release-block-reservation-for-truncate @@ -48,8 +48,8 @@ Index: linux-2.6.27-rc3/fs/ext4/inode.c + * but since this function is called from invalidate + * page, it's harmless to return without any action + */ -+ printk(KERN_INFO "ext4 delalloc try to release %d reserved" -+ "blocks for inode %lu, but there is no reserved" ++ printk(KERN_INFO "ext4 delalloc try to release %d reserved " ++ "blocks for inode %lu, but there is no reserved " + "data blocks\n", to_free, inode->i_ino); + spin_unlock(&EXT4_I(inode)->i_block_reservation_lock); + return; -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html