[PATCH] allow internal journal size 2GB or larger

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The current libext2fs and e2fsck code does not handle an internal journal inode size larger than 2GB because of 32-bit overflow.  The high bits of the journal are not stored on disk correctly, nor are they backed up into the superblock.  This is not a problem with a large external journal device.

Fix the code to correctly process the high bits of the journal size.  It turns out there is also space in the superblock journal backup to hold the high bits of the journal size (in s_jnl_blocks[15]), because there are 17 words reserved for this field, but the i_blocks field only uses EXT2_N_BLOCKS = 15 blocks [0-14], and the journal size is stored in [16], so no change to the on-disk format is needed.

Signed-off-by: Andreas Dilger <andreas.dilger@xxxxxxxxxx>

Cheers, Andreas
--
Andreas Dilger
Lustre Technical Lead
Oracle Corporation Canada Inc.

Attachment: e2fsprogs-bigjournal.diff
Description: Binary data


[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux