# HG changeset patch
# User Abhishek Kulkarni <[EMAIL PROTECTED]>
# Date 1223306866 21600
# Node ID 2505f67b25cb52a7102dfbf602f7817a7e691d8c
# Parent bff0d23271408117225dfa48f67b108c3da9c678
Whitespace cleanups and a few formatting fixes.
This patch performs whitespace cleanup and fixes a few indentation and
formatting issues.
Signed-off-by: Abhishek Kulkarni <[EMAIL PROTECTED]>
diff --git a/xget/xget.c b/xget/xget.c
--- a/xget/xget.c
+++ b/xget/xget.c
@@ -53,7 +53,7 @@ Spfileops avail_ops = {
Spfileops avail_ops = {
// .read = avail_read,
.write = avail_write,
- .wstat = avail_wstat,
+ .wstat = avail_wstat,
.closefid = avail_closefid,
};
@@ -103,12 +103,12 @@ static void netreadcb(Spcfd *fd, void *a
static void netreadcb(Spcfd *fd, void *a);
-static void
+static void
usage(char *name) {
- fprintf(stderr, "usage as the master server: %s [-D debuglevel] [-p
port] [-o] %s",
+ fprintf(stderr, "usage as the master server: %s [-D debuglevel] [-p
port] [-o] %s",
name, " file|directory\n");
- fprintf(stderr, "usage as a client : %s [-D debuglevel] [-p
port] %s %s",
- name, "<-n netaddr> [-s] [-o] <src file | src dir | .> ",
+ fprintf(stderr, "usage as a client : %s [-D debuglevel] [-p
port] %s %s",
+ name, "<-n netaddr> [-s] [-o] <src file | src dir | .> ",
"[src file | src dir] ... dest\n");
exit(1);
}
@@ -137,7 +137,7 @@ void removeworker(File *f, Worker *worke
*/
for(cur = f->firstworker; cur; cur = cur->next) {
if(cur == worker)
- break; /* Continue with delete */
+ break; /* Continue with delete */
}
if(!cur)
return; /* Not found in queue, already removed */
@@ -153,10 +153,10 @@ void removeworker(File *f, Worker *worke
if (uw == client->workersused)
client->workersused = uw->next;
- if (uw->worker->server &&
+ if (uw->worker->server &&
uw->worker->server->conns > 0)
uw->worker->server->conns--;
-
+
free(uw);
}
uw = uw2;
@@ -171,7 +171,7 @@ void removeworker(File *f, Worker *worke
f->lastworker = worker->prev;
if (worker == f->nextworker) {
- if (worker->next)
+ if (worker->next)
f->nextworker = worker->next;
else
f->nextworker = f->firstworker;
@@ -200,17 +200,17 @@ void removeworker(File *f, Worker *worke
cur->server = NULL;
}
}
-
+
free(worker->server);
}
-
+
free(worker);
}
static int
xget_haserror() {
int ret;
-
+
ret = 0;
if (xget_ename)
ret = 1;
@@ -218,7 +218,7 @@ xget_haserror() {
return ret;
}
-static void
+static inline void
xget_uerror(int ecode) {
char *ename;
@@ -249,20 +249,20 @@ debug(int level, char *fmt, ...)
spc_write(logfid, (u8 *) buf, strlen(buf), 0);
}
-static void
+static void
reload(int sig) {
debug(Dbgfn, "Handling HUP! Reloading...\n");
/* Should kill connections? */
/* stat file for changes- TODO */
- /* localfileread(file); */
+ /* localfileread(file); */
}
-static void
+static void
sigalrm(int sig)
{
File *f;
-
+
alarm(1);
ticksig = 1;
if (servicetime && time(NULL) > servicetime) {
@@ -270,12 +270,12 @@ sigalrm(int sig)
if (f->availfid)
spc_close(f->availfid);
}
-
+
if (masterfs) {
spc_umount(masterfs);
masterfs = NULL;
}
-
+
free(path);
exit(0);
}
@@ -331,7 +331,7 @@ np2umode(u32 mode, char *extension)
else
ret |= S_IFBLK;
}
-
+
if (!(ret&~0777))
ret |= S_IFREG;
@@ -357,9 +357,9 @@ fileretry(File *f, u64 offset)
if (f->retries == maxretries ) {
sp_werror("Too many retries for file: %s", EIO, f->lname);
goto error;
- }
+ }
- f->retries++;
+ f->retries++;
if ((file_finalize(f, 1)) < 0)
goto error;
@@ -368,8 +368,8 @@ fileretry(File *f, u64 offset)
f->datafd = NULL;
}
- f->checksum = adler32(0L, Z_NULL, 0);
- f->checksum_ptr = 0;
+ f->checksum = adler32(0L, Z_NULL, 0);
+ f->checksum_ptr = 0;
f->progress = time(NULL);
f->finished = 0;
if (offset == 0)
@@ -382,7 +382,7 @@ fileretry(File *f, u64 offset)
f->datafd = spcfd_add(f->datafid, netreadcb, f, offset);
free(tname);
return 0;
-
+
error:
if (tname)
free(tname);
@@ -396,10 +396,10 @@ file_finalize(File *f, int write)
mode_t umode;
char *ename;
int ecode;
-
+
if (!f)
return 0;
-
+
if (f->datafid) {
spc_close(f->datafid);
f->datafid = NULL;
@@ -407,7 +407,7 @@ file_finalize(File *f, int write)
if (f->fs && f->fs != masterfs)
spc_umount(f->fs);
-
+
f->fs = masterfs;
if (!changeperms) {
f->finished = 2;
@@ -420,42 +420,42 @@ file_finalize(File *f, int write)
sp_uerror(errno);
if (sp_haserror()) {
sp_rerror(&ename, &ecode);
- debug(Dbgclntfn, "Could not change permissions"
+ debug(Dbgclntfn, "Could not change permissions"
" of file: %s. Error: %s\n", f->lname,
ename);
sp_werror(NULL, 0);
}
}
-
- if (geteuid() == 0 &&
- (chown(f->lname, f->datafile->uid->uid, -1)) == -1) {
+
+ if (geteuid() == 0 &&
+ (chown(f->lname, f->datafile->uid->uid, -1)) == -1) {
sp_uerror(errno);
if (sp_haserror()) {
sp_rerror(&ename, &ecode);
- debug(Dbgclntfn, "Could not change user
ownership"
+ debug(Dbgclntfn, "Could not change user
ownership"
" of file: %s. Error: %s\n", f->lname,
ename);
sp_werror(NULL, 0);
}
}
-
+
if ((chown(f->lname, -1, f->datafile->gid->gid)) == -1) {
sp_uerror(errno);
if (sp_haserror()) {
sp_rerror(&ename, &ecode);
- debug(Dbgclntfn, "Could not change group
ownership"
- " of file: %s to gid: %u. Error: %s\n",
f->lname,
+ debug(Dbgclntfn, "Could not change group
ownership"
+ " of file: %s to gid: %u. Error: %s\n",
f->lname,
f->datafile->gid->gid, ename);
sp_werror(NULL, 0);
}
}
-
+
f->finished = 2;
- }
+ }
else {
if ((chmod(f->lname, 0600)) == -1) {
sp_uerror(errno);
if (sp_haserror()) {
sp_rerror(&ename, &ecode);
- debug(Dbgclntfn, "Could not change permissions"
+ debug(Dbgclntfn, "Could not change permissions"
" of file: %s. Error: %s\n", f->lname,
ename);
sp_werror(NULL, 0);
}
@@ -477,28 +477,28 @@ tick(void)
fdone = 1;
for(f = files; f != NULL; f = f->next) {
// debug(Dbgfn, "tick\n");
-
- if (f->finished && (f->finished = matchsum(f)))
- file_finalize(f, 0);
-
+
+ if (f->finished && (f->finished = matchsum(f)))
+ file_finalize(f, 0);
+
if (f->finished<0) {
debug(Dbgclntfn, "File: %s checksum did not
match, retrying\n",
f->nname);
if (fileretry(f, 0) < 0)
return -1;
}
-
+
if(f->finished == 2)
continue;
-
+
fdone = 0;
if (time(NULL) - f->progress > retrytime) {
debug(Dbgclntfn, "File: %s timed out,
retrying\n", f->nname);
if (fileretry(f, f->datalen) < 0)
return -1;
}
- }
-
+ }
+
if (fdone) {
endtime = time(NULL);
debug(Dbgfn, "finished download for %d seconds\n",
@@ -508,18 +508,18 @@ tick(void)
else {
if (n < 5)
n = 5;
-
+
n = (endtime - starttime);
servicetime = endtime + n * 2;
}
}
}
-
+
else {
if (numconnects == 0)
servicetime = time(NULL);
}
-
+
return 0;
}
@@ -527,7 +527,7 @@ dir_remove(Spfile *dir)
dir_remove(Spfile *dir)
{
Spfile *f, *f2, *parent;
-
+
for(f = dir->dirfirst; f != NULL; ) {
f2 = f->next;
parent = f->parent;
@@ -538,10 +538,10 @@ dir_remove(Spfile *dir)
if (parent)
spfile_decref(parent);
-
+
f = f2;
}
-
+
spfile_decref(dir);
}
@@ -552,32 +552,32 @@ parent_remove(Spfile *dir)
dir->parent->dirfirst = dir->next;
if (dir->parent->dirlast == dir)
dir->parent->dirlast = dir->prev;
-
- if (dir->next)
+
+ if (dir->next)
dir->next->prev = dir->prev;
- if (dir->prev)
+ if (dir->prev)
dir->prev->next = dir->next;
- spfile_decref(dir->parent);
+ spfile_decref(dir->parent);
dir->parent = NULL;
}
static int
-fullfilename(Spfile *file, char* fullname, int buflen)
+fullfilename(Spfile *file, char* fullname, int buflen)
{
int len, bufleft;
char *tbuf;
Spfile *f;
-
+
if(!file)
return 0;
-
+
bufleft = buflen;
tbuf = (char *) malloc(bufleft);
for (f = file; f != NULL; f = f->parent) {
len = 0;
if (!strlen(f->name))
- break;
+ break;
snprintf(tbuf, buflen, "/%s", f->name);
len = strlen(tbuf);
@@ -617,7 +617,7 @@ updatedir(Spfile *dir, char *name)
dir->dirfirst = NULL;
dir->dirlast = NULL;
/* Keeping /log */
- if ((strlen(dir->name) == 0) && flist &&
+ if ((strlen(dir->name) == 0) && flist &&
!(flist->mode & Dmdir) && !strcmp(flist->name, "log")) {
f = flist;
flist = f->next;
@@ -648,9 +648,9 @@ updatedir(Spfile *dir, char *name)
continue;
len = strlen(de->d_name);
- if (blen+len+1 > bsize)
+ if (blen+len+1 > bsize)
continue;
-
+
snprintf(buf+blen, bsize-blen, "/%s", de->d_name);
if (lstat(buf, &st) < 0)
goto error;
@@ -689,14 +689,14 @@ dir_update(Spfile *dir)
Spfile *ret, *par;
struct stat st;
int namelen, namesize;
-
+
ret = dir;
namelen = 0;
namesize = NAME_MAX + 1;
name = (char*) calloc(namesize, 1);
strncpy(name, path, namesize);
namelen = strlen(name);
-
+
if(strlen(dir->name) && !singlefile) {
if( (namelen += fullfilename(dir, name + namelen, namesize -
namelen)) <= 0) {
debug(Dbgfn, "Failed to find full 9p file name for
%s\n", dir->name);
@@ -713,7 +713,7 @@ dir_update(Spfile *dir)
if (st.st_mtime == dir->mtime)
goto done;
-
+
if (S_ISREG(st.st_mode)) {
par = dir->parent;
parent_remove(dir);
@@ -722,7 +722,7 @@ dir_update(Spfile *dir)
sp_uerror(errno);
goto error;
}
- }
+ }
else if (S_ISDIR(st.st_mode))
ret = updatedir(dir, name);
else {
@@ -741,17 +741,17 @@ error:
free(name);
return NULL;
}
-
+
static Spfile*
dir_first(Spfile *dir)
{
-
+
if (!netaddress) {
dir = dir_update(dir);
if (!dir)
return NULL;
}
-
+
spfile_incref(dir->dirfirst);
return dir->dirfirst;
}
@@ -785,16 +785,16 @@ dir_destroy(Spfile *dir) {
f->next->prev = f->prev;
if (f->prev)
f->prev->next = f->next;
-
+
for (w = f->firstworker; w != NULL; )
removeworker(f, w);
-
+
for (req = f->reqs; req != NULL; ) {
req2 = req->next;
free(req);
req = req2;
}
-
+
if (!netaddress) {
for (conns = srv->conns; conns != NULL; conns =
conns->next) {
pool = conns->fidpool;
@@ -813,11 +813,11 @@ dir_destroy(Spfile *dir) {
free(f);
dir->aux = NULL;
- }
+ }
}
static Spfile *
-create_file(Spfile *parent, char *name, u32 mode, u64 qpath, void *ops,
+create_file(Spfile *parent, char *name, u32 mode, u64 qpath, void *ops,
Spuser *usr, Spgroup *grp, void *aux)
{
Spfile *ret;
@@ -840,23 +840,23 @@ create_file(Spfile *parent, char *name,
if (!usr)
usr = user;
-
+
ret->uid = ret->muid = usr;
if (!grp)
grp = group;
ret->gid = grp;
-
+
// ret->atime = ret->mtime = time(NULL);
ret->atime = ret->mtime = 0;
spfile_incref(ret);
-
+
return ret;
}
static void
-fsinit(void)
-{
+fsinit(void)
+{
root = spfile_alloc(NULL, "", 0555 | Dmdir, Qroot, &root_ops, NULL);
root->parent = root;
spfile_incref(root);
@@ -867,7 +867,7 @@ fsinit(void)
}
static File *
-filealloc(Spfile *parent, char *nname, char *lname, u64 datasize, u64 datalen,
+filealloc(Spfile *parent, char *nname, char *lname, u64 datasize, u64 datalen,
u32 mtime, u32 checksum, u32 mode, Spuser *usr, Spgroup *grp)
{
int qp;
@@ -891,7 +891,7 @@ filealloc(Spfile *parent, char *nname, c
f->availfid = NULL;
f->datafd = NULL;
f->checksum = checksum;
- f->checksum_ptr = 0;
+ f->checksum_ptr = 0;
f->finished = 0;
f->progress = time(NULL);
f->retries = 0;
@@ -902,7 +902,7 @@ filealloc(Spfile *parent, char *nname, c
create_file(f->dir, "avail", 0666, (qp<<8) | Qavail, &avail_ops, NULL,
NULL, f);
file = create_file(f->dir, "redir", 0444, (qp << 8) | Qredir,
&redir_ops, NULL, NULL, f);
file->length = 32;
-
+
create_file(f->dir, "checksum", 0444, (qp << 8) | Qchecksum,
&checksum_ops, NULL, NULL, f);
f->next = files;
f->prev = NULL;
@@ -931,16 +931,16 @@ localfileread(Spfile *parent, char *file
ret = NULL;
usr = NULL;
grp = NULL;
- if ((name = strrchr(filename, '/')))
+ if ((name = strrchr(filename, '/')))
name++;
- else
+ else
name = filename;
if (lstat(filename, &st) < 0) {
sp_uerror(errno);
return NULL;
}
-
+
npmode = umode2npmode(st.st_mode);
if (!rootonly) {
usr = sp_unix_users->uid2user(sp_unix_users, st.st_uid);
@@ -948,9 +948,9 @@ localfileread(Spfile *parent, char *file
}
if (S_ISREG(st.st_mode)) {
-
- checksum = adler32(0L, Z_NULL, 0);
- f = filealloc(parent, name, filename, st.st_size, st.st_size,
+
+ checksum = adler32(0L, Z_NULL, 0);
+ f = filealloc(parent, name, filename, st.st_size, st.st_size,
st.st_mtime, checksum, npmode, usr, grp);
if (!f)
return NULL;
@@ -959,11 +959,11 @@ localfileread(Spfile *parent, char *file
ret = f->dir;
} else if (S_ISDIR(st.st_mode)) {
if (strcmp(path, filename)) {
- dir = create_file(parent, name, npmode,
+ dir = create_file(parent, name, npmode,
qpath++ * 16, &dir_ops, usr, grp,
NULL);
- if (!dir)
- return NULL;
-
+ if (!dir)
+ return NULL;
+
debug(Dbgsrvfn, "Added dir: %s\n", dir->name);
}
else {
@@ -977,19 +977,19 @@ localfileread(Spfile *parent, char *file
while ((de = readdir(dirstr))) {
if(strncmp(de->d_name, ".", 1) == 0)
continue;
-
- nextf = (char *) sp_malloc(strlen(filename) +
+
+ nextf = (char *) sp_malloc(strlen(filename) +
strlen(de->d_name) + 2);
sprintf(nextf, "%s/%s", filename, de->d_name);
localfileread(dir, nextf);
free(nextf);
}
-
+
closedir(dirstr);
}
- ret->mtime = ret->atime = st.st_mtime;
+ ret->mtime = ret->atime = st.st_mtime;
}
-
+
return ret;
}
@@ -1012,29 +1012,29 @@ respondreqs(File *f)
if (count > req->count)
count = req->count;
-
+
if (f->datalen == f->datasize || (count>4096 && req->offset +
count < f->datalen)) {
/* if we haven't got the whole file and can send back
only small chunk, don't respond, wait for more */
-
+
buf = sp_malloc(count);
if (!buf)
goto error;
if ((fd = open(f->lname, O_RDONLY)) == -1)
goto error;
-
- if ((lseek(fd, req->offset, SEEK_SET)) == (off_t)-1)
+
+ if ((lseek(fd, req->offset, SEEK_SET)) == (off_t)-1)
goto error;
-
+
if ((n = read(fd, buf, count)) < 0)
goto error;
- if (req->offset == f->checksum_ptr) {
- f->checksum = adler32(f->checksum, (const
Bytef *)buf, n);
- f->checksum_ptr += n;
- }
-
+ if (req->offset == f->checksum_ptr) {
+ f->checksum = adler32(f->checksum, (const Bytef
*)buf, n);
+ f->checksum_ptr += n;
+ }
+
close(fd);
if (n < count)
count = n;
@@ -1073,7 +1073,7 @@ netreadcb(Spcfd *fd, void *a)
File *f;
u8 *buf;
struct stat *st;
-
+
f = a;
st = NULL;
buf = NULL;
@@ -1087,7 +1087,7 @@ netreadcb(Spcfd *fd, void *a)
goto error;
}
}
-
+
else if (S_ISDIR(st->st_mode)) {
if ((rmdir(f->lname)) < 0) {
xget_uerror(errno);
@@ -1111,17 +1111,17 @@ netreadcb(Spcfd *fd, void *a)
xget_uerror(errno);
goto error;
}
-
+
if ((write(lfd, buf, n)) != n) {
xget_uerror(errno);
goto error;
}
- if (f->datalen == f->checksum_ptr) {
- f->checksum = adler32(f->checksum, (const Bytef *)buf, n);
- f->checksum_ptr += n;
- }
-
+ if (f->datalen == f->checksum_ptr) {
+ f->checksum = adler32(f->checksum, (const Bytef *)buf, n);
+ f->checksum_ptr += n;
+ }
+
f->datalen += n;
if (f->datalen >= f->datasize) {
spcfd_remove(fd);
@@ -1131,7 +1131,7 @@ netreadcb(Spcfd *fd, void *a)
goto error;
}
- f->finished = 5;
+ f->finished = 1;
}
f->progress = time(NULL);
@@ -1139,7 +1139,7 @@ netreadcb(Spcfd *fd, void *a)
close(lfd);
respondreqs(f);
return;
-
+
error:
if (st)
free(st);
@@ -1153,19 +1153,19 @@ static int
static int
matchsum(File *f)
{
- Spcfid *checksumfid = NULL;
- u32 checksum;
- char *buf;
- int blen, n;
-
- blen = strlen(f->nname) + 16;
+ Spcfid *checksumfid = NULL;
+ u32 checksum;
+ char *buf;
+ int blen, n;
+
+ blen = strlen(f->nname) + 16;
if (blen < 128)
blen = 128;
buf = sp_malloc(blen);
if (!buf)
return -1;
- sprintf(buf, "%s/checksum", f->nname);
+ sprintf(buf, "%s/checksum", f->nname);
checksumfid = spc_open(f->fs, buf, Oread);
if (!checksumfid)
return -1;
@@ -1177,13 +1177,13 @@ matchsum(File *f)
buf[n] = '\0';
checksum = strtoul(buf, NULL, 0);
spc_close(checksumfid);
- free(buf);
- return (f->checksum == checksum)?1:-1;
+ free(buf);
+ return (f->checksum == checksum)?1:-1;
}
static int
-netfileread(Spfile *dir, char *lname, char *nname, u64 len, int mtime,
+netfileread(Spfile *dir, char *lname, char *nname, u64 len, int mtime,
u32 npmode, Spuser *usr, Spgroup *grp)
{
int n, blen;
@@ -1191,7 +1191,7 @@ netfileread(Spfile *dir, char *lname, ch
Spcfid *datafid, *availfid, *redirfid;
Spcfsys *redirfs;
File *file;
-
+
datafid = NULL;
availfid = NULL;
redirfid = NULL;
@@ -1210,7 +1210,7 @@ netfileread(Spfile *dir, char *lname, ch
else
fname++;
- file = filealloc(dir, fname, lname, len, 0, mtime, 0, npmode,
+ file = filealloc(dir, fname, lname, len, 0, mtime, 0, npmode,
usr, grp);
if (!file)
goto error;
@@ -1236,8 +1236,7 @@ netfileread(Spfile *dir, char *lname, ch
if (!strcmp(buf, "me")) {
redirfs = masterfs;
debug(Dbgclntfn, "Downloading file: %s from master\n", nname);
- }
- else {
+ } else {
debug(Dbgclntfn, "Redirected to %s for file: %s\n", buf, nname);
redirfs = spc_netmount(buf, user, port, NULL, NULL);
if (!redirfs)
@@ -1257,12 +1256,12 @@ netfileread(Spfile *dir, char *lname, ch
snprintf(buf, blen, "%d %s", port, redirto);
n = spc_write(availfid, (u8 *) buf, strlen(buf) + 1, 0);
if (n < 0)
- goto error;
+ goto error;
file->fs = redirfs;
file->datafid = datafid;
file->checksum = adler32(0L, Z_NULL, 0);
- file->checksum_ptr = 0;
+ file->checksum_ptr = 0;
file->datafd = spcfd_add(file->datafid, netreadcb, file, 0);
file->availfid = availfid;
free(buf);
@@ -1280,7 +1279,7 @@ error:
spc_umount(redirfs);
file->fs = NULL;
}
-
+
free(buf);
return -1;
}
@@ -1297,7 +1296,7 @@ netdirread(Spfile *parent, char *lname,
Spwstat *st;
char **fnames;
struct timeval tv;
-
+
fid = spc_open(masterfs, nname, Oread);
if (!fid)
return -1;
@@ -1334,7 +1333,7 @@ netdirread(Spfile *parent, char *lname,
if (grp)
dir->gid = grp;
}
-
+
if (!dir) {
ret = -1;
@@ -1352,8 +1351,8 @@ netdirread(Spfile *parent, char *lname,
for(i = 0; i < n; i++) {
if (dir == root && !strcmp(st[i].name, "log"))
continue;
-
-
+
+
r = (int) (n * (rand() / (RAND_MAX + 1.0)));
while (fnames[r] != NULL) {
r =(int) (n * (rand() / (RAND_MAX + 1.0)));
@@ -1367,7 +1366,7 @@ netdirread(Spfile *parent, char *lname,
if (fnames[i] == NULL)
continue;
- debug(Dbgclntfn, "Setting up file: %s\n", fnames[i]);
+ debug(Dbgclntfn, "Setting up file: %s\n", fnames[i]);
if (netread(dir, lname, nname, fnames[i]) < 0) {
ret = -1;
goto done;
@@ -1377,7 +1376,7 @@ netdirread(Spfile *parent, char *lname,
}
free(fnames);
- free(st);
+ free(st);
}
if (n < 0)
@@ -1426,9 +1425,9 @@ netread(Spfile *parent, char *lprefix, c
*s = '\0';
if (!st || st->mode & Dmdir) {
/* if there is no "data" file, it could be a directory
-
- if there is a data file and it is a directory, read the
- directory
+
+ if there is a data file and it is a directory, read the
+ directory
*/
if (st)
free(st);
@@ -1459,23 +1458,23 @@ netread(Spfile *parent, char *lprefix, c
usr = sp_unix_users->uname2user(sp_unix_users, st->uid);
grp = sp_unix_users->gname2group(sp_unix_users,
st->gid);
}
-
+
/* regular file, set it up and retry up to maxretries */
for (i=0; i < maxretries; i++) {
sp_werror(NULL, 0);
- ret = netfileread(parent, lname, nname, len, mtime,
+ ret = netfileread(parent, lname, nname, len, mtime,
npmode, usr, grp);
if (!ret)
break;
}
}
-
- if (ret && sp_haserror()) {
+
+ if (ret && sp_haserror()) {
sp_rerror(&ename, &ecode);
debug(Dbgfn, "Fatal error while setting up file: %s\n", ename);
}
-
+
free(st);
free(nname);
free(lname);
@@ -1489,7 +1488,7 @@ error:
free(nname);
free(lname);
if (st)
- free(st);
+ free(st);
return -1;
}
@@ -1524,7 +1523,7 @@ netpathread(char *fpath)
if (!dir)
return -1;
-
+
*s = '/';
p = s + 1;
@@ -1536,7 +1535,7 @@ netpathread(char *fpath)
nprefix = path;
*(p-1) = '\0';
}
-
+
i = netread(dir, outname, nprefix, p);
return i;
}
@@ -1598,7 +1597,7 @@ main(int argc, char **argv)
servicetime = endtime = 0;
xget_ename = NULL;
xget_ecode = 0;
-
+
while ((c = getopt(argc, argv, "D:p:n:w:r:so")) != -1) {
switch (c) {
case 'p':
@@ -1669,26 +1668,26 @@ main(int argc, char **argv)
fsinit();
fileargs = argc - optind;
- /* Parse file arguments for master*/
+ /* Parse file arguments for master*/
if (!netaddress) {
i = argc - 1;
if(fileargs != 1) {
debug(Dbgfn, "Please specify file or directory to
serve.\n");
usage(argv[0]);
}
-
+
if(stat(argv[i], &st) < 0)
sp_uerror(errno);
-
+
len = strlen(argv[i]) + 1;
path = (char *) malloc(len * sizeof(char));
snprintf(path, len, "%s", argv[i]);
if (path[len-2] == '/')
path[len-2] = '\0';
-
+
if (S_ISREG(st.st_mode))
singlefile = 1;
-
+
debug(Dbgfn, "server set path to %s\n", path);
}
@@ -1704,7 +1703,7 @@ main(int argc, char **argv)
srv->dotu = 0;
if (rootonly)
srv->upool = upool;
- else
+ else
srv->upool = sp_unix_users;
srv->flush = xflush;
@@ -1717,7 +1716,7 @@ main(int argc, char **argv)
debug(Dbgfn, "Please specify at least a
destination.\n");
usage(argv[0]);
}
-
+
/* Last argument is destination */
outname = argv[argc - 1];
if(stat(outname, &st) != 0) {
@@ -1727,7 +1726,7 @@ main(int argc, char **argv)
goto error;
}
}
-
+
if(!S_ISDIR(st.st_mode) && fileargs > 2) {
debug(Dbgfn, "Plural sources and nondirectory
destination.\n");
usage(argv[0]);
@@ -1737,10 +1736,10 @@ main(int argc, char **argv)
dlname = argv[i];
if (!strcmp(".", dlname))
dlname = "";
-
+
if (netpathread(dlname) < 0)
goto error;
-
+
if (!strlen(dlname))
break;
}
@@ -1770,7 +1769,7 @@ main(int argc, char **argv)
setsid();
chdir("/");
}
-
+
if (!masterfs) {
if (localfileread(root, path) == NULL)
goto error;
@@ -1799,7 +1798,7 @@ error:
sp_rerror(&ename, &ecode);
if (ename)
debug(Dbgfn, "Fatal error: %s\n", ename);
-
+
if (path)
free(path);
@@ -1814,15 +1813,15 @@ error:
if (f->fs && f->fs != masterfs)
spc_umount(f->fs);
-
+
f1 = f->next;
free(f);
f = f1;
}
-
+
if (masterfs)
spc_umount(masterfs);
-
+
return -1;
}
@@ -1871,9 +1870,9 @@ connclose(Spconn *conn)
{
Client *c;
Usedworker *uw, *uw2;
-
+
numconnects--;
- debug(Dbgsrvfn, "Client %s disconnects %d\n", conn->address,
numconnects);
+ debug(Dbgsrvfn, "Client %s disconnects %d\n", conn->address,
numconnects);
if (netaddress)
return;
@@ -1889,7 +1888,7 @@ connclose(Spconn *conn)
if (uw->worker && uw->worker->server &&
uw->worker->server->conns > 0)
uw->worker->server->conns--;
-
+
uw2 = uw->next;
free(uw);
uw = uw2;
@@ -1925,19 +1924,19 @@ redir_read(Spfilefid *fid, u64 offset, u
dl = 0; //The desired level in the tree
//Find this client and determine the desired level
- for (c = clients; c != NULL; c = c->next) {
+ for (c = clients; c != NULL; c = c->next) {
if (!strcmp(c->caddress, fid->fid->conn->address)) {
for (n = 1; n < maxlevels - 1; n++) {
if (c->clevels[dl] > c->clevels[n])
dl = n;
}
-
+
break;
}
}
dl++;
- if (!c)
+ if (!c)
return -1;
level = 1;
@@ -1951,7 +1950,7 @@ redir_read(Spfilefid *fid, u64 offset, u
if (w->slevel >= maxlevels) {
continue;
}
-
+
/*Try to find a worker with the desired level and the
least number
of connections. If the desired level cannot be
found, just find
a worker with the least number of connections. */
@@ -1960,15 +1959,15 @@ redir_read(Spfilefid *fid, u64 offset, u
if (w->server->conns < maxconnections &&
dl == w->slevel)
t = w;
-
- else if (w->server->conns < maxconnections)
+
+ else if (w->server->conns < maxconnections)
t = w;
}
else {
- if (t->server->conns > w->server->conns &&
+ if (t->server->conns > w->server->conns &&
dl == w->slevel)
t = w;
-
+
else if (t->slevel != dl && t->server->conns >
w->server->conns)
t = w;
@@ -1976,7 +1975,7 @@ redir_read(Spfilefid *fid, u64 offset, u
if (!w->next && p == f->firstworker)
break;
- else if (!w->next)
+ else if (!w->next)
w = f->firstworker;
else if (w->next == p)
break;
@@ -1988,14 +1987,14 @@ redir_read(Spfilefid *fid, u64 offset, u
snprintf(buf, sizeof(buf), "%s", t->server->saddress);
if (t == f->lastworker)
f->nextworker = f->firstworker;
- else
+ else
f->nextworker = t->next;
-
+
c->clevels[t->slevel - 1]++;
conns = t->server->conns + 1;
level = t->slevel;
uw = sp_malloc(sizeof(Usedworker));
- if (!uw)
+ if (!uw)
return -1;
uw->worker = t;
@@ -2009,13 +2008,13 @@ redir_read(Spfilefid *fid, u64 offset, u
else
snprintf(buf, sizeof(buf), "me");
}
-
+
n = strlen(buf);
if (count > n)
count = n;
memcpy(data, buf, count);
- debug(Dbgsrvfn, "Client %s redirected to %s with conns: %d and level:
%d"
+ debug(Dbgsrvfn, "Client %s redirected to %s with conns: %d and level:
%d"
" for file: %s\n", fid->fid->conn->address, buf, conns, level,
f->nname);
return count;
@@ -2026,7 +2025,7 @@ data_read(Spfilefid *fid, u64 offset, u3
{
Req *req;
File *f = fid->file->aux;
-
+
if (!f)
return -1;
@@ -2081,14 +2080,14 @@ avail_write(Spfilefid *fid, u64 offset,
sp_werror("invalid format for avail file", EINVAL);
return -1;
}
-
+
*s++ = '\0';
port = strtoul((const char *)data, &p, 0);
if (*data == '\0' || *p != '\0') {
sp_werror("invalid port number", EINVAL);
return -1;
}
-
+
slevel = 0;
if (!strcmp(s, "me")) {
slevel = 1;
@@ -2103,7 +2102,7 @@ avail_write(Spfilefid *fid, u64 offset,
break;
}
}
-
+
if (!slevel) {
debug(Dbgsrvfn, "Could not find worker with address:
%s\n",
address);
@@ -2118,41 +2117,41 @@ avail_write(Spfilefid *fid, u64 offset,
return count;
}
}
-
+
p = strchr(req->conn->address, '!');
if (!p) {
sp_werror("Port number not given by client", EINVAL);
return -1;
}
-
+
n = p - req->conn->address;
address = sp_malloc(n + 7);
if (!address)
return -1;
-
+
strncpy(address, req->conn->address, n);
snprintf(address+n, 7, "!%d", port);
for (wc = f->firstworker; wc != NULL; wc = wc->next) {
if (!strcmp(wc->server->saddress, address)) {
- debug(Dbgsrvfn, "Found a duplicate worker, Address:
%s."
- " Not adding to worker list.\n",
req->conn->address);
+ debug(Dbgsrvfn, "Found a duplicate worker, Address: %s."
+ " Not adding to worker list.\n",
req->conn->address);
goto error;
}
}
worker = sp_malloc(sizeof(*worker));
- if (!worker)
+ if (!worker)
goto error;
-
+
for (server = servers; server != NULL; server = server->next) {
if (!strcmp(server->saddress, address))
break;
}
-
+
if (!server) {
n = strlen(address) + 1;
server = sp_malloc(sizeof(*server) + n);
- if (!server)
+ if (!server)
goto error;
server->saddress = (char *) server + sizeof(*server);
@@ -2168,9 +2167,9 @@ avail_write(Spfilefid *fid, u64 offset,
servers = server;
}
-
+
free(address);
- //Check to make sure this isn't a duplicate worker
+ //Check to make sure this isn't a duplicate worker
worker->slevel = slevel;
worker->server = server;
worker->next = NULL;
@@ -2190,7 +2189,7 @@ avail_write(Spfilefid *fid, u64 offset,
fid->aux = worker;
f->numworkers++;
- debug(Dbgsrvfn, "Total number of workers: %d for file: %s\n",
+ debug(Dbgsrvfn, "Total number of workers: %d for file: %s\n",
f->numworkers, f->nname);
return count;
@@ -2209,7 +2208,7 @@ avail_closefid(Spfilefid *fid)
{
Worker *worker;
File *f;
-
+
f = fid->file->aux;
worker = fid->aux;
if (!f || !worker)
@@ -2237,15 +2236,15 @@ xflush(Spreq *req)
r->prev->next = r->next;
else
f->reqs = r->next;
-
+
if (r->next)
r->next->prev = r->prev;
-
+
free(r);
break;
}
}
-
+
sp_respond(req, NULL);
break;
}