From 7f914da132fe0b47e2b1480ebc285400adff3dc3 Mon Sep 17 00:00:00 2001 From: enami Date: Wed, 7 Jul 2004 01:57:35 +0000 Subject: [PATCH] - Update to follow statvfs change. - Add expected results. --- regress/bin/df/Makefile | 4 +++- regress/bin/df/df-h.out | 43 +++++++++++++++++++++++++++++++++ regress/bin/df/df.out | 43 +++++++++++++++++++++++++++++++++ regress/bin/df/getmntinfo.c | 47 ++++++++++++++++++++----------------- 4 files changed, 115 insertions(+), 22 deletions(-) create mode 100644 regress/bin/df/df-h.out create mode 100644 regress/bin/df/df.out diff --git a/regress/bin/df/Makefile b/regress/bin/df/Makefile index ff14c03d01a0..29d6a6d54e9d 100644 --- a/regress/bin/df/Makefile +++ b/regress/bin/df/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1 2004/03/26 14:53:39 enami Exp $ +# $NetBSD: Makefile,v 1.2 2004/07/07 01:57:35 enami Exp $ NOMAN= # defined @@ -10,5 +10,7 @@ PROG= df SRCS= df.c strpct.c getmntinfo.c regress: + ./df | cmp ${.CURDIR}/df.out - + ./df -h | cmp ${.CURDIR}/df-h.out - .include diff --git a/regress/bin/df/df-h.out b/regress/bin/df/df-h.out new file mode 100644 index 000000000000..35b5f8ebc0e7 --- /dev/null +++ b/regress/bin/df/df-h.out @@ -0,0 +1,43 @@ +Filesystem Size Used Avail Capacity Mounted on +filer:/ 1.1T 132M 1.1T 0% /filer +filer:/ 1.1T 0B 1.1T 0% /filer +filer:/ 1.1T 229G 918G 20% /filer +filer:/ 1.1T 688G 459G 60% /filer +filer:/ 1.1T 1.1T 57G 95% /filer +filer:/ 1.1T 1.1T 0B 100% /filer +filer:/ 1.1T 0B 1.1T 0% /filer +filer:/ 1.1T 229G 860G 21% /filer +filer:/ 1.1T 688G 401G 63% /filer +filer:/ 1.1T 1.1T 0B 100% /filer +filer:/ 1.1T 1.1T -57G 105% /filer +filer:/ 1.1T 0B 1.0T 0% /filer +filer:/ 1.1T 229G 803G 22% /filer +filer:/ 1.1T 688G 344G 66% /filer +filer:/ 1.1T 1.1T -57G 105% /filer +filer:/ 1.1T 1.1T -115G 111% /filer +filer:/ 1.1T 0B 975G 0% /filer +filer:/ 1.1T 229G 746G 23% /filer +filer:/ 1.1T 688G 287G 70% /filer +filer:/ 1.1T 1.1T -115G 111% /filer +filer:/ 1.1T 1.1T -172G 117% /filer +/dev/ld0g 1.2T 17G 1.1T 1% /anon-root +/dev/ld0g 1.2T 0B 1.2T 0% /anon-root +/dev/ld0g 1.2T 250G 998G 20% /anon-root +/dev/ld0g 1.2T 749G 499G 60% /anon-root +/dev/ld0g 1.2T 1.2T 62G 95% /anon-root +/dev/ld0g 1.2T 1.2T 0B 100% /anon-root +/dev/ld0g 1.2T 0B 1.2T 0% /anon-root +/dev/ld0g 1.2T 250G 936G 21% /anon-root +/dev/ld0g 1.2T 749G 437G 63% /anon-root +/dev/ld0g 1.2T 1.2T 0B 100% /anon-root +/dev/ld0g 1.2T 1.2T -62G 105% /anon-root +/dev/ld0g 1.2T 0B 1.1T 0% /anon-root +/dev/ld0g 1.2T 250G 874G 22% /anon-root +/dev/ld0g 1.2T 749G 374G 66% /anon-root +/dev/ld0g 1.2T 1.2T -62G 105% /anon-root +/dev/ld0g 1.2T 1.2T -125G 111% /anon-root +/dev/ld0g 1.2T 0B 1.0T 0% /anon-root +/dev/ld0g 1.2T 250G 811G 23% /anon-root +/dev/ld0g 1.2T 749G 312G 70% /anon-root +/dev/ld0g 1.2T 1.2T -125G 111% /anon-root +/dev/ld0g 1.2T 1.2T -187G 117% /anon-root diff --git a/regress/bin/df/df.out b/regress/bin/df/df.out new file mode 100644 index 000000000000..a507f0205ece --- /dev/null +++ b/regress/bin/df/df.out @@ -0,0 +1,43 @@ +Filesystem 1K-blocks Used Avail Capacity Mounted on +filer:/ 1202716672 135168 1202581504 0% /filer +filer:/ 1202716672 0 1202716672 0% /filer +filer:/ 1202716672 240543334 962173337 20% /filer +filer:/ 1202716672 721630003 481086668 60% /filer +filer:/ 1202716672 1142580838 60135833 95% /filer +filer:/ 1202716672 1202716672 0 100% /filer +filer:/ 1202716672 0 1142580838 0% /filer +filer:/ 1202716672 240543334 902037504 21% /filer +filer:/ 1202716672 721630003 420950835 63% /filer +filer:/ 1202716672 1142580838 0 100% /filer +filer:/ 1202716672 1202716672 -60135833 105% /filer +filer:/ 1202716672 0 1082445004 0% /filer +filer:/ 1202716672 240543334 841901670 22% /filer +filer:/ 1202716672 721630003 360815001 66% /filer +filer:/ 1202716672 1142580838 -60135833 105% /filer +filer:/ 1202716672 1202716672 -120271667 111% /filer +filer:/ 1202716672 0 1022309171 0% /filer +filer:/ 1202716672 240543334 781765836 23% /filer +filer:/ 1202716672 721630003 300679168 70% /filer +filer:/ 1202716672 1142580838 -120271667 111% /filer +filer:/ 1202716672 1202716672 -180407500 117% /filer +/dev/ld0g 1308726116 17901268 1225388540 1% /anon-root +/dev/ld0g 1308726116 0 1308726116 0% /anon-root +/dev/ld0g 1308726116 261745224 1046980892 20% /anon-root +/dev/ld0g 1308726116 785235672 523490444 60% /anon-root +/dev/ld0g 1308726116 1243289812 65436304 95% /anon-root +/dev/ld0g 1308726116 1308726116 0 100% /anon-root +/dev/ld0g 1308726116 0 1243289808 0% /anon-root +/dev/ld0g 1308726116 261745224 981544584 21% /anon-root +/dev/ld0g 1308726116 785235672 458054140 63% /anon-root +/dev/ld0g 1308726116 1243289812 0 100% /anon-root +/dev/ld0g 1308726116 1308726116 -65436304 105% /anon-root +/dev/ld0g 1308726116 0 1177853504 0% /anon-root +/dev/ld0g 1308726116 261745224 916108280 22% /anon-root +/dev/ld0g 1308726116 785235672 392617832 66% /anon-root +/dev/ld0g 1308726116 1243289812 -65436304 105% /anon-root +/dev/ld0g 1308726116 1308726116 -130872608 111% /anon-root +/dev/ld0g 1308726116 0 1112417196 0% /anon-root +/dev/ld0g 1308726116 261745224 850671972 23% /anon-root +/dev/ld0g 1308726116 785235672 327181528 70% /anon-root +/dev/ld0g 1308726116 1243289812 -130872608 111% /anon-root +/dev/ld0g 1308726116 1308726116 -196308916 117% /anon-root diff --git a/regress/bin/df/getmntinfo.c b/regress/bin/df/getmntinfo.c index 0600f59de14d..405cca11b805 100644 --- a/regress/bin/df/getmntinfo.c +++ b/regress/bin/df/getmntinfo.c @@ -1,4 +1,4 @@ -/* $NetBSD: getmntinfo.c,v 1.1 2004/03/26 14:53:39 enami Exp $ */ +/* $NetBSD: getmntinfo.c,v 1.2 2004/07/07 01:57:35 enami Exp $ */ #include #include @@ -12,47 +12,48 @@ #define MB * 1024 KB #define GB * 1024 MB -static struct statfs *getnewstatfs(void); -static void other_variants(const struct statfs *, const int *, int, +static struct statvfs *getnewstatvfs(void); +static void other_variants(const struct statvfs *, const int *, int, const int *, int); static void setup_filer(void); static void setup_ld0g(void); -static struct statfs *allstatfs; +static struct statvfs *allstatvfs; static int sftotal, sfused; -struct statfs * -getnewstatfs(void) +struct statvfs * +getnewstatvfs(void) { if (sftotal == sfused) { sftotal = sftotal ? sftotal * 2 : 1; - allstatfs = realloc(allstatfs, - sftotal * sizeof(struct statfs)); - if (allstatfs == NULL) + allstatvfs = realloc(allstatvfs, + sftotal * sizeof(struct statvfs)); + if (allstatvfs == NULL) err(EXIT_FAILURE, "realloc"); } - return (&allstatfs[sfused++]); + return (&allstatvfs[sfused++]); } void -other_variants(const struct statfs *tmpl, const int *minfree, int minfreecnt, +other_variants(const struct statvfs *tmpl, const int *minfree, int minfreecnt, const int *consumed, int consumedcnt) { int64_t total, used; - struct statfs *sf; + struct statvfs *sf; int i, j; for (i = 0; i < minfreecnt; i++) for (j = 0; j < consumedcnt; j++) { - sf = getnewstatfs(); + sf = getnewstatvfs(); *sf = *tmpl; total = (int64_t)(u_long)sf->f_blocks * sf->f_bsize; used = total * consumed[j] / 100; sf->f_bfree = (total - used) / sf->f_bsize; sf->f_bavail = (total * (100 - minfree[i]) / 100 - used) / sf->f_bsize; + sf->f_bresvd = sf->f_bfree - sf->f_bavail; } } @@ -63,14 +64,16 @@ other_variants(const struct statfs *tmpl, const int *minfree, int minfreecnt, void setup_filer(void) { - static const struct statfs tmpl = { + static const struct statvfs tmpl = { #define BSIZE 512 #define TOTAL 1147ULL GB #define USED 132ULL MB .f_bsize = BSIZE, + .f_frsize = BSIZE, .f_blocks = TOTAL / BSIZE, .f_bfree = (TOTAL - USED) / BSIZE, .f_bavail = (TOTAL - USED) / BSIZE, + .f_bresvd = 0, .f_mntfromname = "filer:/", .f_mntonname = "/filer", #undef USED @@ -79,9 +82,9 @@ setup_filer(void) }; static const int minfree[] = { 0, 5, 10, 15, }; static const int consumed[] = { 0, 20, 60, 95, 100 }; - struct statfs *sf; + struct statvfs *sf; - sf = getnewstatfs(); + sf = getnewstatvfs(); *sf = tmpl; other_variants(&tmpl, minfree, sizeof(minfree) / sizeof(minfree[0]), consumed, sizeof(consumed) / sizeof(consumed[0])); @@ -94,15 +97,17 @@ setup_filer(void) void setup_ld0g(void) { - static const struct statfs tmpl = { + static const struct statvfs tmpl = { #define BSIZE 4096 /* Guess */ #define TOTAL 1308726116ULL KB #define USED 17901268ULL KB #define AVAIL 1225388540ULL KB .f_bsize = BSIZE, + .f_frsize = BSIZE, .f_blocks = TOTAL / BSIZE, .f_bfree = (TOTAL - USED) / BSIZE, .f_bavail = AVAIL / BSIZE, + .f_bresvd = (TOTAL - USED) / BSIZE - AVAIL / BSIZE, .f_mntfromname = "/dev/ld0g", .f_mntonname = "/anon-root", #undef AVAIL @@ -112,21 +117,21 @@ setup_ld0g(void) }; static const int minfree[] = { 0, 5, 10, 15, }; static const int consumed[] = { 0, 20, 60, 95, 100 }; - struct statfs *sf; + struct statvfs *sf; - sf = getnewstatfs(); + sf = getnewstatvfs(); *sf = tmpl; other_variants(&tmpl, minfree, sizeof(minfree) / sizeof(minfree[0]), consumed, sizeof(consumed) / sizeof(consumed[0])); } int -getmntinfo(struct statfs **mntbuf, int flags) +getmntinfo(struct statvfs **mntbuf, int flags) { setup_filer(); setup_ld0g(); - *mntbuf = allstatfs; + *mntbuf = allstatvfs; return (sfused); }