iSet error closer to where it happened - dedup - deduplicating backup program Err bitreich.org 70 hgit clone git://bitreich.org/dedup/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/dedup/ URL:git://bitreich.org/dedup/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/dedup/ bitreich.org 70 1Log /scm/dedup/log.gph bitreich.org 70 1Files /scm/dedup/files.gph bitreich.org 70 1Refs /scm/dedup/refs.gph bitreich.org 70 1Tags /scm/dedup/tag bitreich.org 70 1README /scm/dedup/file/README.gph bitreich.org 70 1LICENSE /scm/dedup/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit a2ee78a3a3866e2ef605ca45263c14079c808d56 /scm/dedup/commit/a2ee78a3a3866e2ef605ca45263c14079c808d56.gph bitreich.org 70 1parent b30db499a59ec215edb9a96f4b0d7fd517dab34b /scm/dedup/commit/b30db499a59ec215edb9a96f4b0d7fd517dab34b.gph bitreich.org 70 hAuthor: sin URL:mailto:sin@2f30.org bitreich.org 70 iDate: Fri, 3 May 2019 15:29:26 +0100 Err bitreich.org 70 i Err bitreich.org 70 iSet error closer to where it happened Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M bstorage.c | 28 ++++++++++++++-------------- Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 14 insertions(+), 14 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/bstorage.c b/bstorage.c /scm/dedup/file/bstorage.c.gph bitreich.org 70 i@@ -135,8 +135,10 @@ unpackbhdr(int fd, struct bhdr *bhdr) Err bitreich.org 70 i unsigned char buf[BHDRSIZE]; Err bitreich.org 70 i int n; Err bitreich.org 70 i Err bitreich.org 70 i- if (xread(fd, buf, sizeof(buf)) != sizeof(buf)) Err bitreich.org 70 i- return -1; Err bitreich.org 70 i+ if (xread(fd, buf, sizeof(buf)) != sizeof(buf)) { Err bitreich.org 70 i+ bseterr("failed to read block header"); Err bitreich.org 70 i+ return -1; Err bitreich.org 70 i+ } Err bitreich.org 70 i Err bitreich.org 70 i n = unpack(buf, "'16qq", Err bitreich.org 70 i bhdr->magic, Err bitreich.org 70 i@@ -160,8 +162,10 @@ packbhdr(int fd, struct bhdr *bhdr) Err bitreich.org 70 i bhdr->nbd); Err bitreich.org 70 i Err bitreich.org 70 i assert(n == BHDRSIZE); Err bitreich.org 70 i- if (xwrite(fd, buf, n) != n) Err bitreich.org 70 i+ if (xwrite(fd, buf, n) != n) { Err bitreich.org 70 i+ bseterr("failed to write block header"); Err bitreich.org 70 i return -1; Err bitreich.org 70 i+ } Err bitreich.org 70 i return n; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -173,8 +177,10 @@ unpackbd(int fd, struct bd *bd) Err bitreich.org 70 i char fmt[BUFSIZ]; Err bitreich.org 70 i int n; Err bitreich.org 70 i Err bitreich.org 70 i- if (xread(fd, buf, sizeof(buf)) != sizeof(buf)) Err bitreich.org 70 i+ if (xread(fd, buf, sizeof(buf)) != sizeof(buf)) { Err bitreich.org 70 i+ bseterr("failed to read block descriptor"); Err bitreich.org 70 i return -1; Err bitreich.org 70 i+ } Err bitreich.org 70 i Err bitreich.org 70 i snprintf(fmt, sizeof(fmt), "s'6qqq'%d", MDSIZE); Err bitreich.org 70 i n = unpack(buf, fmt, Err bitreich.org 70 i@@ -207,8 +213,10 @@ packbd(int fd, struct bd *bd) Err bitreich.org 70 i bd->md); Err bitreich.org 70 i Err bitreich.org 70 i assert(n == BDSIZE); Err bitreich.org 70 i- if (xwrite(fd, buf, n) != n) Err bitreich.org 70 i+ if (xwrite(fd, buf, n) != n) { Err bitreich.org 70 i+ bseterr("failed to write block descriptor"); Err bitreich.org 70 i return -1; Err bitreich.org 70 i+ } Err bitreich.org 70 i return n; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -226,7 +234,6 @@ loadbd(struct sctx *sctx) Err bitreich.org 70 i Err bitreich.org 70 i if (unpackbd(sctx->fd, bd) < 0) { Err bitreich.org 70 i free(bd); Err bitreich.org 70 i- bseterr("failed to unpack block descriptor"); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -355,7 +362,6 @@ bscreat(struct bctx *bctx, char *path, int mode, struct bparam *bpar) Err bitreich.org 70 i if (packbhdr(fd, bhdr) < 0) { Err bitreich.org 70 i free(sctx); Err bitreich.org 70 i close(fd); Err bitreich.org 70 i- bseterr("failed to write block header entry"); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i return 0; Err bitreich.org 70 i@@ -408,7 +414,6 @@ bsopen(struct bctx *bctx, char *path, int flags, int mode, struct bparam *bpar) Err bitreich.org 70 i if (unpackbhdr(fd, bhdr) < 0) { Err bitreich.org 70 i free(sctx); Err bitreich.org 70 i close(fd); Err bitreich.org 70 i- bseterr("failed to read block header entry"); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -508,7 +513,6 @@ bsput(struct bctx *bctx, void *buf, size_t n, unsigned char *md) Err bitreich.org 70 i bd->refcnt++; Err bitreich.org 70 i if (packbd(sctx->fd, bd) < 0) { Err bitreich.org 70 i bd->refcnt--; Err bitreich.org 70 i- bseterr("failed to write block descriptor"); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -538,7 +542,6 @@ bsput(struct bctx *bctx, void *buf, size_t n, unsigned char *md) Err bitreich.org 70 i /* Write block descriptor to storage file */ Err bitreich.org 70 i if (packbd(sctx->fd, bd) < 0) { Err bitreich.org 70 i free(bd); Err bitreich.org 70 i- bseterr("failed to write block descriptor"); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -625,7 +628,6 @@ bsrm(struct bctx *bctx, unsigned char *md) Err bitreich.org 70 i bd->refcnt--; Err bitreich.org 70 i if (packbd(sctx->fd, bd) < 0) { Err bitreich.org 70 i bd->refcnt++; Err bitreich.org 70 i- bseterr("failed to write block descriptor"); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -744,10 +746,8 @@ bssync(struct bctx *bctx) Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i bhdr = &sctx->bhdr; Err bitreich.org 70 i- if (packbhdr(sctx->fd, bhdr) < 0) { Err bitreich.org 70 i- bseterr("failed to write block header"); Err bitreich.org 70 i+ if (packbhdr(sctx->fd, bhdr) < 0) Err bitreich.org 70 i return -1; Err bitreich.org 70 i- } Err bitreich.org 70 i fsync(sctx->fd); Err bitreich.org 70 i return 0; Err bitreich.org 70 i } Err bitreich.org 70 .