As my backup after upgrade to 0.8.0 was much bigger than anticipated, I investigated a bit. The whole tree metadata was stored again, even though nothing changed. The problem was gone when I build the current master from source with debug flags.
I seems that restic, depending on version, stores the plaintext username and/or group in all the tree nodes. I cannot exactly say which version I was using, but in older backups e.g. my root node looks like this (with username):
{
"nodes": [
{
"name": "disk1",
"type": "dir",
"mode": 2147484159,
"mtime": "2017-11-15T09:46:13.703046402+01:00",
"atime": "2017-07-27T00:07:21.919194755+02:00",
"ctime": "2017-11-15T09:46:13.703046402+01:00",
"uid": 0,
"gid": 0,
"user": "root",
"inode": 2,
"device_id": 2064,
"content": null,
"subtree": "db2408e44675a1db87cee6ecce27770b895194bef062b493dc84bd6836b6406f"
}
]
}
Somwhere inbetween (a betaversion with cache) the username vanished and with 0.8.0 it now came back and the groupname was added:
{
"nodes": [
{
"name": "disk1",
"type": "dir",
"mode": 2147484159,
"mtime": "2017-11-19T16:21:42.971778943+01:00",
"atime": "2017-07-27T00:07:21.919194755+02:00",
"ctime": "2017-11-19T16:21:42.971778943+01:00",
"uid": 0,
"gid": 0,
"user": "root",
"group": "root",
"inode": 2,
"device_id": 2064,
"content": null,
"subtree": "b4f2ed8f7fda339986c15cb19432a5ff687daeb79448a4e9c2c715981d837014"
}
]
}
With the current master (restic 0.8.0 (v0.8.0-15-gbb448550)), none of the fields turn up:
{
"nodes": [
{
"name": "disk1",
"type": "dir",
"mode": 2147484159,
"mtime": "2017-11-19T16:21:42.971778943+01:00",
"atime": "2017-07-27T00:07:21.919194755+02:00",
"ctime": "2017-11-19T16:21:42.971778943+01:00",
"uid": 0,
"gid": 0,
"inode": 2,
"device_id": 2064,
"content": null,
"subtree": "57866eafbcca0d4c0c95f23710936758091e295a4fe3f8e43de09d6b9805662c"
}
]
}
This is memorywise for the backup not that bad, but for the cache it creates a big increase of memory consumption, I now have the whole tree three times in there.
Are these wanted changes or am I doing something wrong? I didn’t find anything related in the commits …