blob: 4e993b7e7054c7806d0aed1aa21503af8cb1f094 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
From e7c852e43c0479060e630adb50342d2552a6cdad Mon Sep 17 00:00:00 2001
From: Thomas Parrott <thomas.parrott@canonical.com>
Date: Tue, 7 Feb 2023 10:04:27 +0000
Subject: [PATCH] lxd/storage/drivers/driver/btrfs/utils: Only check for
minimum number of columns in `btrfs qgroup show` command
Previously we expected 4 columns, but in btrfs-progs >= 6.0 this has changed to 5 columns.
E.g. in Jammy btrfs-progs v5.16.2:
```
sudo btrfs qgroup show /var/lib/lxd/storage-pools/btrfs
qgroupid rfer excl
-------- ---- ----
0/5 16.00KiB 16.00KiB
0/256 9.66MiB 400.00KiB
0/257 9.66MiB 392.00KiB
```
And in Lunar btrfs-progs v6.1.3:
```
btrfs qgroup show /var/lib/lxd/storage-pools/btrfs
Qgroupid Referenced Exclusive Path
-------- ---------- --------- ----
0/5 16.00KiB 16.00KiB <toplevel>
0/256 9.63MiB 400.00KiB images/1f81470478d136f0008c856e3a47369e0ac863f0402ce0e31c56dd29e9fdd4d7
0/257 9.64MiB 404.00KiB containers/c1
```
Fixes #11210
Signed-off-by: Thomas Parrott <thomas.parrott@canonical.com>
---
lxd/storage/drivers/driver_btrfs_utils.go | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/lxd/storage/drivers/driver_btrfs_utils.go b/lxd/storage/drivers/driver_btrfs_utils.go
index e1468e4b1a59..722a2de20978 100644
--- a/lxd/storage/drivers/driver_btrfs_utils.go
+++ b/lxd/storage/drivers/driver_btrfs_utils.go
@@ -253,7 +253,9 @@ func (d *btrfs) getQGroup(path string) (string, int64, error) {
}
fields := strings.Fields(line)
- if len(fields) != 4 {
+
+ // The BTRFS tooling changed the number of columns between versions so we only check for minimum.
+ if len(fields) < 3 {
continue
}
|