summaryrefslogtreecommitdiffstats
path: root/ctdb/client
diff options
context:
space:
mode:
authorMichael Adam <obnox@samba.org>2011-11-28 17:19:03 +0100
committerMichael Adam <obnox@samba.org>2011-11-29 13:43:32 +0100
commitdc98c12ac96b3d9d7fd233c961e328c4ca2d1716 (patch)
tree6cfc0143b6d61a04bd784162ee9a6901067b863e /ctdb/client
parent1dfdb9d887fe22023980b90ea40dc73fd8a34190 (diff)
downloadsamba-dc98c12ac96b3d9d7fd233c961e328c4ca2d1716.tar.gz
samba-dc98c12ac96b3d9d7fd233c961e328c4ca2d1716.tar.xz
samba-dc98c12ac96b3d9d7fd233c961e328c4ca2d1716.zip
ctdb: add an option --print-datasize to only print datasize instead of dumping data in db dumps
Used in catdb, cattdb and dumpdbbackup. (This used to be ctdb commit dd866116041e71cbf91e7fd91edcc9501634051d)
Diffstat (limited to 'ctdb/client')
-rw-r--r--ctdb/client/ctdb_client.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/ctdb/client/ctdb_client.c b/ctdb/client/ctdb_client.c
index 72c938da9ff..31a6ffc665f 100644
--- a/ctdb/client/ctdb_client.c
+++ b/ctdb/client/ctdb_client.c
@@ -2151,15 +2151,19 @@ int ctdb_dumpdb_record(struct ctdb_context *ctdb, TDB_DATA key, TDB_DATA data, v
if (h->flags & CTDB_REC_RO_REVOKE_COMPLETE) printf(" RO_REVOKE_COMPLETE");
fprintf(f, "\n");
- fprintf(f, "data(%u) = \"", (unsigned)(data.dsize - sizeof(*h)));
- for (i=sizeof(*h);i<data.dsize;i++) {
- if (ISASCII(data.dptr[i])) {
- fprintf(f, "%c", data.dptr[i]);
- } else {
- fprintf(f, "\\%02X", data.dptr[i]);
+ if (c->printdatasize) {
+ fprintf(f, "data size: %u\n", (unsigned)data.dsize);
+ } else {
+ fprintf(f, "data(%u) = \"", (unsigned)(data.dsize - sizeof(*h)));
+ for (i=sizeof(*h);i<data.dsize;i++) {
+ if (ISASCII(data.dptr[i])) {
+ fprintf(f, "%c", data.dptr[i]);
+ } else {
+ fprintf(f, "\\%02X", data.dptr[i]);
+ }
}
+ fprintf(f, "\"\n");
}
- fprintf(f, "\"\n");
fprintf(f, "\n");