From 488831212842ce5d3ec81d04cfe05d438916316d Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Fri, 5 Dec 2008 10:38:19 -0800 Subject: [PATCH] drop one ext4 patch and move one patch to be released in the next release. --- ...ata-improve-phantom-device-detection.patch | 0 queue-2.6.27/series | 1 + ...earing-uninit-flag-in-ext4_new_inode.patch | 2 +- ...itialization-of-uninit-bitmap-blocks.patch | 86 ------------------- ...prealloc_space-using-kmem_cache_free.patch | 2 +- review-2.6.27/series | 2 - 6 files changed, 3 insertions(+), 90 deletions(-) rename {review-2.6.27 => queue-2.6.27}/libata-improve-phantom-device-detection.patch (100%) create mode 100644 queue-2.6.27/series delete mode 100644 review-2.6.27/ext4-fix-initialization-of-uninit-bitmap-blocks.patch diff --git a/review-2.6.27/libata-improve-phantom-device-detection.patch b/queue-2.6.27/libata-improve-phantom-device-detection.patch similarity index 100% rename from review-2.6.27/libata-improve-phantom-device-detection.patch rename to queue-2.6.27/libata-improve-phantom-device-detection.patch diff --git a/queue-2.6.27/series b/queue-2.6.27/series new file mode 100644 index 00000000000..80f7a3055ce --- /dev/null +++ b/queue-2.6.27/series @@ -0,0 +1 @@ +libata-improve-phantom-device-detection.patch diff --git a/review-2.6.27/ext4-add-checksum-calculation-when-clearing-uninit-flag-in-ext4_new_inode.patch b/review-2.6.27/ext4-add-checksum-calculation-when-clearing-uninit-flag-in-ext4_new_inode.patch index ce011985a13..0e1ba43a0ca 100644 --- a/review-2.6.27/ext4-add-checksum-calculation-when-clearing-uninit-flag-in-ext4_new_inode.patch +++ b/review-2.6.27/ext4-add-checksum-calculation-when-clearing-uninit-flag-in-ext4_new_inode.patch @@ -28,7 +28,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/fs/ext4/ialloc.c +++ b/fs/ext4/ialloc.c -@@ -717,6 +717,8 @@ got: +@@ -715,6 +715,8 @@ got: gdp->bg_flags &= cpu_to_le16(~EXT4_BG_BLOCK_UNINIT); free = ext4_free_blocks_after_init(sb, group, gdp); gdp->bg_free_blocks_count = cpu_to_le16(free); diff --git a/review-2.6.27/ext4-fix-initialization-of-uninit-bitmap-blocks.patch b/review-2.6.27/ext4-fix-initialization-of-uninit-bitmap-blocks.patch deleted file mode 100644 index bd52f8a4797..00000000000 --- a/review-2.6.27/ext4-fix-initialization-of-uninit-bitmap-blocks.patch +++ /dev/null @@ -1,86 +0,0 @@ -From tytso@mit.edu Wed Dec 3 10:03:38 2008 -From: Frederic Bohe -Date: Sun, 16 Nov 2008 11:05:28 -0500 -Subject: ext4: fix initialization of UNINIT bitmap blocks -To: stable@kernel.org -Cc: Frederic Bohe , Ext4 Developers List , "Theodore Ts'o" -Message-ID: <1226851540-8032-9-git-send-email-tytso@mit.edu> - -From: Frederic Bohe - -(cherry picked from commit c806e68f5647109350ec546fee5b526962970fd2) - -This fixes a bug which caused on-line resizing of filesystems with a -1k blocksize to fail. The root cause of this bug was the fact that if -an uninitalized bitmap block gets read in by userspace (which -e2fsprogs does try to avoid, but can happen when the blocksize is less -than the pagesize and an adjacent blocks is read into memory) -ext4_read_block_bitmap() was erroneously depending on the buffer -uptodate flag to decide whether it needed to initialize the bitmap -block in memory --- i.e., to set the standard set of blocks in use by -a block group (superblock, bitmaps, inode table, etc.). Essentially, -ext4_read_block_bitmap() assumed it was the only routine that might -try to read a block containing a block bitmap, which is simply not -true. - -To fix this, ext4_read_block_bitmap() and ext4_read_inode_bitmap() -must always initialize uninitialized bitmap blocks. Once a block or -inode is allocated out of that bitmap, it will be marked as -initialized in the block group descriptor, so in general this won't -result any extra unnecessary work. - -Signed-off-by: Frederic Bohe -Signed-off-by: "Theodore Ts'o" -Signed-off-by: Greg Kroah-Hartman - ---- - fs/ext4/balloc.c | 4 +++- - fs/ext4/ialloc.c | 4 +++- - fs/ext4/mballoc.c | 4 +++- - 3 files changed, 9 insertions(+), 3 deletions(-) - ---- a/fs/ext4/balloc.c -+++ b/fs/ext4/balloc.c -@@ -318,9 +318,11 @@ ext4_read_block_bitmap(struct super_bloc - block_group, bitmap_blk); - return NULL; - } -- if (bh_uptodate_or_lock(bh)) -+ if (buffer_uptodate(bh) && -+ !(desc->bg_flags & cpu_to_le16(EXT4_BG_BLOCK_UNINIT))) - return bh; - -+ lock_buffer(bh); - spin_lock(sb_bgl_lock(EXT4_SB(sb), block_group)); - if (desc->bg_flags & cpu_to_le16(EXT4_BG_BLOCK_UNINIT)) { - ext4_init_block_bitmap(sb, bh, block_group, desc); ---- a/fs/ext4/ialloc.c -+++ b/fs/ext4/ialloc.c -@@ -115,9 +115,11 @@ ext4_read_inode_bitmap(struct super_bloc - block_group, bitmap_blk); - return NULL; - } -- if (bh_uptodate_or_lock(bh)) -+ if (buffer_uptodate(bh) && -+ !(desc->bg_flags & cpu_to_le16(EXT4_BG_INODE_UNINIT))) - return bh; - -+ lock_buffer(bh); - spin_lock(sb_bgl_lock(EXT4_SB(sb), block_group)); - if (desc->bg_flags & cpu_to_le16(EXT4_BG_INODE_UNINIT)) { - ext4_init_inode_bitmap(sb, bh, block_group, desc); ---- a/fs/ext4/mballoc.c -+++ b/fs/ext4/mballoc.c -@@ -784,9 +784,11 @@ static int ext4_mb_init_cache(struct pag - if (bh[i] == NULL) - goto out; - -- if (bh_uptodate_or_lock(bh[i])) -+ if (buffer_uptodate(bh[i]) && -+ !(desc->bg_flags & cpu_to_le16(EXT4_BG_BLOCK_UNINIT))) - continue; - -+ lock_buffer(bh[i]); - spin_lock(sb_bgl_lock(EXT4_SB(sb), first_group + i)); - if (desc->bg_flags & cpu_to_le16(EXT4_BG_BLOCK_UNINIT)) { - ext4_init_block_bitmap(sb, bh[i], diff --git a/review-2.6.27/ext4-free-ext4_prealloc_space-using-kmem_cache_free.patch b/review-2.6.27/ext4-free-ext4_prealloc_space-using-kmem_cache_free.patch index 06d81d57185..d97082001ac 100644 --- a/review-2.6.27/ext4-free-ext4_prealloc_space-using-kmem_cache_free.patch +++ b/review-2.6.27/ext4-free-ext4_prealloc_space-using-kmem_cache_free.patch @@ -23,7 +23,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/fs/ext4/mballoc.c +++ b/fs/ext4/mballoc.c -@@ -2577,7 +2577,7 @@ static void ext4_mb_cleanup_pa(struct ex +@@ -2575,7 +2575,7 @@ static void ext4_mb_cleanup_pa(struct ex pa = list_entry(cur, struct ext4_prealloc_space, pa_group_list); list_del(&pa->pa_group_list); count++; diff --git a/review-2.6.27/series b/review-2.6.27/series index 98b89288332..c55c4dd67a7 100644 --- a/review-2.6.27/series +++ b/review-2.6.27/series @@ -64,7 +64,6 @@ ieee1394-sbp2-another-ipod-mini-quirk-entry.patch firewire-fw-sbp2-another-ipod-mini-quirk-entry.patch ib-mlx4-fix-mtt-leakage-in-resize-cq.patch net-fix-soft-lockups-oom-issues-w-unix-garbage-collector.patch -libata-improve-phantom-device-detection.patch cifs-fix-cifs-reconnection-flags.patch cifs-remove-unused-list-add-new-cifs-sock-list-to-prepare-for-mount-umount-fix.patch cifs-clean-up-server-protocol-handling.patch @@ -83,7 +82,6 @@ ext4-add-missing-unlock-in-ext4_check_descriptors-on-error-path.patch ext4-elevate-write-count-for-migrate-ioctl.patch ext4-renumber-ext4_ioc_migrate.patch ext4-jbd2-avoid-warn-messages-when-failing-to-write-to-the-superblock.patch -ext4-fix-initialization-of-uninit-bitmap-blocks.patch jbd2-abort-instead-of-waiting-for-nonexistent-transaction.patch jbd2-fix-buffer-head-leak-when-writing-the-commit-block.patch ext4-fix-xattr-deadlock.patch -- 2.47.3