better error messages
This commit is contained in:
parent
2e9749ec60
commit
2d70c581f4
2 changed files with 21 additions and 9 deletions
|
|
@ -31,8 +31,10 @@ fsinit(int fd)
|
||||||
fmtinstall('M', dirmodefmt);
|
fmtinstall('M', dirmodefmt);
|
||||||
|
|
||||||
fs = mallocz(sizeof(CFsys), 1);
|
fs = mallocz(sizeof(CFsys), 1);
|
||||||
if(fs == nil)
|
if(fs == nil){
|
||||||
|
werrstr("mallocz: %r");
|
||||||
return nil;
|
return nil;
|
||||||
|
}
|
||||||
fs->fd = fd;
|
fs->fd = fd;
|
||||||
fs->ref = 1;
|
fs->ref = 1;
|
||||||
fs->mux.aux = fs;
|
fs->mux.aux = fs;
|
||||||
|
|
@ -48,6 +50,8 @@ fsinit(int fd)
|
||||||
|
|
||||||
strcpy(fs->version, "9P2000");
|
strcpy(fs->version, "9P2000");
|
||||||
if((n = fsversion(fs, 8192, fs->version, sizeof fs->version)) < 0){
|
if((n = fsversion(fs, 8192, fs->version, sizeof fs->version)) < 0){
|
||||||
|
werrstr("fsversion: %r");
|
||||||
|
fprint(2, "%r\n");
|
||||||
_fsunmount(fs);
|
_fsunmount(fs);
|
||||||
return nil;
|
return nil;
|
||||||
}
|
}
|
||||||
|
|
@ -150,8 +154,10 @@ fsversion(CFsys *fs, int msize, char *version, int nversion)
|
||||||
r = _fsrpc(fs, &tx, &rx, &freep);
|
r = _fsrpc(fs, &tx, &rx, &freep);
|
||||||
fs->mux.mintag = oldmintag;
|
fs->mux.mintag = oldmintag;
|
||||||
fs->mux.maxtag = oldmaxtag;
|
fs->mux.maxtag = oldmaxtag;
|
||||||
if(r < 0)
|
if(r < 0){
|
||||||
|
werrstr("fsrpc: %r");
|
||||||
return -1;
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
strecpy(version, version+nversion, rx.version);
|
strecpy(version, version+nversion, rx.version);
|
||||||
free(freep);
|
free(freep);
|
||||||
|
|
@ -212,19 +218,21 @@ _fsrpc(CFsys *fs, Fcall *tx, Fcall *rx, void **freep)
|
||||||
nn = convS2M(tx, tpkt, n);
|
nn = convS2M(tx, tpkt, n);
|
||||||
if(nn != n){
|
if(nn != n){
|
||||||
free(tpkt);
|
free(tpkt);
|
||||||
werrstr("libfs: sizeS2M convS2M mismatch");
|
werrstr("lib9pclient: sizeS2M convS2M mismatch");
|
||||||
fprint(2, "%r\n");
|
fprint(2, "%r\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
rpkt = muxrpc(&fs->mux, tpkt);
|
rpkt = muxrpc(&fs->mux, tpkt);
|
||||||
free(tpkt);
|
free(tpkt);
|
||||||
if(rpkt == nil)
|
if(rpkt == nil){
|
||||||
|
werrstr("muxrpc: %r");
|
||||||
return -1;
|
return -1;
|
||||||
|
}
|
||||||
n = GBIT32((uchar*)rpkt);
|
n = GBIT32((uchar*)rpkt);
|
||||||
nn = convM2S(rpkt, n, rx);
|
nn = convM2S(rpkt, n, rx);
|
||||||
if(nn != n){
|
if(nn != n){
|
||||||
free(rpkt);
|
free(rpkt);
|
||||||
werrstr("libfs: convM2S packet size mismatch %d %d", n, nn);
|
werrstr("lib9pclient: convM2S packet size mismatch %d %d", n, nn);
|
||||||
fprint(2, "%r\n");
|
fprint(2, "%r\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
@ -331,7 +339,7 @@ _fsrecv(Mux *mux)
|
||||||
n = GBIT32(buf);
|
n = GBIT32(buf);
|
||||||
pkt = malloc(n+4);
|
pkt = malloc(n+4);
|
||||||
if(pkt == nil){
|
if(pkt == nil){
|
||||||
fprint(2, "libfs out of memory reading 9p packet; here comes trouble\n");
|
fprint(2, "lib9pclient out of memory reading 9p packet; here comes trouble\n");
|
||||||
return nil;
|
return nil;
|
||||||
}
|
}
|
||||||
PBIT32(pkt, n);
|
PBIT32(pkt, n);
|
||||||
|
|
|
||||||
|
|
@ -11,13 +11,17 @@ nsinit(char *name)
|
||||||
int fd;
|
int fd;
|
||||||
|
|
||||||
ns = getns();
|
ns = getns();
|
||||||
if(ns == nil)
|
if(ns == nil){
|
||||||
|
werrstr("no name space");
|
||||||
return nil;
|
return nil;
|
||||||
|
}
|
||||||
|
|
||||||
addr = smprint("unix!%s/%s", ns, name);
|
addr = smprint("unix!%s/%s", ns, name);
|
||||||
free(ns);
|
free(ns);
|
||||||
if(addr == nil)
|
if(addr == nil){
|
||||||
|
werrstr("smprint: %r");
|
||||||
return nil;
|
return nil;
|
||||||
|
}
|
||||||
|
|
||||||
fd = dial(addr, 0, 0, 0);
|
fd = dial(addr, 0, 0, 0);
|
||||||
if(fd < 0){
|
if(fd < 0){
|
||||||
|
|
@ -27,7 +31,7 @@ nsinit(char *name)
|
||||||
}
|
}
|
||||||
free(addr);
|
free(addr);
|
||||||
|
|
||||||
fcntl(fd, F_SETFL, FD_CLOEXEC);
|
fcntl(fd, F_SETFD, FD_CLOEXEC);
|
||||||
return fsinit(fd);
|
return fsinit(fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue