From: Dmitry V. Levin Date: Tue, 17 Jan 2023 08:00:00 +0000 (+0000) Subject: coredump: use fstatvfs to check the available space X-Git-Tag: v253-rc1~87 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8facac5fdd227ff59827c8c7f65bd01fd402b465;p=thirdparty%2Fsystemd.git coredump: use fstatvfs to check the available space Given that we already have the file descriptor opened for writing, it would make sense to call fstatvfs with that file descriptor rather than statvfs with the directory path that was used to open that descriptor. --- diff --git a/src/coredump/coredump.c b/src/coredump/coredump.c index 192dc4c654b..013ebb4c287 100644 --- a/src/coredump/coredump.c +++ b/src/coredump/coredump.c @@ -597,7 +597,7 @@ static int save_external_coredump( /* tmpfs might get full quickly, so check the available space too. * But don't worry about errors here, failing to access the storage * location will be better logged when writing to it. */ - if (statvfs("/var/lib/systemd/coredump/", &sv) >= 0) + if (fstatvfs(fd, &sv) >= 0) max_size = MIN((uint64_t)sv.f_frsize * (uint64_t)sv.f_bfree, max_size); log_debug("Limiting core file size to %" PRIu64 " bytes due to cgroup memory limits.", max_size);