[stgt] [PATCH 6/7] rm dump_tape
FUJITA Tomonori
fujita.tomonori at lab.ntt.co.jp
Wed Dec 24 14:52:30 CET 2008
Signed-off-by: FUJITA Tomonori <fujita.tomonori at lab.ntt.co.jp>
---
usr/Makefile | 7 +--
usr/dump_tape.c | 203 -------------------------------------------------------
2 files changed, 1 insertions(+), 209 deletions(-)
delete mode 100644 usr/dump_tape.c
diff --git a/usr/Makefile b/usr/Makefile
index a75401f..b5f6ac3 100644
--- a/usr/Makefile
+++ b/usr/Makefile
@@ -58,7 +58,7 @@ CFLAGS += -DTGT_VERSION=\"$(VERSION)$(EXTRAVERSION)\"
LIBS += -lpthread
-PROGRAMS += tgtd tgtadm tgtimg dump_tape
+PROGRAMS += tgtd tgtadm tgtimg
SCRIPTS += ../scripts/tgt-setup-lun ../scripts/tgt-admin
TGTD_OBJS += tgtd.o mgmt.o target.o scsi.o log.o driver.o util.o work.o \
parser.o spc.o sbc.o mmc.o osd.o scc.o smc.o \
@@ -87,11 +87,6 @@ tgtimg: tgtimg.o libssc.o libcrc32c.o
-include tgtimg.d libssc.d
-dump_tape: dump_tape.o libssc.o libcrc32c.o
- $(CC) $^ -o $@
-
--include dump_tape.d libssc.d
-
%.o: %.c
$(CC) -c $(CFLAGS) $*.c -o $*.o
@$(CC) -MM $(CFLAGS) -MF $*.d -MT $*.o $*.c
diff --git a/usr/dump_tape.c b/usr/dump_tape.c
deleted file mode 100644
index 7b16925..0000000
--- a/usr/dump_tape.c
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * Dump headers of 'tape' datafile
- *
- * Copyright (C) 2008 Mark Harvey markh794 at gmail.com
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-#include <unistd.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <string.h>
-#include <inttypes.h>
-#include <time.h>
-#include "scsi.h"
-#include "media.h"
-#include "ssc.h"
-#include "bs_ssc.h"
-#include "libssc.h"
-
-void print_current_header(struct blk_header_info *pos)
-{
- switch (pos->blk_type) {
- case BLK_UNCOMPRESS_DATA:
- printf(" Uncompressed data");
- break;
- case BLK_FILEMARK:
- printf(" Filemark");
- break;
- case BLK_BOT:
- printf("Beginning of Tape");
- break;
- case BLK_EOD:
- printf(" End of Data");
- break;
- case BLK_NOOP:
- printf(" No Operation");
- break;
- default:
- printf(" Unknown type");
- break;
- }
- if (pos->blk_type == BLK_BOT)
- printf("(%d): Capacity %d MB, Blk No.: %" PRId64
- ", prev %" PRId64 ", curr %" PRId64 ", next %" PRId64 "\n",
- pos->blk_type,
- pos->blk_sz,
- pos->blk_num,
- (uint64_t)pos->prev,
- (uint64_t)pos->curr,
- (uint64_t)pos->next);
- else
- printf("(%d): Blk No. %" PRId64 ", prev %" PRId64 ""
- ", curr %" PRId64 ", next %" PRId64 ", sz %d\n",
- pos->blk_type,
- pos->blk_num,
- (uint64_t)pos->prev,
- (uint64_t)pos->curr,
- (uint64_t)pos->next,
- pos->ondisk_sz);
-}
-
-int skip_to_next_header(int fd, struct blk_header_info *pos)
-{
- int ret;
-
- ret = ssc_read_blkhdr(fd, pos, pos->next);
- if (ret)
- printf("Could not read complete blk header - short read!!\n");
-
- return ret;
-}
-
-int main(int argc, char *argv[])
-{
- int ofp;
- char *progname;
- char datafile[1024] = "";
- loff_t nread;
- struct MAM_info mam;
- struct blk_header_info current_position;
- time_t t;
- int a;
- unsigned char *p;
-
- progname = argv[0];
-
- if (argc < 2) {
- printf("Usage: %s -f <media>\n", progname);
- exit(1);
- }
-
- while (argc > 0) {
- if (argv[0][0] == '-') {
- switch (argv[0][1]) {
- case 'f':
- if (argc > 1) {
- strncpy(datafile, argv[1],
- sizeof(datafile));
- } else {
- puts(" More args needed for -f\n");
- exit(1);
- }
- break;
- }
- }
- argv++;
- argc--;
- }
-
- if (strlen(datafile) == 0) {
- printf("Usage: %s -f <media>\n", progname);
- exit(1);
- }
-
- ofp = open(datafile, O_RDWR|O_LARGEFILE);
- if (ofp == -1) {
- fprintf(stderr, "%s, ", datafile);
- perror("Could not open");
- exit(1);
- }
-
- nread = ssc_read_blkhdr(ofp, ¤t_position, 0);
- if (nread) {
- perror("Could not read blk header");
- exit(1);
- }
-
- nread = ssc_read_mam_info(ofp, &mam);
- if (nread) {
- perror("Could not read MAM");
- exit(1);
- }
-
- if (mam.tape_fmt_version != TGT_TAPE_VERSION) {
- printf("Unknown media format version %x\n",
- mam.tape_fmt_version);
- exit(1);
- }
-
- printf("Media : %s\n", mam.barcode);
- switch (mam.medium_type) {
- case CART_UNSPECIFIED:
- printf(" type : Unspecified\n");
- break;
- case CART_DATA:
- printf(" type : Data\n");
- break;
- case CART_CLEAN:
- printf(" type : Cleaning\n");
- break;
- case CART_DIAGNOSTICS:
- printf(" type : Diagnostics\n");
- break;
- case CART_WORM:
- printf(" type : WORM\n");
- break;
- case CART_MICROCODE:
- printf(" type : Microcode\n");
- break;
- default:
- printf(" type : Unknown\n");
- }
- printf("Media serial number : %s, ", mam.medium_serial_number);
-
- for (a = strlen((const char *)mam.medium_serial_number); a > 0; a--)
- if (mam.medium_serial_number[a] == '_')
- break;
- if (a) {
- a++;
- p = &mam.medium_serial_number[a];
- t = atoll((const char *)p);
- printf("created %s", ctime(&t));
- }
- printf("\n");
-
- print_current_header(¤t_position);
- while (current_position.blk_type != BLK_EOD) {
- nread = skip_to_next_header(ofp, ¤t_position);
- if (nread)
- break;
- print_current_header(¤t_position);
- }
-
- return (0);
-}
--
1.5.6.5
--
To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
More information about the stgt
mailing list