rpms/kernel/devel kernel.spec, 1.370, 1.371 linux-2.6-ext4-jbd2-patch-queue.patch, 1.2, 1.3 linux-2.6-ext4-jbd2-support-patch-queue.patch, 1.1, 1.2
Eric Sandeen (sandeen)
fedora-extras-commits at redhat.com
Mon Jan 21 18:45:48 UTC 2008
- Previous message (by thread): rpms/nautilus-cd-burner/devel .cvsignore, 1.51, 1.52 nautilus-cd-burner.spec, 1.96, 1.97 sources, 1.51, 1.52
- Next message (by thread): rpms/perl-Sub-Uplevel/EL-4 perl-Sub-Uplevel.spec, 1.3, 1.4 sources, 1.2, 1.3
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: sandeen
Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv18879
Modified Files:
kernel.spec linux-2.6-ext4-jbd2-patch-queue.patch
linux-2.6-ext4-jbd2-support-patch-queue.patch
Log Message:
* Mon Jan 21 2008 Eric Sandeen <sandeen at redhat.com>
- Update ext4 patch to latest stable patch queue
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.370
retrieving revision 1.371
diff -u -r1.370 -r1.371
--- kernel.spec 19 Jan 2008 03:14:36 -0000 1.370
+++ kernel.spec 21 Jan 2008 18:45:09 -0000 1.371
@@ -652,7 +652,7 @@
Patch2001: linux-2.6-netdev-e1000-disable-alpm.patch
# ext4dev upstream patch queue, slated for 2.6.25
-# "stable" patches as of 1/9/2008
+# "stable" patches as of 1/21/2008
# supporting files, and ext4/jbd2 core files
Patch2100: linux-2.6-ext4-jbd2-support-patch-queue.patch
Patch2101: linux-2.6-ext4-jbd2-patch-queue.patch
@@ -1759,6 +1759,9 @@
%kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL} -e /etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf %{with_xen} xen
%changelog
+* Mon Jan 21 2008 Eric Sandeen <sandeen at redhat.com>
+- Update ext4 patch to latest stable patch queue
+
* Fri Jan 18 2008 Jarod Wilson <jwilson at redhat.com>
- Increase management orb reply timeout in firewire-sbp2 driver,
should make a lot of firewire drives behave a LOT better with
linux-2.6-ext4-jbd2-patch-queue.patch:
View full diff with command:
/usr/bin/cvs -f diff -kk -u -N -r 1.2 -r 1.3 linux-2.6-ext4-jbd2-patch-queue.patch
Index: linux-2.6-ext4-jbd2-patch-queue.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-ext4-jbd2-patch-queue.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- linux-2.6-ext4-jbd2-patch-queue.patch 14 Jan 2008 16:29:01 -0000 1.2
+++ linux-2.6-ext4-jbd2-patch-queue.patch 21 Jan 2008 18:45:09 -0000 1.3
@@ -200,7 +200,7 @@
Opt_jqfmt_vfsold, Opt_jqfmt_vfsv0, Opt_quota, Opt_noquota,
Opt_ignore, Opt_barrier, Opt_err, Opt_resize, Opt_usrquota,
- Opt_grpquota, Opt_extents, Opt_noextents,
-+ Opt_grpquota, Opt_extents, Opt_noextents,Opt_i_version,
++ Opt_grpquota, Opt_extents, Opt_noextents, Opt_i_version,
+ Opt_mballoc, Opt_nomballoc, Opt_stripe,
};
@@ -230,11 +230,11 @@
*journal_devnum = option;
break;
+ case Opt_journal_checksum:
-+ set_opt (sbi->s_mount_opt, JOURNAL_CHECKSUM);
++ set_opt(sbi->s_mount_opt, JOURNAL_CHECKSUM);
+ break;
+ case Opt_journal_async_commit:
-+ set_opt (sbi->s_mount_opt, JOURNAL_ASYNC_COMMIT);
-+ set_opt (sbi->s_mount_opt, JOURNAL_CHECKSUM);
++ set_opt(sbi->s_mount_opt, JOURNAL_ASYNC_COMMIT);
++ set_opt(sbi->s_mount_opt, JOURNAL_CHECKSUM);
+ break;
case Opt_noload:
set_opt (sbi->s_mount_opt, NOLOAD);
@@ -244,7 +244,7 @@
clear_opt (sbi->s_mount_opt, EXTENTS);
break;
+ case Opt_i_version:
-+ set_opt (sbi->s_mount_opt, I_VERSION);
++ set_opt(sbi->s_mount_opt, I_VERSION);
+ sb->s_flags |= MS_I_VERSION;
+ break;
+ case Opt_mballoc:
@@ -444,7 +444,7 @@
int has_super = 0;
first_meta_bg = le32_to_cpu(sbi->s_es->s_first_meta_bg);
-@@ -1584,8 +1764,37 @@ static ext4_fsblk_t descriptor_loc(struc
+@@ -1584,8 +1764,38 @@ static ext4_fsblk_t descriptor_loc(struc
return (has_super + ext4_group_first_block_no(sb, bg));
}
@@ -462,7 +462,8 @@
+static unsigned long ext4_get_stripe_size(struct ext4_sb_info *sbi)
+{
+ unsigned long stride = le16_to_cpu(sbi->s_es->s_raid_stride);
-+ unsigned long stripe_width = le32_to_cpu(sbi->s_es->s_raid_stripe_width);
++ unsigned long stripe_width =
++ le32_to_cpu(sbi->s_es->s_raid_stripe_width);
+
+ if (sbi->s_stripe && sbi->s_stripe <= sbi->s_blocks_per_group) {
+ return sbi->s_stripe;
@@ -482,7 +483,7 @@
{
struct buffer_head * bh;
struct ext4_super_block *es = NULL;
-@@ -1599,7 +1808,6 @@ static int ext4_fill_super (struct super
+@@ -1599,7 +1809,6 @@ static int ext4_fill_super (struct super
unsigned long def_mount_opts;
struct inode *root;
int blocksize;
@@ -490,7 +491,7 @@
int db_count;
int i;
int needs_recovery;
-@@ -1624,6 +1832,11 @@ static int ext4_fill_super (struct super
+@@ -1624,6 +1833,11 @@ static int ext4_fill_super (struct super
goto out_fail;
}
@@ -502,7 +503,7 @@
/*
* The ext4 superblock will not be buffer aligned for other than 1kB
* block sizes. We need to calculate the offset from buffer start.
-@@ -1674,10 +1887,10 @@ static int ext4_fill_super (struct super
+@@ -1674,10 +1888,10 @@ static int ext4_fill_super (struct super
if (le16_to_cpu(sbi->s_es->s_errors) == EXT4_ERRORS_PANIC)
set_opt(sbi->s_mount_opt, ERRORS_PANIC);
@@ -516,7 +517,7 @@
sbi->s_resuid = le16_to_cpu(es->s_def_resuid);
sbi->s_resgid = le16_to_cpu(es->s_def_resgid);
-@@ -1689,6 +1902,11 @@ static int ext4_fill_super (struct super
+@@ -1689,6 +1903,11 @@ static int ext4_fill_super (struct super
* User -o noextents to turn it off
*/
set_opt(sbi->s_mount_opt, EXTENTS);
@@ -528,7 +529,7 @@
if (!parse_options ((char *) data, sb, &journal_inum, &journal_devnum,
NULL, 0))
-@@ -1723,6 +1941,19 @@ static int ext4_fill_super (struct super
+@@ -1723,6 +1942,19 @@ static int ext4_fill_super (struct super
sb->s_id, le32_to_cpu(features));
goto failed_mount;
}
@@ -548,7 +549,7 @@
blocksize = BLOCK_SIZE << le32_to_cpu(es->s_log_block_size);
if (blocksize < EXT4_MIN_BLOCK_SIZE ||
-@@ -1733,20 +1964,16 @@ static int ext4_fill_super (struct super
+@@ -1733,20 +1965,16 @@ static int ext4_fill_super (struct super
goto failed_mount;
}
@@ -574,7 +575,7 @@
logical_sb_block = sb_block * EXT4_MIN_BLOCK_SIZE;
offset = do_div(logical_sb_block, blocksize);
bh = sb_bread(sb, logical_sb_block);
-@@ -1764,6 +1991,7 @@ static int ext4_fill_super (struct super
+@@ -1764,6 +1992,7 @@ static int ext4_fill_super (struct super
}
}
@@ -582,7 +583,7 @@
sb->s_maxbytes = ext4_max_size(sb->s_blocksize_bits);
if (le32_to_cpu(es->s_rev_level) == EXT4_GOOD_OLD_REV) {
-@@ -1838,6 +2066,17 @@ static int ext4_fill_super (struct super
+@@ -1838,6 +2067,17 @@ static int ext4_fill_super (struct super
if (EXT4_BLOCKS_PER_GROUP(sb) == 0)
goto cantfind_ext4;
@@ -600,7 +601,7 @@
blocks_count = (ext4_blocks_count(es) -
le32_to_cpu(es->s_first_data_block) +
EXT4_BLOCKS_PER_GROUP(sb) - 1);
-@@ -1900,6 +2139,8 @@ static int ext4_fill_super (struct super
+@@ -1900,6 +2140,8 @@ static int ext4_fill_super (struct super
sbi->s_rsv_window_head.rsv_goal_size = 0;
ext4_rsv_window_add(sb, &sbi->s_rsv_window_head);
@@ -609,7 +610,7 @@
/*
* set up enough so that it can read an inode
*/
-@@ -1944,6 +2185,21 @@ static int ext4_fill_super (struct super
+@@ -1944,6 +2186,21 @@ static int ext4_fill_super (struct super
goto failed_mount4;
}
@@ -631,7 +632,7 @@
/* We have now updated the journal if required, so we can
* validate the data journaling mode. */
switch (test_opt(sb, DATA_FLAGS)) {
-@@ -2044,6 +2300,7 @@ static int ext4_fill_super (struct super
+@@ -2044,6 +2301,7 @@ static int ext4_fill_super (struct super
"writeback");
ext4_ext_init(sb);
@@ -639,7 +640,7 @@
lock_kernel();
return 0;
-@@ -2673,7 +2930,7 @@ static int ext4_statfs (struct dentry *
+@@ -2673,7 +2931,7 @@ static int ext4_statfs (struct dentry *
if (test_opt(sb, MINIX_DF)) {
sbi->s_overhead_last = 0;
} else if (sbi->s_blocks_last != ext4_blocks_count(es)) {
@@ -648,7 +649,7 @@
ext4_fsblk_t overhead = 0;
smp_rmb();
-@@ -2909,7 +3166,7 @@ static ssize_t ext4_quota_read(struct su
+@@ -2909,7 +3167,7 @@ static ssize_t ext4_quota_read(struct su
size_t len, loff_t off)
{
struct inode *inode = sb_dqopt(sb)->files[type];
@@ -657,7 +658,7 @@
int err = 0;
int offset = off & (sb->s_blocksize - 1);
int tocopy;
-@@ -2947,7 +3204,7 @@ static ssize_t ext4_quota_write(struct s
+@@ -2947,7 +3205,7 @@ static ssize_t ext4_quota_write(struct s
const char *data, size_t len, loff_t off)
{
struct inode *inode = sb_dqopt(sb)->files[type];
@@ -666,7 +667,7 @@
int err = 0;
int offset = off & (sb->s_blocksize - 1);
int tocopy;
-@@ -3002,7 +3259,6 @@ out:
+@@ -3002,7 +3260,6 @@ out:
i_size_write(inode, off+len-towrite);
EXT4_I(inode)->i_disksize = inode->i_size;
}
@@ -674,7 +675,7 @@
inode->i_mtime = inode->i_ctime = CURRENT_TIME;
ext4_mark_inode_dirty(handle, inode);
mutex_unlock(&inode->i_mutex);
-@@ -3027,9 +3283,15 @@ static struct file_system_type ext4dev_f
[...2198 lines suppressed...]
-+ loff_t size, orig_size;
++ loff_t size, orig_size, start_off;
+ ext4_lblk_t start, orig_start;
+ struct ext4_inode_info *ei = EXT4_I(ac->ac_inode);
+
@@ -9548,12 +9827,12 @@
+ max = EXT4_BLOCKS_PER_GROUP(ac->ac_sb) - 1 - 1 -
+ EXT4_SB(ac->ac_sb)->s_itb_per_group;
+
-+#define NRL_CHECK_SIZE(req,size,max,bits) \
++#define NRL_CHECK_SIZE(req, size, max,bits) \
+ (req <= (size) || max <= ((size) >> bits))
+
+ /* first, try to predict filesize */
+ /* XXX: should this table be tunable? */
-+ start = 0;
++ start_off = 0;
+ if (size <= 16 * 1024) {
+ size = 16 * 1024;
+ } else if (size <= 32 * 1024) {
@@ -9569,25 +9848,24 @@
+ } else if (size <= 1024 * 1024) {
+ size = 1024 * 1024;
+ } else if (NRL_CHECK_SIZE(size, 4 * 1024 * 1024, max, bsbits)) {
-+ start = ac->ac_o_ex.fe_logical << bsbits;
-+ start = (start / (1024 * 1024)) * (1024 * 1024);
++ start_off = ((loff_t)ac->ac_o_ex.fe_logical >>
++ (20 - bsbits)) << 20;
+ size = 1024 * 1024;
+ } else if (NRL_CHECK_SIZE(size, 8 * 1024 * 1024, max, bsbits)) {
-+ start = ac->ac_o_ex.fe_logical << bsbits;
-+ start = (start / (4 * (1024 * 1024))) * 4 * (1024 * 1024);
++ start_off = ((loff_t)ac->ac_o_ex.fe_logical >>
++ (22 - bsbits)) << 22;
+ size = 4 * 1024 * 1024;
-+ } else if(NRL_CHECK_SIZE(ac->ac_o_ex.fe_len,(8<<20)>>bsbits,max,bsbits)){
-+ start = ac->ac_o_ex.fe_logical;
-+ start = start << bsbits;
-+ start = (start / (8 * (1024 * 1024))) * 8 * (1024 * 1024);
++ } else if (NRL_CHECK_SIZE(ac->ac_o_ex.fe_len,
++ (8<<20)>>bsbits, max, bsbits)) {
++ start_off = ((loff_t)ac->ac_o_ex.fe_logical >>
++ (23 - bsbits)) << 23;
+ size = 8 * 1024 * 1024;
+ } else {
-+ start = ac->ac_o_ex.fe_logical;
-+ start = start << bsbits;
-+ size = ac->ac_o_ex.fe_len << bsbits;
++ start_off = (loff_t)ac->ac_o_ex.fe_logical << bsbits;
++ size = ac->ac_o_ex.fe_len << bsbits;
+ }
+ orig_size = size = size >> bsbits;
-+ orig_start = start = start >> bsbits;
++ orig_start = start = start_off >> bsbits;
+
+ /* don't cover already allocated blocks in selected range */
+ if (ar->pleft && start <= ar->lleft) {
@@ -9847,7 +10125,7 @@
+static void ext4_mb_generate_from_pa(struct super_block *sb, void *bitmap,
+ ext4_group_t group)
+{
-+ struct ext4_group_info *grp = EXT4_GROUP_INFO(sb, group);
++ struct ext4_group_info *grp = ext4_get_group_info(sb, group);
+ struct ext4_prealloc_space *pa;
+ struct list_head *cur;
+ ext4_group_t groupnr;
@@ -9874,7 +10152,8 @@
+ if (unlikely(len == 0))
+ continue;
+ BUG_ON(groupnr != group);
-+ mb_set_bits(sb_bgl_lock(EXT4_SB(sb), group), bitmap, start, len);
++ mb_set_bits(sb_bgl_lock(EXT4_SB(sb), group),
++ bitmap, start, len);
+ preallocated += len;
+ count++;
+ }
@@ -10010,7 +10289,7 @@
+ atomic_add(pa->pa_free, &EXT4_SB(sb)->s_mb_preallocated);
+
+ ei = EXT4_I(ac->ac_inode);
-+ grp = EXT4_GROUP_INFO(sb, ac->ac_b_ex.fe_group);
++ grp = ext4_get_group_info(sb, ac->ac_b_ex.fe_group);
+
+ pa->pa_obj_lock = &ei->i_prealloc_lock;
+ pa->pa_inode = ac->ac_inode;
@@ -10065,7 +10344,7 @@
+ ext4_mb_use_group_pa(ac, pa);
+ atomic_add(pa->pa_free, &EXT4_SB(sb)->s_mb_preallocated);
+
-+ grp = EXT4_GROUP_INFO(sb, ac->ac_b_ex.fe_group);
++ grp = ext4_get_group_info(sb, ac->ac_b_ex.fe_group);
+ lg = ac->ac_lg;
+ BUG_ON(lg == NULL);
+
@@ -10201,7 +10480,7 @@
+static int ext4_mb_discard_group_preallocations(struct super_block *sb,
+ ext4_group_t group, int needed)
+{
-+ struct ext4_group_info *grp = EXT4_GROUP_INFO(sb, group);
++ struct ext4_group_info *grp = ext4_get_group_info(sb, group);
+ struct buffer_head *bitmap_bh = NULL;
+ struct ext4_prealloc_space *pa, *tmp;
+ struct list_head list;
@@ -10228,7 +10507,7 @@
+ if (needed == 0)
+ needed = EXT4_BLOCKS_PER_GROUP(sb) + 1;
+
-+ grp = EXT4_GROUP_INFO(sb, group);
++ grp = ext4_get_group_info(sb, group);
+ INIT_LIST_HEAD(&list);
+
+repeat:
@@ -10431,7 +10710,7 @@
+ ac->ac_status, ac->ac_flags);
+ printk(KERN_ERR "EXT4-fs: orig %lu/%lu/%lu@%lu, goal %lu/%lu/%lu@%lu, "
+ "best %lu/%lu/%lu@%lu cr %d\n",
-+ (unsigned long )ac->ac_o_ex.fe_group,
++ (unsigned long)ac->ac_o_ex.fe_group,
+ (unsigned long)ac->ac_o_ex.fe_start,
+ (unsigned long)ac->ac_o_ex.fe_len,
+ (unsigned long)ac->ac_o_ex.fe_logical,
@@ -10448,7 +10727,7 @@
+ ac->ac_found);
+ printk(KERN_ERR "EXT4-fs: groups: \n");
+ for (i = 0; i < EXT4_SB(sb)->s_groups_count; i++) {
-+ struct ext4_group_info *grp = EXT4_GROUP_INFO(sb, i);
++ struct ext4_group_info *grp = ext4_get_group_info(sb, i);
+ struct ext4_prealloc_space *pa;
+ ext4_grpblk_t start;
+ struct list_head *cur;
@@ -10459,7 +10738,8 @@
+ ext4_get_group_no_and_offset(sb, pa->pa_pstart,
+ NULL, &start);
+ spin_unlock(&pa->pa_lock);
-+ printk(KERN_ERR "PA:%lu:%d:%u \n", i, start, pa->pa_len);
++ printk(KERN_ERR "PA:%lu:%d:%u \n", i,
++ start, pa->pa_len);
+ }
+
+ if (grp->bb_free == 0)
@@ -10641,13 +10921,6 @@
+ sbi = EXT4_SB(sb);
+
+ if (!test_opt(sb, MBALLOC)) {
-+#if 0
-+ static int ext4_mballoc_warning = 0;
-+ if (ext4_mballoc_warning++ == 0)
-+ printk(KERN_ERR "EXT4-fs: multiblock request with "
-+ "mballoc disabled!\n");
-+ ar->len = 1;
-+#endif
+ block = ext4_new_blocks_old(handle, ar->inode, ar->goal,
+ &(ar->len), errp);
+ return block;
@@ -10714,7 +10987,8 @@
+}
+EXPORT_SYMBOL(ext4_mb_new_blocks);
+
-+static void ext4_mb_poll_new_transaction(struct super_block *sb, handle_t *handle)
++static void ext4_mb_poll_new_transaction(struct super_block *sb,
++ handle_t *handle)
+{
+ struct ext4_sb_info *sbi = EXT4_SB(sb);
+
@@ -10943,7 +11217,8 @@
+ /* And the group descriptor block */
+ BUFFER_TRACE(gd_bh, "dirtied group descriptor block");
+ ret = ext4_journal_dirty_metadata(handle, gd_bh);
-+ if (!err) err = ret;
++ if (!err)
++ err = ret;
+
+ if (overflow && !err) {
+ block += count;
@@ -10978,3 +11253,25 @@
error = -EIO;
goto cleanup;
}
+Index: linux-2.6.23.noarch/fs/jbd2/revoke.c
+===================================================================
+--- linux-2.6.23.noarch.orig/fs/jbd2/revoke.c
++++ linux-2.6.23.noarch/fs/jbd2/revoke.c
+@@ -171,13 +171,15 @@ int __init jbd2_journal_init_revoke_cach
+ {
+ jbd2_revoke_record_cache = kmem_cache_create("jbd2_revoke_record",
+ sizeof(struct jbd2_revoke_record_s),
+- 0, SLAB_HWCACHE_ALIGN, NULL);
++ 0,
++ SLAB_HWCACHE_ALIGN|SLAB_TEMPORARY,
++ NULL);
+ if (jbd2_revoke_record_cache == 0)
+ return -ENOMEM;
+
+ jbd2_revoke_table_cache = kmem_cache_create("jbd2_revoke_table",
+ sizeof(struct jbd2_revoke_table_s),
+- 0, 0, NULL);
++ 0, SLAB_TEMPORARY, NULL);
+ if (jbd2_revoke_table_cache == 0) {
+ kmem_cache_destroy(jbd2_revoke_record_cache);
+ jbd2_revoke_record_cache = NULL;
linux-2.6-ext4-jbd2-support-patch-queue.patch:
Index: linux-2.6-ext4-jbd2-support-patch-queue.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-ext4-jbd2-support-patch-queue.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-ext4-jbd2-support-patch-queue.patch 10 Jan 2008 18:38:46 -0000 1.1
+++ linux-2.6-ext4-jbd2-support-patch-queue.patch 21 Jan 2008 18:45:09 -0000 1.2
@@ -2,15 +2,14 @@
===================================================================
--- linux-2.6.23.noarch.orig/fs/read_write.c
+++ linux-2.6.23.noarch/fs/read_write.c
-@@ -451,6 +451,8 @@ unsigned long iov_shorten(struct iovec *
+@@ -451,6 +451,7 @@ unsigned long iov_shorten(struct iovec *
+ }
return seg;
}
-
+EXPORT_SYMBOL(iov_shorten);
-+
+
ssize_t do_sync_readv_writev(struct file *filp, const struct iovec *iov,
unsigned long nr_segs, size_t len, loff_t *ppos, iov_fn_t fn)
- {
Index: linux-2.6.23.noarch/fs/buffer.c
===================================================================
--- linux-2.6.23.noarch.orig/fs/buffer.c
- Previous message (by thread): rpms/nautilus-cd-burner/devel .cvsignore, 1.51, 1.52 nautilus-cd-burner.spec, 1.96, 1.97 sources, 1.51, 1.52
- Next message (by thread): rpms/perl-Sub-Uplevel/EL-4 perl-Sub-Uplevel.spec, 1.3, 1.4 sources, 1.2, 1.3
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list