diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-09-28 10:29:17 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-09-28 10:29:17 +0000 |
commit | b9256054419582dc35917b1cb39c7e09f489dfad (patch) | |
tree | 2ce3a816b788b3af5fa54109b765ee22d5550c5e /util-linux | |
parent | c3122bca53255799f052fcc0e911b68237faa12d (diff) | |
download | busybox-w32-b9256054419582dc35917b1cb39c7e09f489dfad.tar.gz busybox-w32-b9256054419582dc35917b1cb39c7e09f489dfad.tar.bz2 busybox-w32-b9256054419582dc35917b1cb39c7e09f489dfad.zip |
assorted static vars removal
function old new delta
tcpudpsvd_main 1829 1839 +10
update_status 567 569 +2
sigterm 1 - -1
.........
dhcprelay_signal_handler 8 - -8
nfs_strerror 60 49 -11
singlemount 4579 4564 -15
static.p 16 - -16
svstatus 20 - -20
dhcprelay_xid_list 32 - -32
runsv_main 1785 1746 -39
static.buf 74 28 -46
svd 56 - -56
dhcprelay_main 1141 1080 -61
------------------------------------------------------------------------------
(add/remove: 0/20 grow/shrink: 2/10 up/down: 12/-386) Total: -374 bytes
Diffstat (limited to 'util-linux')
-rw-r--r-- | util-linux/mount.c | 77 |
1 files changed, 36 insertions, 41 deletions
diff --git a/util-linux/mount.c b/util-linux/mount.c index d391a26e1..ea3300176 100644 --- a/util-linux/mount.c +++ b/util-linux/mount.c | |||
@@ -66,10 +66,10 @@ enum { | |||
66 | /* Standard mount options (from -o options or --options), with corresponding | 66 | /* Standard mount options (from -o options or --options), with corresponding |
67 | * flags */ | 67 | * flags */ |
68 | 68 | ||
69 | struct { | 69 | static const struct { |
70 | const char *name; | 70 | const char *name; |
71 | long flags; | 71 | long flags; |
72 | } static mount_options[] = { | 72 | } mount_options[] = { |
73 | // MS_FLAGS set a bit. ~MS_FLAGS disable that bit. 0 flags are NOPs. | 73 | // MS_FLAGS set a bit. ~MS_FLAGS disable that bit. 0 flags are NOPs. |
74 | 74 | ||
75 | USE_FEATURE_MOUNT_LOOP( | 75 | USE_FEATURE_MOUNT_LOOP( |
@@ -231,7 +231,7 @@ static llist_t *get_block_backed_filesystems(void) | |||
231 | return list; | 231 | return list; |
232 | } | 232 | } |
233 | 233 | ||
234 | llist_t *fslist = 0; | 234 | static llist_t *fslist; |
235 | 235 | ||
236 | #if ENABLE_FEATURE_CLEAN_UP | 236 | #if ENABLE_FEATURE_CLEAN_UP |
237 | static void delete_block_backed_filesystems(void) | 237 | static void delete_block_backed_filesystems(void) |
@@ -562,14 +562,12 @@ static const struct { | |||
562 | static char *nfs_strerror(int status) | 562 | static char *nfs_strerror(int status) |
563 | { | 563 | { |
564 | int i; | 564 | int i; |
565 | static char buf[sizeof("unknown nfs status return value: ") + sizeof(int)*3]; | ||
566 | 565 | ||
567 | for (i = 0; nfs_errtbl[i].stat != -1; i++) { | 566 | for (i = 0; nfs_errtbl[i].stat != -1; i++) { |
568 | if (nfs_errtbl[i].stat == status) | 567 | if (nfs_errtbl[i].stat == status) |
569 | return strerror(nfs_errtbl[i].errnum); | 568 | return strerror(nfs_errtbl[i].errnum); |
570 | } | 569 | } |
571 | sprintf(buf, "unknown nfs status return value: %d", status); | 570 | return xasprintf("unknown nfs status return value: %d", status); |
572 | return buf; | ||
573 | } | 571 | } |
574 | 572 | ||
575 | static bool_t xdr_fhandle(XDR *xdrs, fhandle objp) | 573 | static bool_t xdr_fhandle(XDR *xdrs, fhandle objp) |
@@ -642,11 +640,7 @@ static bool_t xdr_mountres3(XDR *xdrs, mountres3 *objp) | |||
642 | 640 | ||
643 | #define MAX_NFSPROT ((nfs_mount_version >= 4) ? 3 : 2) | 641 | #define MAX_NFSPROT ((nfs_mount_version >= 4) ? 3 : 2) |
644 | 642 | ||
645 | /* | 643 | static smalluint nfs_mount_version; |
646 | * nfs_mount_version according to the sources seen at compile time. | ||
647 | */ | ||
648 | static int nfs_mount_version; | ||
649 | static int kernel_version; | ||
650 | 644 | ||
651 | /* | 645 | /* |
652 | * Unfortunately, the kernel prints annoying console messages | 646 | * Unfortunately, the kernel prints annoying console messages |
@@ -662,7 +656,9 @@ static int kernel_version; | |||
662 | static void | 656 | static void |
663 | find_kernel_nfs_mount_version(void) | 657 | find_kernel_nfs_mount_version(void) |
664 | { | 658 | { |
665 | if (kernel_version) | 659 | int kernel_version; |
660 | |||
661 | if (nfs_mount_version) | ||
666 | return; | 662 | return; |
667 | 663 | ||
668 | nfs_mount_version = 4; /* default */ | 664 | nfs_mount_version = 4; /* default */ |
@@ -679,15 +675,15 @@ find_kernel_nfs_mount_version(void) | |||
679 | } | 675 | } |
680 | } | 676 | } |
681 | 677 | ||
682 | static struct pmap * | 678 | static void |
683 | get_mountport(struct sockaddr_in *server_addr, | 679 | get_mountport(struct pmap *pm_mnt, |
680 | struct sockaddr_in *server_addr, | ||
684 | long unsigned prog, | 681 | long unsigned prog, |
685 | long unsigned version, | 682 | long unsigned version, |
686 | long unsigned proto, | 683 | long unsigned proto, |
687 | long unsigned port) | 684 | long unsigned port) |
688 | { | 685 | { |
689 | struct pmaplist *pmap; | 686 | struct pmaplist *pmap; |
690 | static struct pmap p = {0, 0, 0, 0}; | ||
691 | 687 | ||
692 | server_addr->sin_port = PMAPPORT; | 688 | server_addr->sin_port = PMAPPORT; |
693 | /* glibc 2.4 (still) has pmap_getmaps(struct sockaddr_in *). | 689 | /* glibc 2.4 (still) has pmap_getmaps(struct sockaddr_in *). |
@@ -698,35 +694,34 @@ get_mountport(struct sockaddr_in *server_addr, | |||
698 | version = MAX_NFSPROT; | 694 | version = MAX_NFSPROT; |
699 | if (!prog) | 695 | if (!prog) |
700 | prog = MOUNTPROG; | 696 | prog = MOUNTPROG; |
701 | p.pm_prog = prog; | 697 | pm_mnt->pm_prog = prog; |
702 | p.pm_vers = version; | 698 | pm_mnt->pm_vers = version; |
703 | p.pm_prot = proto; | 699 | pm_mnt->pm_prot = proto; |
704 | p.pm_port = port; | 700 | pm_mnt->pm_port = port; |
705 | 701 | ||
706 | while (pmap) { | 702 | while (pmap) { |
707 | if (pmap->pml_map.pm_prog != prog) | 703 | if (pmap->pml_map.pm_prog != prog) |
708 | goto next; | 704 | goto next; |
709 | if (!version && p.pm_vers > pmap->pml_map.pm_vers) | 705 | if (!version && pm_mnt->pm_vers > pmap->pml_map.pm_vers) |
710 | goto next; | 706 | goto next; |
711 | if (version > 2 && pmap->pml_map.pm_vers != version) | 707 | if (version > 2 && pmap->pml_map.pm_vers != version) |
712 | goto next; | 708 | goto next; |
713 | if (version && version <= 2 && pmap->pml_map.pm_vers > 2) | 709 | if (version && version <= 2 && pmap->pml_map.pm_vers > 2) |
714 | goto next; | 710 | goto next; |
715 | if (pmap->pml_map.pm_vers > MAX_NFSPROT || | 711 | if (pmap->pml_map.pm_vers > MAX_NFSPROT || |
716 | (proto && p.pm_prot && pmap->pml_map.pm_prot != proto) || | 712 | (proto && pm_mnt->pm_prot && pmap->pml_map.pm_prot != proto) || |
717 | (port && pmap->pml_map.pm_port != port)) | 713 | (port && pmap->pml_map.pm_port != port)) |
718 | goto next; | 714 | goto next; |
719 | memcpy(&p, &pmap->pml_map, sizeof(p)); | 715 | memcpy(pm_mnt, &pmap->pml_map, sizeof(*pm_mnt)); |
720 | next: | 716 | next: |
721 | pmap = pmap->pml_next; | 717 | pmap = pmap->pml_next; |
722 | } | 718 | } |
723 | if (!p.pm_vers) | 719 | if (!pm_mnt->pm_vers) |
724 | p.pm_vers = MOUNTVERS; | 720 | pm_mnt->pm_vers = MOUNTVERS; |
725 | if (!p.pm_port) | 721 | if (!pm_mnt->pm_port) |
726 | p.pm_port = MOUNTPORT; | 722 | pm_mnt->pm_port = MOUNTPORT; |
727 | if (!p.pm_prot) | 723 | if (!pm_mnt->pm_prot) |
728 | p.pm_prot = IPPROTO_TCP; | 724 | pm_mnt->pm_prot = IPPROTO_TCP; |
729 | return &p; | ||
730 | } | 725 | } |
731 | 726 | ||
732 | #if BB_MMU | 727 | #if BB_MMU |
@@ -1147,7 +1142,7 @@ static int nfsmount(struct mntent *mp, int vfsflags, char *filteropts) | |||
1147 | { | 1142 | { |
1148 | struct timeval total_timeout; | 1143 | struct timeval total_timeout; |
1149 | struct timeval retry_timeout; | 1144 | struct timeval retry_timeout; |
1150 | struct pmap* pm_mnt; | 1145 | struct pmap pm_mnt; |
1151 | time_t t; | 1146 | time_t t; |
1152 | time_t prevt; | 1147 | time_t prevt; |
1153 | time_t timeout; | 1148 | time_t timeout; |
@@ -1164,32 +1159,32 @@ retry: | |||
1164 | if (t - prevt < 30) | 1159 | if (t - prevt < 30) |
1165 | sleep(30); | 1160 | sleep(30); |
1166 | 1161 | ||
1167 | pm_mnt = get_mountport(&mount_server_addr, | 1162 | get_mountport(&pm_mnt, &mount_server_addr, |
1168 | mountprog, | 1163 | mountprog, |
1169 | mountvers, | 1164 | mountvers, |
1170 | proto, | 1165 | proto, |
1171 | mountport); | 1166 | mountport); |
1172 | nfsvers = (pm_mnt->pm_vers < 2) ? 2 : pm_mnt->pm_vers; | 1167 | nfsvers = (pm_mnt.pm_vers < 2) ? 2 : pm_mnt.pm_vers; |
1173 | 1168 | ||
1174 | /* contact the mount daemon via TCP */ | 1169 | /* contact the mount daemon via TCP */ |
1175 | mount_server_addr.sin_port = htons(pm_mnt->pm_port); | 1170 | mount_server_addr.sin_port = htons(pm_mnt.pm_port); |
1176 | msock = RPC_ANYSOCK; | 1171 | msock = RPC_ANYSOCK; |
1177 | 1172 | ||
1178 | switch (pm_mnt->pm_prot) { | 1173 | switch (pm_mnt.pm_prot) { |
1179 | case IPPROTO_UDP: | 1174 | case IPPROTO_UDP: |
1180 | mclient = clntudp_create(&mount_server_addr, | 1175 | mclient = clntudp_create(&mount_server_addr, |
1181 | pm_mnt->pm_prog, | 1176 | pm_mnt.pm_prog, |
1182 | pm_mnt->pm_vers, | 1177 | pm_mnt.pm_vers, |
1183 | retry_timeout, | 1178 | retry_timeout, |
1184 | &msock); | 1179 | &msock); |
1185 | if (mclient) | 1180 | if (mclient) |
1186 | break; | 1181 | break; |
1187 | mount_server_addr.sin_port = htons(pm_mnt->pm_port); | 1182 | mount_server_addr.sin_port = htons(pm_mnt.pm_port); |
1188 | msock = RPC_ANYSOCK; | 1183 | msock = RPC_ANYSOCK; |
1189 | case IPPROTO_TCP: | 1184 | case IPPROTO_TCP: |
1190 | mclient = clnttcp_create(&mount_server_addr, | 1185 | mclient = clnttcp_create(&mount_server_addr, |
1191 | pm_mnt->pm_prog, | 1186 | pm_mnt.pm_prog, |
1192 | pm_mnt->pm_vers, | 1187 | pm_mnt.pm_vers, |
1193 | &msock, 0, 0); | 1188 | &msock, 0, 0); |
1194 | break; | 1189 | break; |
1195 | default: | 1190 | default: |
@@ -1208,7 +1203,7 @@ retry: | |||
1208 | */ | 1203 | */ |
1209 | memset(&status, 0, sizeof(status)); | 1204 | memset(&status, 0, sizeof(status)); |
1210 | 1205 | ||
1211 | if (pm_mnt->pm_vers == 3) | 1206 | if (pm_mnt.pm_vers == 3) |
1212 | clnt_stat = clnt_call(mclient, MOUNTPROC3_MNT, | 1207 | clnt_stat = clnt_call(mclient, MOUNTPROC3_MNT, |
1213 | (xdrproc_t) xdr_dirpath, | 1208 | (xdrproc_t) xdr_dirpath, |
1214 | (caddr_t) &pathname, | 1209 | (caddr_t) &pathname, |