Adding d/p/19_check_disk_fs_usage from upstream
This commit is contained in:
parent
76475e98e4
commit
f625b1ed77
46
debian/patches/19_check_disk_fs_usage
vendored
Normal file
46
debian/patches/19_check_disk_fs_usage
vendored
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
From dd249c5d4bbce1c1250322dab8c8d0d69b0dca34 Mon Sep 17 00:00:00 2001
|
||||||
|
From: christian-2 <49752982+christian-2@users.noreply.github.com>
|
||||||
|
Date: Tue, 13 Dec 2022 23:48:36 +0100
|
||||||
|
Subject: [PATCH] check_disk: Find accessible mount path if multiple are
|
||||||
|
available (#1820)
|
||||||
|
|
||||||
|
* fixes #1819
|
||||||
|
* mount entries also have to be accessible according to get_fs_usage()
|
||||||
|
---
|
||||||
|
lib/utils_disk.c | 6 ++++++
|
||||||
|
1 file changed, 6 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/lib/utils_disk.c b/lib/utils_disk.c
|
||||||
|
index c7c9126e4..4f16068a7 100644
|
||||||
|
--- a/lib/utils_disk.c
|
||||||
|
+++ b/lib/utils_disk.c
|
||||||
|
@@ -28,6 +28,7 @@
|
||||||
|
|
||||||
|
#include "common.h"
|
||||||
|
#include "utils_disk.h"
|
||||||
|
+#include "gl/fsusage.h"
|
||||||
|
|
||||||
|
void
|
||||||
|
np_add_name (struct name_list **list, const char *name)
|
||||||
|
@@ -127,9 +128,12 @@ np_set_best_match(struct parameter_list *desired, struct mount_entry *mount_list
|
||||||
|
size_t name_len = strlen(d->name);
|
||||||
|
size_t best_match_len = 0;
|
||||||
|
struct mount_entry *best_match = NULL;
|
||||||
|
+ struct fs_usage fsp;
|
||||||
|
|
||||||
|
/* set best match if path name exactly matches a mounted device name */
|
||||||
|
for (me = mount_list; me; me = me->me_next) {
|
||||||
|
+ if (get_fs_usage(me->me_mountdir, me->me_devname, &fsp) < 0)
|
||||||
|
+ continue; /* skip if permissions do not suffice for accessing device */
|
||||||
|
if (strcmp(me->me_devname, d->name)==0)
|
||||||
|
best_match = me;
|
||||||
|
}
|
||||||
|
@@ -137,6 +141,8 @@ np_set_best_match(struct parameter_list *desired, struct mount_entry *mount_list
|
||||||
|
/* set best match by directory name if no match was found by devname */
|
||||||
|
if (! best_match) {
|
||||||
|
for (me = mount_list; me; me = me->me_next) {
|
||||||
|
+ if (get_fs_usage(me->me_mountdir, me->me_devname, &fsp) < 0)
|
||||||
|
+ continue; /* skip if permissions do not suffice for accessing device */
|
||||||
|
size_t len = strlen (me->me_mountdir);
|
||||||
|
if ((exact == FALSE && (best_match_len <= len && len <= name_len &&
|
||||||
|
(len == 1 || strncmp (me->me_mountdir, d->name, len) == 0)))
|
1
debian/patches/series
vendored
1
debian/patches/series
vendored
|
@ -7,3 +7,4 @@
|
||||||
16_check_pgsql_dbname_too_strict
|
16_check_pgsql_dbname_too_strict
|
||||||
17_check_curl_detect_ipv6
|
17_check_curl_detect_ipv6
|
||||||
18_check_icmp_help
|
18_check_icmp_help
|
||||||
|
19_check_disk_fs_usage
|
||||||
|
|
Loading…
Reference in a new issue