aboutsummaryrefslogtreecommitdiff
path: root/util-linux
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2007-09-28 10:29:17 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2007-09-28 10:29:17 +0000
commitb9256054419582dc35917b1cb39c7e09f489dfad (patch)
tree2ce3a816b788b3af5fa54109b765ee22d5550c5e /util-linux
parentc3122bca53255799f052fcc0e911b68237faa12d (diff)
downloadbusybox-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.c77
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
69struct { 69static 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
234llist_t *fslist = 0; 234static llist_t *fslist;
235 235
236#if ENABLE_FEATURE_CLEAN_UP 236#if ENABLE_FEATURE_CLEAN_UP
237static void delete_block_backed_filesystems(void) 237static void delete_block_backed_filesystems(void)
@@ -562,14 +562,12 @@ static const struct {
562static char *nfs_strerror(int status) 562static 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
575static bool_t xdr_fhandle(XDR *xdrs, fhandle objp) 573static 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/* 643static smalluint nfs_mount_version;
646 * nfs_mount_version according to the sources seen at compile time.
647 */
648static int nfs_mount_version;
649static 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;
662static void 656static void
663find_kernel_nfs_mount_version(void) 657find_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
682static struct pmap * 678static void
683get_mountport(struct sockaddr_in *server_addr, 679get_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));
720next: 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,