SPECS (LINUX_2_6): kernel.spec - release 0.4 (vserver + grsec_minimal - grs...

Jan Rekorajski baggins at sith.mimuw.edu.pl
Sun Jan 4 19:13:14 CET 2009


On Sun, 04 Jan 2009, Andrzej Zawadzki wrote:

> Jan Rekorajski wrote:
> > [...]
> > reiserfs is broken in 2.6.28.
> >   
> ?
> $ mount
> /dev/mapper/volumenik-pld_root on / type reiserfs (rw)
> $ uname -r
> 2.6.28
> 
> This is vanilla kernel from kernel.org

Maybe I misread, and the bug was introduce after 2.6.28.
See this:

On Fri, Jan 02, 2009 at 09:38:11AM +0100, Marc Koschewski wrote:
> Hi!
> 
> I just booted into a 2.6.28-17244-gb58602a kernel that is the currently recent
> git code. The reiserfs fs has some major probs when booting this kernel. I just
> --rebuild-tree 4 partitions which are OK now again. When booting my Gentoo box
> says it cannot create an /etc/mtab~nnnn file and such. When I boot into stock
> 2.6.28, however, anything is OK. I re-tested that 3 times. Anytime I boot into
> the git kernel the messages occur and I shutdown the box via acpid (power
> button) as quick as I can.

Arrgh.  See if that helps:

now that we use ih.key earlier, we need to do all its setup early enough

Signed-off-by: Al Viro <viro at zeniv.linux.org.uk>
---
diff --git a/fs/reiserfs/inode.c b/fs/reiserfs/inode.c
index 145c2d3..1306d4f 100644
--- a/fs/reiserfs/inode.c
+++ b/fs/reiserfs/inode.c
@@ -1782,6 +1782,12 @@ int reiserfs_new_inode(struct reiserfs_transaction_handle *th,
 		goto out_bad_inode;
 	}
 	args.objectid = inode->i_ino = le32_to_cpu(ih.ih_key.k_objectid);
+	if (old_format_only(sb))
+		make_le_item_head(&ih, NULL, KEY_FORMAT_3_5, SD_OFFSET,
+				  TYPE_STAT_DATA, SD_V1_SIZE, MAX_US_INT);
+	else
+		make_le_item_head(&ih, NULL, KEY_FORMAT_3_6, SD_OFFSET,
+				  TYPE_STAT_DATA, SD_SIZE, MAX_US_INT);
 	memcpy(INODE_PKEY(inode), &(ih.ih_key), KEY_SIZE);
 	args.dirid = le32_to_cpu(ih.ih_key.k_dir_id);
 	if (insert_inode_locked4(inode, args.objectid,
@@ -1834,13 +1840,6 @@ int reiserfs_new_inode(struct reiserfs_transaction_handle *th,
 	reiserfs_init_acl_default(inode);
 	reiserfs_init_xattr_rwsem(inode);
 
-	if (old_format_only(sb))
-		make_le_item_head(&ih, NULL, KEY_FORMAT_3_5, SD_OFFSET,
-				  TYPE_STAT_DATA, SD_V1_SIZE, MAX_US_INT);
-	else
-		make_le_item_head(&ih, NULL, KEY_FORMAT_3_6, SD_OFFSET,
-				  TYPE_STAT_DATA, SD_SIZE, MAX_US_INT);
-
 	/* key to search for correct place for new stat data */
 	_make_cpu_key(&key, KEY_FORMAT_3_6, le32_to_cpu(ih.ih_key.k_dir_id),
 		      le32_to_cpu(ih.ih_key.k_objectid), SD_OFFSET,
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

-- 
Jan Rekorajski            |  ALL SUSPECTS ARE GUILTY. PERIOD!
baggins<at>mimuw.edu.pl   |  OTHERWISE THEY WOULDN'T BE SUSPECTS, WOULD THEY?
BOFH, MANIAC              |                   -- TROOPS by Kevin Rubio


More information about the pld-devel-en mailing list