--- /usr/tmp/TmpDir.26947-0/cmd/xfsprogs/mkfs/xfs_mkfs.c_1.34 Wed Aug 14 14:13:59 2002 +++ cmd/xfsprogs/mkfs/xfs_mkfs.c Wed Aug 14 13:57:11 2002 @@ -439,6 +439,7 @@ int dsw; int dsunit; int dswidth; + int dummy1; int extent_flagging; int force_overwrite; int i; @@ -496,6 +497,7 @@ libxfs_init_t xi; int xlv_dsunit; int xlv_dswidth; + int xlv_lsunit; progname = basename(argv[0]); agcount = 8; @@ -1173,7 +1175,7 @@ * and the underlying volume is striped, then set rtextblocks * to the stripe width. */ - int dummy1, rswidth; + int rswidth; __uint64_t rtextbytes; dummy1 = rswidth = 0; @@ -1589,6 +1591,25 @@ nodsflag = 1; } + xlv_lsunit = dummy1 = 0; + if (!xi.lisfile) + get_subvol_stripe_wrapper(dfile, SVTYPE_LOG, &xlv_lsunit, + &dummy1); + if (xlv_lsunit) { + fprintf(stderr, "log volume is striped, using v2 logs\n"); + logversion = 2; + } + + if (lsunit) { + if (xlv_dsunit && xlv_dsunit != lsunit) { + fprintf(stderr, "%s: " + "Specified log stripe unit %d is not the same as the xlv stripe unit %d\n", + progname, lsunit, xlv_lsunit); + } + } else { + lsunit = xlv_lsunit; /* ignored for v1 logs */ + } + /* * If dsunit is a multiple of fs blocksize, then check that is a * multiple of the agsize too