AmesCornish / buttersink

Buttersink is like rsync for btrfs snapshots
GNU General Public License v3.0
193 stars 18 forks source link

relative path while 'keeping' - no such file or directory #66

Closed yvolchkov closed 5 years ago

yvolchkov commented 5 years ago

Hi Ames,

with the latest commit, I am experiencing the following issue:

     INFO:Store.py[339]: Keep: 6aba...93aa /mnt/root/.snapshots/59/snapshot from None (16 KiB)
S|  DEBUG:ButterStore.py[305]: Copy 59/snapshot to /mnt/root/.snapshots
S|  DEBUG:Butter.py[123]: Command: ['btrfs', 'subvolume', 'snapshot', '-r', u'59/snapshot', '/mnt/root/.snapshots']
S|  DEBUG:Butter.py[129]: ['btrfs', 'subvolume', 'snapshot', '-r', u'59/snapshot', '/mnt/root/.snapshots']
    DEBUG:SSHStore.py[361]: Waiting for ssh process to finish...
    ERROR:buttersink[291]: ERROR: {u'traceback': u'    raise Exception(err)', u'errorType': u'Exception', u'command': u'keep', u'server': True, u'error': u'ERROR: cannot access subvolume 59/snapshot: No such file or directory\n'}.
Traceback (most recent call last):

Bisecting points to commit 820f77ca2539cd4d34a6d3ab7bba37363994f398.

Could you please help me?

yvolchkov commented 5 years ago

The key thing I do not understand, why we need to 'copy' while doing operation 'keep'

AmesCornish commented 5 years ago

I am looking in to this. The reason there is a "copy", is because the transfer may "keep" a snapshot from a different folder in the destination repo, and so you need to copy it into the correct folder. I suspect you're right though, in that it's trying to do a copy when it shouldn't be.

yvolchkov commented 5 years ago

Ah, you mean the destination already has a matching snapshot and we only need to copy it to the right location.

Maybe the reason it does not work for me I have a testing volumes, and the contents is just a dummy text file. So snapshots are not very different from each other. I can share the volumes if that helps.

AmesCornish commented 5 years ago

The latest commit 5cc37e3 will hopefully fix this. I wasn't able to reproduce your issue exactly, so please test and let me know if it works. Thanks!