From: Lennart Poettering Date: Mon, 20 Oct 2025 10:59:02 +0000 (+0200) Subject: loop-util: explain why we propagate discard_max_bytes from backing block device to... X-Git-Tag: v259-rc1~279 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=342084b0358f819df09a9f2f1dfa7b590bf9ae04;p=thirdparty%2Fsystemd.git loop-util: explain why we propagate discard_max_bytes from backing block device to loopback block device Follow-up for: 29ee9c6fb7c75c421f887c8579c65eb04d4f634d --- diff --git a/src/shared/loop-util.c b/src/shared/loop-util.c index 690f6aeb2a7..e9064c29105 100644 --- a/src/shared/loop-util.c +++ b/src/shared/loop-util.c @@ -611,6 +611,10 @@ static int loop_device_make_internal( } if (S_ISBLK(st.st_mode)) { + /* Propagate backing device's discard byte limit to our loopback block device. We do this in + * order to avoid that (supposedly quick) discard requests on the loopback device get turned + * into (likely slow) zero-out requests on backing devices that do not support discarding + * natively, but do support zero-out. */ uint64_t discard_max_bytes; r = fd_get_max_discard(fd, &discard_max_bytes);