iMore strerror - 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 6b4ed5e72fbc812704fa6659a87d7b91d50a6b0b /scm/dedup/commit/6b4ed5e72fbc812704fa6659a87d7b91d50a6b0b.gph bitreich.org 70 1parent 78ad139e2acc136eef7c94ff566a1150a9fdfb5b /scm/dedup/commit/78ad139e2acc136eef7c94ff566a1150a9fdfb5b.gph bitreich.org 70 hAuthor: sin URL:mailto:sin@2f30.org bitreich.org 70 iDate: Fri, 3 May 2019 16:43:44 +0100 Err bitreich.org 70 i Err bitreich.org 70 iMore strerror Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M bcompress.c | 15 ++++++++------- Err bitreich.org 70 i M bencrypt.c | 11 ++++++----- Err bitreich.org 70 i M bstorage.c | 54 ++++++++++++++++--------------- Err bitreich.org 70 i M snap.c | 5 +++-- Err bitreich.org 70 i Err bitreich.org 70 i4 files changed, 45 insertions(+), 40 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/bcompress.c b/bcompress.c /scm/dedup/file/bcompress.c.gph bitreich.org 70 i@@ -3,6 +3,7 @@ Err bitreich.org 70 i #include Err bitreich.org 70 i Err bitreich.org 70 i #include Err bitreich.org 70 i+#include Err bitreich.org 70 i #include Err bitreich.org 70 i #include Err bitreich.org 70 i #include Err bitreich.org 70 i@@ -104,7 +105,7 @@ bccreat(struct bctx *bctx, char *path, int mode, struct bparam *bpar) Err bitreich.org 70 i Err bitreich.org 70 i bctx->cctx = calloc(1, sizeof(struct cctx)); Err bitreich.org 70 i if (bctx->cctx == NULL) { Err bitreich.org 70 i- bseterr("out of memory"); Err bitreich.org 70 i+ bseterr("calloc: %s", strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i cctx = bctx->cctx; Err bitreich.org 70 i@@ -126,7 +127,7 @@ bcopen(struct bctx *bctx, char *path, int flags, int mode, struct bparam *bpar) Err bitreich.org 70 i Err bitreich.org 70 i bctx->cctx = calloc(1, sizeof(struct cctx)); Err bitreich.org 70 i if (bctx->cctx == NULL) { Err bitreich.org 70 i- bseterr("out of memory"); Err bitreich.org 70 i+ bseterr("calloc: %s", strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i cctx = bctx->cctx; Err bitreich.org 70 i@@ -173,7 +174,7 @@ bcput(struct bctx *bctx, void *buf, size_t n, unsigned char *md) Err bitreich.org 70 i /* Allocate compressed block */ Err bitreich.org 70 i cbuf = malloc(CDSIZE + cn); Err bitreich.org 70 i if (cbuf == NULL) { Err bitreich.org 70 i- bseterr("out of memory"); Err bitreich.org 70 i+ bseterr("malloc: %s", strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -183,7 +184,7 @@ bcput(struct bctx *bctx, void *buf, size_t n, unsigned char *md) Err bitreich.org 70 i } else if (cctx->type == CDSNAPPYTYPE) { Err bitreich.org 70 i if (snappy_compress(buf, n, &cbuf[CDSIZE], &cn) != SNAPPY_OK) { Err bitreich.org 70 i free(cbuf); Err bitreich.org 70 i- bseterr("failed to compress"); Err bitreich.org 70 i+ bseterr("snappy_compress: failed"); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i } else { Err bitreich.org 70 i@@ -225,7 +226,7 @@ bcget(struct bctx *bctx, unsigned char *md, void *buf, size_t *n) Err bitreich.org 70 i /* Allocate compressed block */ Err bitreich.org 70 i cbuf = malloc(size); Err bitreich.org 70 i if (cbuf == NULL) { Err bitreich.org 70 i- bseterr("out of memory"); Err bitreich.org 70 i+ bseterr("malloc: %s", strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -252,7 +253,7 @@ bcget(struct bctx *bctx, unsigned char *md, void *buf, size_t *n) Err bitreich.org 70 i if (snappy_uncompressed_length(&cbuf[CDSIZE], cd.size, Err bitreich.org 70 i &un) != SNAPPY_OK) { Err bitreich.org 70 i free(cbuf); Err bitreich.org 70 i- bseterr("failed to determine uncompressed length"); Err bitreich.org 70 i+ bseterr("snappy_uncompressed_length: failed"); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -265,7 +266,7 @@ bcget(struct bctx *bctx, unsigned char *md, void *buf, size_t *n) Err bitreich.org 70 i if (snappy_uncompress(&cbuf[CDSIZE], cd.size, buf, Err bitreich.org 70 i &un) != SNAPPY_OK) { Err bitreich.org 70 i free(cbuf); Err bitreich.org 70 i- bseterr("failed to uncompress"); Err bitreich.org 70 i+ bseterr("snappy_uncompress: failed"); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i } else { Err bitreich.org 70 1diff --git a/bencrypt.c b/bencrypt.c /scm/dedup/file/bencrypt.c.gph bitreich.org 70 i@@ -3,6 +3,7 @@ Err bitreich.org 70 i #include Err bitreich.org 70 i Err bitreich.org 70 i #include Err bitreich.org 70 i+#include Err bitreich.org 70 i #include Err bitreich.org 70 i #include Err bitreich.org 70 i #include Err bitreich.org 70 i@@ -115,14 +116,14 @@ becreat(struct bctx *bctx, char *path, int mode, struct bparam *bpar) Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i if (sodium_init() < 0) { Err bitreich.org 70 i- bseterr("crypto library failed to initialize"); Err bitreich.org 70 i+ bseterr("sodium_init: failed"); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i /* Allocate and initialize encryption context */ Err bitreich.org 70 i bctx->ectx = calloc(1, sizeof(struct ectx)); Err bitreich.org 70 i if (bctx->ectx == NULL) { Err bitreich.org 70 i- bseterr("out of memory"); Err bitreich.org 70 i+ bseterr("calloc: %s", strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i ectx = bctx->ectx; Err bitreich.org 70 i@@ -147,7 +148,7 @@ beopen(struct bctx *bctx, char *path, int flags, int mode, struct bparam *bpar) Err bitreich.org 70 i /* Allocate and initialize encryption context */ Err bitreich.org 70 i bctx->ectx = calloc(1, sizeof(struct ectx)); Err bitreich.org 70 i if (bctx->ectx == NULL) { Err bitreich.org 70 i- bseterr("out of memory"); Err bitreich.org 70 i+ bseterr("calloc: %s", strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i ectx = bctx->ectx; Err bitreich.org 70 i@@ -206,7 +207,7 @@ beput(struct bctx *bctx, void *buf, size_t n, unsigned char *md) Err bitreich.org 70 i /* Allocate encrypted block */ Err bitreich.org 70 i ebuf = malloc(EDSIZE + en); Err bitreich.org 70 i if (ebuf == NULL) { Err bitreich.org 70 i- bseterr("out of memory"); Err bitreich.org 70 i+ bseterr("malloc: %s", strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -263,7 +264,7 @@ beget(struct bctx *bctx, unsigned char *md, void *buf, size_t *n) Err bitreich.org 70 i size = EDSIZE + *n + crypto_aead_xchacha20poly1305_ietf_ABYTES; Err bitreich.org 70 i ebuf = malloc(size); Err bitreich.org 70 i if (ebuf == NULL) { Err bitreich.org 70 i- bseterr("out of memory"); Err bitreich.org 70 i+ bseterr("malloc: %s", strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } 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@@ -137,7 +137,7 @@ unpackbhdr(int fd, struct bhdr *bhdr) 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- bseterr("failed to read block header"); Err bitreich.org 70 i+ bseterr("failed to read block header: %s", strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -164,7 +164,7 @@ packbhdr(int fd, struct bhdr *bhdr) 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- bseterr("failed to write block header"); Err bitreich.org 70 i+ bseterr("failed to write block header: %s", strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i return n; Err bitreich.org 70 i@@ -179,7 +179,8 @@ unpackbd(int fd, struct bd *bd) 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- bseterr("failed to read block descriptor"); Err bitreich.org 70 i+ bseterr("failed to read block descriptor: %s", Err bitreich.org 70 i+ strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -215,7 +216,8 @@ packbd(int fd, struct bd *bd) 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- bseterr("failed to write block descriptor"); Err bitreich.org 70 i+ bseterr("failed to write block descriptor: %s", Err bitreich.org 70 i+ strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i return n; Err bitreich.org 70 i@@ -229,7 +231,7 @@ loadbd(struct sctx *sctx) Err bitreich.org 70 i Err bitreich.org 70 i bd = calloc(1, sizeof(*bd)); Err bitreich.org 70 i if (bd == NULL) { Err bitreich.org 70 i- bseterr("out of memory"); Err bitreich.org 70 i+ bseterr("calloc: %s", strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -247,7 +249,7 @@ loadbd(struct sctx *sctx) Err bitreich.org 70 i /* Move to the next block descriptor */ Err bitreich.org 70 i if (lseek(sctx->fd, bd->size, SEEK_CUR) < 0) { Err bitreich.org 70 i free(bd); Err bitreich.org 70 i- bseterr("failed to seek on storage descriptor"); Err bitreich.org 70 i+ bseterr("lseek: %s", strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -308,20 +310,20 @@ bscreat(struct bctx *bctx, char *path, int mode, struct bparam *bpar) Err bitreich.org 70 i int fd; Err bitreich.org 70 i Err bitreich.org 70 i if (sodium_init() < 0) { Err bitreich.org 70 i- bseterr("crypto library failed to initialize"); Err bitreich.org 70 i+ bseterr("sodium_init: failed"); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i fd = open(path, O_RDWR | O_CREAT | O_EXCL, mode); Err bitreich.org 70 i if (fd < 0) { Err bitreich.org 70 i- bseterr("%s", strerror(errno)); Err bitreich.org 70 i+ bseterr("open: %s", strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i bctx->sctx = calloc(1, sizeof(struct sctx)); Err bitreich.org 70 i if (bctx->sctx == NULL) { Err bitreich.org 70 i close(fd); Err bitreich.org 70 i- bseterr("out of memory"); Err bitreich.org 70 i+ bseterr("calloc: %s", strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -389,20 +391,20 @@ bsopen(struct bctx *bctx, char *path, int flags, int mode, struct bparam *bpar) Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i if (sodium_init() < 0) { Err bitreich.org 70 i- bseterr("crypto library failed to initialize"); Err bitreich.org 70 i+ bseterr("sodium_init: failed"); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i fd = open(path, flags, mode); Err bitreich.org 70 i if (fd < 0) { Err bitreich.org 70 i- bseterr("%s", strerror(errno)); Err bitreich.org 70 i+ bseterr("open: %s", strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i bctx->sctx = calloc(1, sizeof(struct sctx)); Err bitreich.org 70 i if (bctx->sctx == NULL) { Err bitreich.org 70 i close(fd); Err bitreich.org 70 i- bseterr("out of memory"); Err bitreich.org 70 i+ bseterr("calloc: %s", strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -491,7 +493,7 @@ bsput(struct bctx *bctx, void *buf, size_t n, unsigned char *md) Err bitreich.org 70 i off_t offs; Err bitreich.org 70 i Err bitreich.org 70 i if (bhash(buf, n, key.md) < 0) { Err bitreich.org 70 i- bseterr("failed to hash block"); Err bitreich.org 70 i+ bseterr("bhash: failed"); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -507,7 +509,7 @@ bsput(struct bctx *bctx, void *buf, size_t n, unsigned char *md) Err bitreich.org 70 i Err bitreich.org 70 i bdoffs = bd->offset - BDSIZE; Err bitreich.org 70 i if (lseek(sctx->fd, bdoffs, SEEK_SET) < 0) { Err bitreich.org 70 i- bseterr("failed to seek on storage descriptor"); Err bitreich.org 70 i+ bseterr("lseek: %s", strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -524,14 +526,14 @@ bsput(struct bctx *bctx, void *buf, size_t n, unsigned char *md) Err bitreich.org 70 i /* New blocks are always appended to the storage file */ Err bitreich.org 70 i offs = lseek(sctx->fd, 0, SEEK_END); Err bitreich.org 70 i if (offs < 0) { Err bitreich.org 70 i- bseterr("failed to seek on storage descriptor"); Err bitreich.org 70 i+ bseterr("lseek: %s", strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i /* Allocate a new block descriptor */ Err bitreich.org 70 i bd = calloc(1, sizeof(*bd)); Err bitreich.org 70 i if (bd == NULL) { Err bitreich.org 70 i- bseterr("out of memory"); Err bitreich.org 70 i+ bseterr("calloc: %s", strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i bd->type = BDTYPE; Err bitreich.org 70 i@@ -551,7 +553,7 @@ bsput(struct bctx *bctx, void *buf, size_t n, unsigned char *md) Err bitreich.org 70 i /* Shouldn't fail but if it does rewind storage file state */ Err bitreich.org 70 i ftruncate(sctx->fd, offs); Err bitreich.org 70 i free(bd); Err bitreich.org 70 i- bseterr("failed to write block"); Err bitreich.org 70 i+ bseterr("failed to write block: %s", strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -591,11 +593,11 @@ bsget(struct bctx *bctx, unsigned char *md, void *buf, size_t *n) Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i if (lseek(sctx->fd, bd->offset, SEEK_SET) < 0) { Err bitreich.org 70 i- bseterr("failed to seek on storage descriptor"); Err bitreich.org 70 i+ bseterr("lseek: %s", strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i if (xread(sctx->fd, buf, bd->size) != bd->size) { Err bitreich.org 70 i- bseterr("failed to read block"); Err bitreich.org 70 i+ bseterr("failed to read block: %s", strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i *n = bd->size; Err bitreich.org 70 i@@ -622,7 +624,7 @@ bsrm(struct bctx *bctx, unsigned char *md) Err bitreich.org 70 i Err bitreich.org 70 i bdoffs = bd->offset - BDSIZE; Err bitreich.org 70 i if (lseek(sctx->fd, bdoffs, SEEK_SET) < 0) { Err bitreich.org 70 i- bseterr("failed to seek on storage descriptor"); Err bitreich.org 70 i+ bseterr("lseek: %s", strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -702,25 +704,25 @@ bscheck(struct bctx *bctx, unsigned char *md) Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i if (lseek(sctx->fd, bd->offset, SEEK_SET) < 0) { Err bitreich.org 70 i- bseterr("failed to seek on storage descriptor"); Err bitreich.org 70 i+ bseterr("lseek: %s", strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i buf = malloc(bd->size); Err bitreich.org 70 i if (buf == NULL) { Err bitreich.org 70 i- bseterr("out of memory"); Err bitreich.org 70 i+ bseterr("malloc: %s", strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i if (xread(sctx->fd, buf, bd->size) != bd->size) { Err bitreich.org 70 i free(buf); Err bitreich.org 70 i- bseterr("failed to read block"); Err bitreich.org 70 i+ bseterr("failed to read block: %s", strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i if (bhash(buf, bd->size, key.md) < 0) { Err bitreich.org 70 i free(buf); Err bitreich.org 70 i- bseterr("failed to hash block"); Err bitreich.org 70 i+ bseterr("bhash: failed"); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -743,7 +745,7 @@ bssync(struct bctx *bctx) Err bitreich.org 70 i return 0; Err bitreich.org 70 i Err bitreich.org 70 i if (lseek(sctx->fd, 0, SEEK_SET) < 0) { Err bitreich.org 70 i- bseterr("failed to seek on storage descriptor"); Err bitreich.org 70 i+ bseterr("lseek: %s", strerror(errno)); 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@@ -779,7 +781,7 @@ bsclose(struct bctx *bctx) Err bitreich.org 70 i r = close(sctx->fd); Err bitreich.org 70 i free(sctx); Err bitreich.org 70 i if (r < 0) Err bitreich.org 70 i- bseterr("failed to close storage descriptor"); Err bitreich.org 70 i+ bseterr("close: %s", strerror(errno)); Err bitreich.org 70 i return r; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 1diff --git a/snap.c b/snap.c /scm/dedup/file/snap.c.gph bitreich.org 70 i@@ -47,7 +47,7 @@ loadmd(struct sctx *sctx) Err bitreich.org 70 i } Err bitreich.org 70 i if (xread(sctx->fd, mdnode->md, MDSIZE) != MDSIZE) { Err bitreich.org 70 i free(mdnode); Err bitreich.org 70 i- sseterr("xread: %s", strerror(errno)); Err bitreich.org 70 i+ sseterr("failed to read message digest: %s", strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i SLIST_INSERT_HEAD(&sctx->mdhead, mdnode, e); Err bitreich.org 70 i@@ -226,7 +226,8 @@ ssync(struct sctx *sctx) Err bitreich.org 70 i } Err bitreich.org 70 i SLIST_FOREACH(mdnode, &sctx->mdhead, e) { Err bitreich.org 70 i if (xwrite(sctx->fd, mdnode->md, MDSIZE) != MDSIZE) { Err bitreich.org 70 i- sseterr("xwrite: %s", strerror(errno)); Err bitreich.org 70 i+ sseterr("failed to write message digest: %s", Err bitreich.org 70 i+ strerror(errno)); Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i } Err bitreich.org 70 .