From 580f91f9e043430ef21718971be2dd171b8abe3d Mon Sep 17 00:00:00 2001
From: Jelle van der Waa <jelle@archlinux.org>
Date: Thu, 3 Sep 2020 18:06:23 +0200
Subject: [PATCH] Exclude btrfs docker submount from being backed up

The backup script fails on our Gitlab machine as it tries to remove a
snapshot of the docker submount, which we do not want to backup anyway.

btrfs subvolume snapshot -r /var/lib/docker/btrfs /var/lib/docker/btrfs/backup-snapshot
ERROR: Not a Btrfs subvolume: Invalid argument
---
 roles/borg_client/templates/borg-backup.sh.j2 | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/roles/borg_client/templates/borg-backup.sh.j2 b/roles/borg_client/templates/borg-backup.sh.j2
index 2a1103a96..2e6c44dcd 100644
--- a/roles/borg_client/templates/borg-backup.sh.j2
+++ b/roles/borg_client/templates/borg-backup.sh.j2
@@ -23,7 +23,8 @@ delete_snapshot() {
 }
 
 if is_btrfs "$src"; then
-    list_of_btrfs_submounts=$(findmnt -Rl -o target,fstype,options / | grep btrfs | grep -v "subvol=\/[[:alnum:]]" | cut -d ' ' -f1)
+    # List all btrfs submounts we want to backup, e.g. homedir.archlinux.org with "/ /home"
+    list_of_btrfs_submounts=$(findmnt -Rl -o target,fstype,options / | grep btrfs | grep -v docker | grep -v "subvol=\/[[:alnum:]]" | cut -d ' ' -f1)
 
     if [[ -d "$backup_mountdir" ]]; then
         if [[ $(findmnt -M "$backup_mountdir") ]]; then
-- 
GitLab