diff options
author | Karel Zak | 2012-05-30 17:17:49 +0200 |
---|---|---|
committer | Karel Zak | 2012-06-26 20:48:22 +0200 |
commit | 964339a986997a11fe6a0baab633ecef901b4398 (patch) | |
tree | b3e8b9080784a058d8b76e1f741b65f400b3f2ab | |
parent | build-sys: convert mount/ to module, rename to mount-deprecated/ (diff) | |
download | kernel-qcow2-util-linux-964339a986997a11fe6a0baab633ecef901b4398.tar.gz kernel-qcow2-util-linux-964339a986997a11fe6a0baab633ecef901b4398.tar.xz kernel-qcow2-util-linux-964339a986997a11fe6a0baab633ecef901b4398.zip |
mount: (old) remove mtab lock test
Signed-off-by: Karel Zak <kzak@redhat.com>
-rw-r--r-- | mount-deprecated/fstab.c | 135 |
1 files changed, 0 insertions, 135 deletions
diff --git a/mount-deprecated/fstab.c b/mount-deprecated/fstab.c index 90c8032fb..54b6ed132 100644 --- a/mount-deprecated/fstab.c +++ b/mount-deprecated/fstab.c @@ -1033,138 +1033,3 @@ update_mtab (const char *dir, struct my_mntent *instead) { unlock_mtab(); } - -#ifdef MAIN_TEST_MTABLOCK - -/* - * This is mtab locking code test for: - * - * - performance (how many concurrent processes) - * - * - lock reliability (is possible to see corrupted data if more - * concurrent processes modify a same file) - * - * The test is very simple -- it reads a number from locked file, increments the - * number and writes the number back to the file. - */ -/* dummy */ -char *fsprobe_get_label_by_devname(const char *spec __attribute__((__unused__))) -{ - return NULL; -} -char *fsprobe_get_uuid_by_devname(const char *spec __attribute__((__unused__))) -{ - return NULL; -} -int fsprobe_parse_spec(const char *spec __attribute__((__unused__)), - char **name __attribute__((__unused__)), - char **value __attribute__((__unused__))) -{ - return 0; -} -struct my_mntent *my_getmntent (mntFILE *mfp __attribute__((__unused__))) -{ - return NULL; -} -mntFILE *my_setmntent (const char *file __attribute__((__unused__)), - char *mode __attribute__((__unused__))) -{ - return NULL; -} -void my_endmntent (mntFILE *mfp __attribute__((__unused__))) -{ - /* nothing */ -} -int my_addmntent (mntFILE *mfp __attribute__((__unused__)), - struct my_mntent *mnt __attribute__((__unused__))) -{ - return 0; -} - -int -main(int argc, char **argv) -{ - time_t synctime; - char *filename; - int nloops, id, i; - pid_t pid = getpid(); - unsigned int usecs; - struct timeval tv; - struct stat st; - long last = 0; - - progname = argv[0]; - - if (argc < 3) - die(EXIT_FAILURE, - "usage: %s <id> <synctime> <file> <nloops>\n", - progname); - - id = atoi(argv[1]); - synctime = (time_t) atol(argv[2]); - filename = argv[3]; - nloops = atoi(argv[4]); - - if (stat(filename, &st) < -1) - die(EXIT_FAILURE, "%s: %m\n", filename); - - fprintf(stderr, "%05d (pid=%05d): START\n", id, pid); - - gettimeofday(&tv, NULL); - if (synctime && synctime - tv.tv_sec > 1) { - usecs = ((synctime - tv.tv_sec) * 1000000UL) - - (1000000UL - tv.tv_usec); - usleep(usecs); - } - - for (i = 0; i < nloops; i++) { - FILE *f; - long num; - char buf[256]; - - lock_mtab(); - - if (!(f = fopen(filename, "r"))) { - unlock_mtab(); - die(EXIT_FAILURE, "ERROR: %d (pid=%d, loop=%d): " - "open for read failed\n", id, pid, i); - } - if (!fgets(buf, sizeof(buf), f)) { - unlock_mtab(); - die(EXIT_FAILURE, "ERROR: %d (pid=%d, loop=%d): " - "read failed\n", id, pid, i); - } - fclose(f); - - num = atol(buf) + 1; - - if (!(f = fopen(filename, "w"))) { - unlock_mtab(); - die(EXIT_FAILURE, "ERROR: %d (pid=%d, loop=%d): " - "open for write failed\n", id, pid, i); - } - fprintf(f, "%ld", num); - fclose(f); - - unlock_mtab(); - - gettimeofday(&tv, NULL); - - fprintf(stderr, "%010ld.%06ld %04d (pid=%05d, loop=%05d): " - "num=%09ld last=%09ld\n", - tv.tv_sec, tv.tv_usec, id, - pid, i, num, last); - last = num; - - /* The mount command usually finish after mtab update. We - * simulate this via short sleep -- it's also enough to make - * concurrent processes happy. - */ - usleep(50000); - } - - fprintf(stderr, "%05d (pid=%05d): DONE\n", id, pid); - - exit(EXIT_SUCCESS); -} -#endif |