]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
repart: Create disk image file with copy-on-write disabled on btrfs
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Tue, 23 Jul 2024 20:44:03 +0000 (22:44 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 24 Jul 2024 16:58:41 +0000 (18:58 +0200)
COW on btrfs generally does not play well lots of random writes so
let's make the disk images generated by repart NOCOW by default on
btrfs like we do elsewhere across the codebase.

src/partition/repart.c

index 118a369206d322e6be14b62f82dd2beb2c627e2b..7db493cafc323ef24861bfcec3251fcb503e2c06 100644 (file)
@@ -7909,7 +7909,7 @@ static int find_root(Context *context) {
                         if (!s)
                                 return log_oom();
 
-                        fd = open(arg_node, O_RDONLY|O_CREAT|O_EXCL|O_CLOEXEC|O_NOFOLLOW, 0666);
+                        fd = xopenat_full(AT_FDCWD, arg_node, O_RDONLY|O_CREAT|O_EXCL|O_CLOEXEC|O_NOFOLLOW, XO_NOCOW, 0666);
                         if (fd < 0)
                                 return log_error_errno(errno, "Failed to create '%s': %m", arg_node);