On Wed, 2005-06-29 at 10:32 -0700, Jeff Block wrote:
> On 6/28/05 6:47 PM, "Dave Kleikamp" <[EMAIL PROTECTED]> wrote:
>
> I'm using jfsutils version 1.1.7, 22-Jul-2004 and the man page says that you
> each filesystem needs to have it's own external journal device.
Oops. I missed that. I need to update the man page.
> I've tried this and it has failed as well. I've removed one of the
> partitions from the md mirror and run mkfs on it.
> The mkfs doesn't finish and gives the same error as before. Again, this
> problem seems to only occur when making the journal device with mkfs (I can
> run a normal 'mkfs.jfs /dev/sd...' just fine). I've attached the strace
> output to 'mkfs -f -J journal_dev /dev/sdc7'.
> /dev/sdc7 was removed from the mirror. It doesn't show up in /proc/mounts,
> /proc/mdstat, and it is in /proc/partitions.
I feel really stupid. -J journal_dev is completely broken. I guess
I've always (or at least for a long time) used "mkfs -j <journal_dev>
<device>". mkfs.jfs is trying to open the same device twice with
O_EXCL. Duh. This patch to jfsutils-1.1.8
(http://jfs.sourceforge.net/project/pub/jfsutils-1.1.8.tar.gz) should
fix it.
I still need to figure out why you're having trouble mounting the file
system.
> Thanks.
>
> Jeff
>
--
David Kleikamp
IBM Linux Technology Center
Index: jfsutils/mkfs/mkfs.c
===================================================================
RCS file: /cvsroot/jfs/jfsutils/mkfs/mkfs.c,v
retrieving revision 1.39
diff -u -p -r1.39 mkfs.c
--- jfsutils/mkfs/mkfs.c 16 Mar 2005 18:09:28 -0000 1.39
+++ jfsutils/mkfs/mkfs.c 29 Jun 2005 18:01:57 -0000
@@ -805,6 +805,7 @@ int main(int argc, char *argv[])
*/
if (ext_journal_opt == create_journal_only) {
strcpy(logdev, argv[optind]);
+ goto format_journal;
}
optind++;
@@ -979,6 +980,7 @@ int main(int argc, char *argv[])
if (logdev[0] != '\0') {
int fd;
+format_journal:
/* A log device was specified on the command line. Call
* jfs_logform() to initialize the log */
fd = open(logdev, LogOpenMode, 0);