Re: [UPDATE][12/24]ext3 enlarge blocksize

From: Andreas Dilger
Date: Fri May 26 2006 - 08:00:53 EST


At least part of this patch can be included into the patch series that
Mingming has posted to allow larger block sizes on architectures that
support it. This doesn't need a separate COMPAT flag itself, since
older kernels will already refuse to mount a filesystem with large blocks.

On May 25, 2006 21:49 +0900, sho@xxxxxxxxxxxxxx wrote:
> @@ -1463,11 +1463,17 @@ static int ext3_fill_super (struct super
> + if (blocksize > PAGE_SIZE) {
> + printk(KERN_ERR "EXT3-fs: cannot mount filesystem with "
> + "blocksize %u larger than PAGE_SIZE %u on %s\n",
> + blocksize, PAGE_SIZE, sb->s_id);
> + goto failed_mount;
> + }
> +
> if (blocksize < EXT3_MIN_BLOCK_SIZE ||
> - blocksize > EXT3_MAX_BLOCK_SIZE) {
> + blocksize > EXT3_EXTENDED_MAX_BLOCK_SIZE) {

We may as well just change EXT3_MAX_BLOCK_SIZE to be 65536, because no other
code uses this value. It is already 65536 in the e2fsprogs.

> - printk(KERN_ERR
> - "EXT3-fs: Unsupported filesystem blocksize %d on %s.\n",
> - blocksize, sb->s_id);
> + printk(KERN_ERR "EXT3-fs: Unsupported filesystem blocksize %d on %s.\n",
> + blocksize, sb->s_id);

I'm not sure why you changed the formatting of this message to now be longer
than 80 columns.

> diff -upNr -X linux-2.6.17-rc4/Documentation/dontdiff linux-2.6.17-rc4/include/linux/ext3_fs.h linux-2.6.17-rc4.tmp/include/linux/ext3_fs.h
> --- linux-2.6.17-rc4/include/linux/ext3_fs.h 2006-05-25 16:33:29.711659209 +0900
> +++ linux-2.6.17-rc4.tmp/include/linux/ext3_fs.h 2006-05-25 16:33:52.247791746 +0900
> @@ -86,6 +86,7 @@ struct statfs;
> */
> #define EXT3_MIN_BLOCK_SIZE 1024
> #define EXT3_MAX_BLOCK_SIZE 4096
> +#define EXT3_EXTENDED_MAX_BLOCK_SIZE 65536
> #define EXT3_MIN_BLOCK_LOG_SIZE 10
> #ifdef __KERNEL__
> # define EXT3_BLOCK_SIZE(s) ((s)->s_blocksize)

Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/