[Ocfs2-tools-commits] zab commits r396 - trunk/mkfs.ocfs2
svn-commits at oss.oracle.com
svn-commits at oss.oracle.com
Fri Nov 12 16:52:05 CST 2004
Author: zab
Date: 2004-11-12 16:52:03 -0600 (Fri, 12 Nov 2004)
New Revision: 396
Modified:
trunk/mkfs.ocfs2/mkfs.c
Log:
o have mkfs honor the number of blocks specified on the command line
Modified: trunk/mkfs.ocfs2/mkfs.c
===================================================================
--- trunk/mkfs.ocfs2/mkfs.c 2004-11-12 01:27:05 UTC (rev 395)
+++ trunk/mkfs.ocfs2/mkfs.c 2004-11-12 22:52:03 UTC (rev 396)
@@ -205,6 +205,7 @@
uint32_t cluster_size;
uint32_t cluster_size_bits;
+ uint64_t specified_size_in_blocks;
uint64_t volume_size_in_bytes;
uint32_t volume_size_in_clusters;
uint64_t volume_size_in_blocks;
@@ -688,12 +689,13 @@
device_name = argv[optind];
optind++;
+ s = malloc(sizeof(State));
+ memset(s, 0, sizeof(State));
+
if (optind < argc) {
- unsigned long val;
-
- val = strtoul(argv[optind], &dummy, 0);
-
- if ((*dummy) || (val > 0xffffffffUL)) {
+ s->specified_size_in_blocks = strtoull(argv[optind], &dummy,
+ 0);
+ if ((*dummy)) {
com_err(progname, 0, "Block count bad - %s",
argv[optind]);
exit(1);
@@ -711,8 +713,6 @@
if (show_version)
exit(0);
- s = malloc(sizeof(State));
- memset(s, 0, sizeof(State));
s->progname = progname;
@@ -844,6 +844,19 @@
if (!s->volume_size_in_blocks) {
err = ocfs2_get_device_size(s->device_name, s->blocksize, &ret);
s->volume_size_in_blocks = ret;
+ if (s->specified_size_in_blocks) {
+ if (s->specified_size_in_blocks >
+ s->volume_size_in_blocks) {
+ printf("%"PRIu64" blocks were specified and "
+ "this is greater than the %"PRIu64" "
+ "blocks that make up %s.\n",
+ s->specified_size_in_blocks,
+ s->volume_size_in_blocks,
+ s->device_name);
+ exit(1);
+ }
+ s->volume_size_in_blocks = s->specified_size_in_blocks;
+ }
}
s->volume_size_in_bytes = s->volume_size_in_blocks * s->blocksize;
More information about the Ocfs2-tools-commits
mailing list