[Ocfs2-tools-commits] smushran commits r1083 - trunk/tunefs.ocfs2

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Fri Sep 16 17:26:45 CDT 2005


Author: smushran
Date: 2005-09-16 17:26:44 -0500 (Fri, 16 Sep 2005)
New Revision: 1083

Modified:
   trunk/tunefs.ocfs2/tunefs.c
Log:
backing out tunefs changes

Modified: trunk/tunefs.ocfs2/tunefs.c
===================================================================
--- trunk/tunefs.ocfs2/tunefs.c	2005-09-16 22:19:16 UTC (rev 1082)
+++ trunk/tunefs.ocfs2/tunefs.c	2005-09-16 22:26:44 UTC (rev 1083)
@@ -64,7 +64,7 @@
 
 typedef struct _ocfs2_tune_opts {
 	uint16_t num_slots;
-	uint64_t num_blocks;
+	uint64_t vol_size;
 	uint64_t jrnl_size;
 	char *vol_label;
 	char *progname;
@@ -79,14 +79,13 @@
 static ocfs2_tune_opts opts;
 static ocfs2_filesys *fs_gbl = NULL;
 static int cluster_locked = 0;
-static int resize = 1;
 
 static void usage(const char *progname)
 {
 	fprintf(stderr, "usage: %s [-N number-of-node-slots] "
 			"[-L volume-label]\n"
-			"\t[-J journal-options] [-S] [-qvV] "
-			"device [blocks-count]\n",
+			"\t[-J journal-options] [-S volume-size] [-qvV] "
+			"device\n",
 			progname);
 	exit(0);
 }
@@ -237,8 +236,6 @@
 	int ret;
 	char *dummy;
 	uint64_t val;
-	int resize = 0;
-	errcode_t ret = 0;
 
 	static struct option long_options[] = {
 		{ "label", 1, 0, 'L' },
@@ -259,7 +256,7 @@
 	opts.prompt = 1;
 
 	while (1) {
-		c = getopt_long(argc, argv, "L:N:J:SvqVx", long_options, 
+		c = getopt_long(argc, argv, "L:N:J:S:vqVx", long_options, 
 				NULL);
 
 		if (c == -1)
@@ -302,7 +299,10 @@
 			break;
 
 		case 'S':
-			resize = 1;
+			ret = get_number(optarg, &val);
+			if (ret)
+				exit(1);
+			opts.vol_size = val;
 			break;
 
 		case 'v':
@@ -337,67 +337,12 @@
 		usage(opts.progname);
 
 	opts.device = strdup(argv[optind]);
-	optind++;
 
-	if (optind < argc) {
-		ops.num_blocks = strtoull(argv[optind], &dummy, 0);
-		if ((*dummy)) {
-			com_err(opts.progname, 0, "Block count bad - %s",
-				argv[optind]);
-			exit(1);
-		}
-		optind++;
-	}
-
-	if (optind < argc)
-		usage(progname);
-
 	opts.tune_time = time(NULL);
 
 	return ;
 }
 
-static void get_vol_size(ocfs2_filesys *fs)
-{
-	errcode_t ret = 0;
-	uint64_t num_blocks;
-
-	ret = ocfs2_get_device_size(opts.device, fs->fs_blocksize,
-				    &num_blocks);
-	if (ret) {
-		com_err(opts.progname, ret, "while getting size of device %s",
-			opts.device);
-		exit(1);
-	}
-
-	if (!opts.num_blocks ||
-	    opts.num_blocks > num_blocks)
-		opts.num_blocks = num_blocks;
-
-	return ;
-}
-
-static int validate_vol_size(ocfs2_filesys *fs)
-{
-	uint64_t num_blocks;
-
-	if (opts.num_blocks < fs->fs_blocks) {
-		printf("Cannot reduce volume size from "
-		       "%"PRIu64" blocks to %"PRIu64" blocks\n",
-		       fs->fs_blocks, opts.num_blocks);
-		return -1;
-	}
-
-	num_blocks = ocfs2_clusters_to_blocks(fs, 1);
-	if (num_blocks > (opts.num_blocks - fs->fs_blocks)) {
-		printf("Cannot increase volume size less than "
-		       "%d blocks\n", num_blocks);
-		return -1;
-	}
-
-	return 0;
-}
-
 static errcode_t add_slots(ocfs2_filesys *fs)
 {
 	errcode_t ret = 0;
@@ -683,68 +628,11 @@
 
 	return ret;
 }
-#if 0
-typedef struct _ocfs2_chain_list {
-/*00*/	__u16 cl_cpg;			/* Clusters per Block Group */
-	__u16 cl_bpc;			/* Bits per cluster */
-	__u16 cl_count;			/* Total chains in this list */
-	__u16 cl_next_free_rec;		/* Next unused chain slot */
-	__u64 cl_reserved1;
-/*10*/	ocfs2_chain_rec cl_recs[0];	/* Chain records */
-} ocfs2_chain_list;
 
-typedef struct _ocfs2_chain_rec {
-	__u32 c_free;	/* Number of free bits in this chain. */
-	__u32 c_total;	/* Number of total bits in this chain */
-	__u64 c_blkno;	/* Physical disk offset (blocks) of 1st group */
-} ocfs2_chain_rec;
-#endif
-
 static errcode_t update_volume_size(ocfs2_filesys *fs, int *changed)
 {
-	errcode_t ret = 0;
-	ocfs2_dinode *di;
-	uint64_t blkno;
-	char *buf = NULL;
-	ocfs2_chain_list *cl;
-	ocfs2_chain_rec *cr;
-
-	num_clusters = ocfs2_blocks_to_clusters(fs, opts.num_blocks);
-	new_clusters = num_clusters - fs->fs_clusters;
-
-	/* read global bitmap */
-	ret = ocfs2_malloc_block(fs->fs_io, &buf);
-	if (ret)
-		return ret;
-
-	ret = ocfs2_lookup_system_inode(fs, GLOBAL_BITMAP_SYSTEM_INODE, 0,
-					&blkno);
-	if (ret)
-		goto bail;
-
-	ret = ocfs2_read_inode(fs, blkno, buf);
-	if (ret)
-		goto bail;
-
-	di = (ocfs2_dinode *)buf;
-	cl = &(di->id2.i_chain);
-
-	if (cl->cl_next_free_rec <= cl->cl_count) {
-		cr = cl->cl_recs[cl->cl_next_free_rec - 1];
-		if (cr->total < cl->cl_cpg) {
-			t = cl->cl_cpg - cr->total;
-		}
-
-	}
-
-		num_clusters = ocfs2_blocks_to_clusters(fs, opts.num_blocks);
-
-
-bail:
-	if (buf)
-		ocfs2_free(&buf);
-
-	return ret;
+	printf("TODO: update_volume_size\n");
+	return 0;
 }
 
 int main(int argc, char **argv)
@@ -754,10 +642,11 @@
 	int upd_label = 0;
 	int upd_slots = 0;
 	int upd_jrnls = 0;
-	int upd_blocks = 0;
+	int upd_vsize = 0;
 	uint16_t tmp;
 	uint64_t def_jrnl_size = 0;
 	uint64_t num_clusters;
+	uint64_t vol_size = 0;
 	int dirty = 0;
 
 	initialize_ocfs_error_table();
@@ -794,9 +683,6 @@
 	}
 	fs_gbl = fs;
 
-	if (resize)
-		get_vol_size(fs);
-
 	ret = ocfs2_initialize_dlm(fs);
 	if (ret) {
 		com_err(opts.progname, ret, " ");
@@ -860,7 +746,7 @@
 			}
 		}
 	}
