Messages in this thread Patch in this message | | | Date | Sun, 28 Dec 2003 10:30:28 -0500 | From | lkml@dhtns ... | Subject | JFS resize=0 problem in 2.6.0 |
| |
Let me know if I'm missing the goal of the code here, but lines 261-273 of linux-2.6.0/fs/jfs/super.c are:
case Opt_resize: { char *resize = args[0].from; if (!resize || !*resize) { /* LINE 264 HERE */ *newLVSize = sb->s_bdev->bd_inode->i_size >> sb->s_blocksize_bits; if (*newLVSize == 0) printk(KERN_ERR "JFS: Cannot determine volume size\n"); } else *newLVSize = simple_strtoull(resize, &resize, 0); break; }
It seems to me that line 264 is attempting to test for the mount paramater "resize=0", and when it comes across this, resize to the full size of the volume. However, this doesn't work. I believe it should test for the char '0' (*resize=='0'), not against literal zero.
Let me know if I'm way off base here. But the below patch does allow a $ mount -o remount,resize=0 /mnt/test to resize the jfs filesystem to the full size of the volume.
Ok, I've never submitted a patch before, but here goes:
--- linux-2.6.0/fs/jfs/super.c 2003-12-28 10:16:00.000000000 -0500 +++ linux/fs/jfs/super.c 2003-12-28 10:15:34.000000000 -0500 @@ -261,7 +261,7 @@ case Opt_resize: { char *resize = args[0].from; - if (!resize || !*resize) { + if (!resize || !*resize || *resize=='0') { *newLVSize = sb->s_bdev->bd_inode->i_size >> sb->s_blocksize_bits; if (*newLVSize == 0)
-Elliott Bennett lkml@dhtns.com - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |