From: Lennart Poettering Date: Thu, 4 Nov 2021 20:58:22 +0000 (+0100) Subject: homework: turn off compression for files backing LUKS volumes X-Git-Tag: v250-rc1~288 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8ccb69aef04b44dcc8245dc127a6b232df6d36b3;p=thirdparty%2Fsystemd.git homework: turn off compression for files backing LUKS volumes We need random access read/write files, and compression sucks for that, hence disable it on the underlying files. Compression in the home directory might be desirable, but if so it should be done *inside* the home dir fs, not on the underlying fs. --- diff --git a/src/home/homework-luks.c b/src/home/homework-luks.c index 7aee82a980e..ae101dd5bb6 100644 --- a/src/home/homework-luks.c +++ b/src/home/homework-luks.c @@ -2155,8 +2155,8 @@ int home_create_luks( setup->temporary_image_path = TAKE_PTR(t); - r = chattr_fd(setup->image_fd, FS_NOCOW_FL, FS_NOCOW_FL, NULL); - if (r < 0) + r = chattr_full(t, setup->image_fd, FS_NOCOW_FL|FS_NOCOMP_FL, FS_NOCOW_FL|FS_NOCOMP_FL, NULL, NULL, CHATTR_FALLBACK_BITWISE); + if (r < 0 && r != -ENOANO) /* ENOANO → some bits didn't work; which we skip logging about because chattr_full() already debug logs about those flags */ log_full_errno(ERRNO_IS_NOT_SUPPORTED(r) ? LOG_DEBUG : LOG_WARNING, r, "Failed to set file attributes on %s, ignoring: %m", setup->temporary_image_path);