-#if 0
+
 	/* validate volume size */
 	if (opts.vol_size) {
 		num_clusters = (opts.vol_size + fs->fs_clustersize - 1) >>
@@ -874,21 +760,7 @@
 		printf("Changing volume size %"PRIu64" to %"PRIu64"\n",
 		       vol_size, opts.vol_size);
 	}
-#endif
-	/* validate volume size */
-	if (opts.num_blocks) {
-		if (validate_vol_size(ocfs2_filesys *fs))
-			opts.num_blocks = 0;
-		else
-			printf("Changing volume size %"PRIu64" blocks to "
-			       "%"PRIu64" blocks\n", fs->fs_blocks,
-			       opts.num_blocks);
-	}
 
-	if (!opts.vol_label && !opts.num_slots &&
-	    !opts.jrnl_size && !opts.num_blocks)
-		goto unlock;
-
 	/* Abort? */
 	if (opts.prompt) {
 		printf("Proceed (y/N): ");
@@ -930,18 +802,18 @@
 	}
 
 	/* update volume size */
-	if (opts.num_blocks) {
-		ret = update_volume_size(fs, &upd_blocks);
+	if (opts.vol_size) {
+		ret = update_volume_size(fs, &upd_vsize);
 		if (ret) {
 			com_err(opts.progname, ret, "while updating volume size");
 			goto unlock;
 		}
-		if (upd_blocks)
+		if (upd_vsize)
 			printf("Resized volume\n");
 	}
 
 	/* write superblock */
-	if (upd_label || upd_slots || upd_blocks) {
+	if (upd_label || upd_slots || upd_vsize) {
 		block_signals(SIG_BLOCK);
 		ret = ocfs2_write_super(fs);
 		if (ret) {



More information about the Ocfs2-tools-commits mailing list