From eb1c03eacbbd1e3a8000972f338122dc9d5748b9 Mon Sep 17 00:00:00 2001 From: Dave Cheney Date: Thu, 12 Jul 2012 10:14:07 +1000 Subject: [PATCH] cmd/pack: remove unused paging logic This is the remainder of https://golang.org/cl/4601051. Partially addresses issue 2705. R=golang-dev, r, bradfitz, minux.ma CC=golang-dev https://golang.org/cl/6354066 --- src/cmd/pack/ar.c | 65 +++++------------------------------------------ 1 file changed, 7 insertions(+), 58 deletions(-) diff --git a/src/cmd/pack/ar.c b/src/cmd/pack/ar.c index 7e07fbc895..990094e5db 100644 --- a/src/cmd/pack/ar.c +++ b/src/cmd/pack/ar.c @@ -77,9 +77,7 @@ typedef struct Armember /* Temp file entry - one per archive member */ typedef struct Arfile /* Temp file control block - one per tempfile */ { - int paged; /* set when some data paged to disk */ char *fname; /* paging file name */ - int fd; /* paging file descriptor */ vlong size; Armember *head; /* head of member chain */ Armember *tail; /* tail of member chain */ @@ -159,7 +157,6 @@ int bamatch(char*, char*); int duplicate(char*, char**); Armember *getdir(Biobuf*); void getpkgdef(char**, int*); -int getspace(void); void install(char*, Arfile*, Arfile*, Arfile*, int); void loadpkgdata(char*, int); void longt(Armember*); @@ -169,7 +166,6 @@ Arfile *newtempfile(char*); Armember *newmember(void); void objsym(Sym*, void*); int openar(char*, int, int); -int page(Arfile*); void pmode(long); void rl(int); void scanobj(Biobuf*, Arfile*, long); @@ -1534,24 +1530,8 @@ void arstream(int fd, Arfile *ap) { Armember *bp; - int i; - char buf[8192]; - - if (ap->paged) { /* copy from disk */ - seek(ap->fd, 0, 0); - for (;;) { - i = read(ap->fd, buf, sizeof(buf)); - if (i < 0) - rderr(); - if (i == 0) - break; - if (write(fd, buf, i) != i) - wrerr(); - } - close(ap->fd); - ap->paged = 0; - } - /* dump the in-core buffers */ + + /* dump the in-core buffers */ for (bp = ap->head; bp; bp = bp->next) { if (!arwrite(fd, bp)) wrerr(); @@ -1576,35 +1556,6 @@ arwrite(int fd, Armember *bp) return 1; } -/* - * Spill a member to a disk copy of a temp file - */ -int -page(Arfile *ap) -{ - USED(ap); - - sysfatal("page"); - return 1; -} - -/* - * try to reclaim space by paging. we try to spill the start, middle, - * and end files, in that order. there is no particular reason for the - * ordering. - */ -int -getspace(void) -{ - if (astart && astart->head && page(astart)) - return 1; - if (amiddle && amiddle->head && page(amiddle)) - return 1; - if (aend && aend->head && page(aend)) - return 1; - return 0; -} - void arfree(Arfile *ap) /* free a member buffer */ { @@ -1633,13 +1584,11 @@ armalloc(int n) if(n&1) n++; - do { - cp = malloc(n); - if (cp) { - memset(cp, 0, n); - return cp; - } - } while (getspace()); + cp = malloc(n); + if (cp) { + memset(cp, 0, n); + return cp; + } fprint(2, "pack: out of memory\n"); exits("malloc"); return 0; -- 2.48.1