mwilck / btrfs-clone

A tool for copying a btrfs file system with all its subvolumes to another btrfs file system
GNU General Public License v2.0
116 stars 17 forks source link

Cloning fails immediately with [Errno 2] no such file or directory #13

Closed QGtKMlLz closed 11 months ago

QGtKMlLz commented 3 years ago

Running on Synology with DSM 6.2.3-25426 Update 3, but when trying to run btrfs-clone it fails with the below, and I can't seem to find any ideas on how to resolve?

ash-4.3# sudo ./btrfs-clone --dry-run -v /volume3/Restri/ /volume5/Restri5/ unsharing mount namespace [Errno 2] No such file or directory

Perhaps it is related to this ??: https://github.com/openSUSE/snapper/issues/35

QGtKMlLz commented 3 years ago

I moved the btrfs-clone script into a $PATH folder so I could execute right inside the source.

I ran this, and found this detail: root@DS1815:/volume1# sudo btrfs-clone -t --dry-run -vvvv /volume1/subvol1/ /volume2/subvol2/

unsharing mount namespace
Traceback (most recent call last):
  File "/usr/syno/bin/btrfs-clone", line 844, in <module>
    main()
  File "/usr/syno/bin/btrfs-clone", line 815, in main
    os.execvp("unshare", ["unshare", "-m"] + sys.argv + ["--no-unshare"])
  File "/usr/lib/python2.7/os.py", line 346, in execvp
    _execvpe(file, args)
  File "/usr/lib/python2.7/os.py", line 382, in _execvpe
    func(fullname, *argrest)
OSError: [Errno 2] No such file or directory

This is the show subvolume:

sudo btrfs subvolume show /volume1/subvol1

--

/volume1/subvol1
Name:                   subvol1
UUID:                     65977df4-240a-ee4a-872a-8a9450e8a289
Parent UUID:            -
Received UUID:          -
Creation time:            2019-03-10 15:59:39 -0500
Subvolume ID:           1826
Generation:             5746590
Gen at creation:        6208
Parent ID:              257
Top level ID:           257
Flags:                  readonly
Snapshot(s):
@syno/@sharesnap/subvol1/GMT-06-2021.01.10-13.37.45
@syno/@sharesnap/subvol1/GMT-06-2021.01.10-13.37.58
@syno/@sharesnap/subvol1/GMT-06-2021.01.10-19.09.11
@syno/@sharesnap/subvol1/GMT-06-2021.01.10-19.10.06
@syno/@sharesnap/subvol1/GMT-06-2021.01.10-19.10.52
@syno/@sharesnap/subvol1/GMT-06-2021.01.10-19.13.15
@syno/@sharesnap/subvol1/GMT-06-2021.01.11-00.00.02
@syno/@sharesnap/subvol1/GMT-06-2021.01.11-12.00.02
@syno/subvol1-orig-test
@syno/aBackup-subvol1-01.11-20.49
@syno/subvol1_0-test
mwilck commented 11 months ago

I suppose the "unshare" command is not present on your synology system. You could try running the tool with the --no-unshare option.

The unshare feature is rather optional; I implemented it in order to avoid confusion because the btrfs-clone tool creates quite a few mounts while it is executing, and unshare avoids that these mounts clutter the environment of other processes.

mwilck commented 11 months ago

I realize this is an old issue. Please try the hint above; if it doesn't work, please re-open.