Bruce, In a previous version, we implemented a change to use ioctl's to gather information to ultimately calculate the device size. However, we have found that a value returned by one of the ioctl's isn't always correct. This affected mkfs.jfs and fsck.jfs. We took that ioctl out and use another method to calculate device size. The change will be in 1.0.16, our next drop.
I don't know if that is the problem you are having, but it sounds like it might be. Included is a patch to jfsutils-1.0.15/libfs/devices.c. Please apply it, and from jfsutils-1.0.15/, run 'make clean' and 'make' to rebuild mkfs.jfs and fsck.jfs with the new function. If this does not solve your problem, please send me the output from running mkfs.jfs. Thanks. Barry Arndt [EMAIL PROTECTED] IBM Linux Technology Center JFS for Linux http://oss.software.ibm.com/jfs --- devices.c.bak Mon Jan 28 16:38:53 2002 +++ devices.c Wed Mar 6 10:49:46 2002 @@ -19,6 +19,7 @@ #include <unistd.h> #include <sys/types.h> #include "jfs_types.h" +#include "jfs_filsys.h" #include <string.h> #include <stdio.h> @@ -31,9 +32,6 @@ #if defined(__linux__) && defined(_IO) && !defined(BLKGETSIZE) #define BLKGETSIZE _IO(0x12,96) /* return device size (sectors) */ #endif -#if defined(__linux__) && defined(_IO) && !defined(BLKSSZGET) -#define BLKSSZGET _IO(0x12,104) /* return sector size (bytes) */ -#endif /* * NAME: ujfs_get_dev_size @@ -67,19 +65,14 @@ char Test_Byte; /* used to validate a position that we successfully lseek'ed to. */ #ifdef BLKGETSIZE -#ifdef BLKSSZGET unsigned long num_sectors = 0; - unsigned long sector_size = 0; if (ioctl(device, BLKGETSIZE, &num_sectors) >= 0) { - if (ioctl(device, BLKSSZGET, §or_size) >= 0) { - /* for now, keep size as multiple of 1024, - not 512, so eliminate any odd sector. */ - *size = (int64_t)sector_size * (int64_t)((num_sectors/2)*2); - return NO_ERROR; - } + /* for now, keep size as multiple of 1024, + not 512, so eliminate any odd sector. */ + *size = PBSIZE * (int64_t)((num_sectors/2)*2); + return NO_ERROR; } -#endif #endif /* If the ioctl above fails or is undefined, use a binary search to find the last Bruce Wilkin <[EMAIL PROTECTED]>@www-124.southbury.usf.ibm.com on 03-05-2002 10:15:00 AM Sent by: [EMAIL PROTECTED] To: [EMAIL PROTECTED] cc: Subject: [Jfs-discussion] file system size limit? > 1TB mkfs.jfs failed Hello, I'd appreciate any help or suggestions with this. OS : Suse 7.3 JFS : 1.0.5 kernel: 2.4.10 Trying to create a JFS (or other) fs on a RAID 5 using 8 160GB drives. I've heard that the kernel should be able to address up to 2 TB. Mkfs.jfs reports that the filesystem was not created. TIA. - Bruce Wilkin _______________________________________________ Jfs-discussion mailing list [EMAIL PROTECTED] http://www-124.ibm.com/developerworks/oss/mailman/listinfo/jfs-discussion _______________________________________________ Jfs-discussion mailing list [EMAIL PROTECTED] http://www-124.ibm.com/developerworks/oss/mailman/listinfo/jfs-discussion
