summaryrefslogtreecommitdiffstats
path: root/src/shared
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-09-16 18:26:40 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-09-16 18:26:40 +0000
commit34f1d05ca3b350257f1d9ddb0aba57f129c27c67 (patch)
treeeccee464f1cccec702d6b9a87f1732c343bd74c2 /src/shared
parentAdding debian version 256.4-3. (diff)
downloadsystemd-34f1d05ca3b350257f1d9ddb0aba57f129c27c67.tar.xz
systemd-34f1d05ca3b350257f1d9ddb0aba57f129c27c67.zip
Merging upstream version 256.5.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/shared')
-rw-r--r--src/shared/base-filesystem.c24
-rw-r--r--src/shared/edit-util.c2
-rw-r--r--src/shared/resize-fs.h6
-rw-r--r--src/shared/tests.h37
4 files changed, 49 insertions, 20 deletions
diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c
index a4e2dae..0d5075e 100644
--- a/src/shared/base-filesystem.c
+++ b/src/shared/base-filesystem.c
@@ -56,8 +56,7 @@ static const BaseFilesystem table[] = {
/* aarch64 ELF ABI actually says dynamic loader is in /lib/, but Fedora puts it in /lib64/ anyway and
* just symlinks /lib/ld-linux-aarch64.so.1 to ../lib64/ld-linux-aarch64.so.1. For this to work
* correctly, /lib64/ must be symlinked to /usr/lib64/. */
- { "lib64", 0, "usr/lib/"LIB_ARCH_TUPLE"\0"
- "usr/lib64\0"
+ { "lib64", 0, "usr/lib64\0"
"usr/lib\0", "ld-linux-aarch64.so.1" },
# define KNOW_LIB64_DIRS 1
#elif defined(__alpha__)
@@ -66,24 +65,20 @@ static const BaseFilesystem table[] = {
/* No /lib64 on arm. The linker is /lib/ld-linux-armhf.so.3. */
# define KNOW_LIB64_DIRS 1
#elif defined(__i386__) || defined(__x86_64__)
- { "lib64", 0, "usr/lib/"LIB_ARCH_TUPLE"\0"
- "usr/lib64\0"
+ { "lib64", 0, "usr/lib64\0"
"usr/lib\0", "ld-linux-x86-64.so.2" },
# define KNOW_LIB64_DIRS 1
#elif defined(__ia64__)
#elif defined(__loongarch_lp64)
# define KNOW_LIB64_DIRS 1
# if defined(__loongarch_double_float)
- { "lib64", 0, "usr/lib/"LIB_ARCH_TUPLE"\0"
- "usr/lib64\0"
+ { "lib64", 0, "usr/lib64\0"
"usr/lib\0", "ld-linux-loongarch-lp64d.so.1" },
# elif defined(__loongarch_single_float)
- { "lib64", 0, "usr/lib/"LIB_ARCH_TUPLE"\0"
- "usr/lib64\0"
+ { "lib64", 0, "usr/lib64\0"
"usr/lib\0", "ld-linux-loongarch-lp64f.so.1" },
# elif defined(__loongarch_soft_float)
- { "lib64", 0, "usr/lib/"LIB_ARCH_TUPLE"\0"
- "usr/lib64\0"
+ { "lib64", 0, "usr/lib64\0"
"usr/lib\0", "ld-linux-loongarch-lp64s.so.1" },
# else
# error "Unknown LoongArch ABI"
@@ -100,8 +95,7 @@ static const BaseFilesystem table[] = {
# endif
#elif defined(__powerpc__)
# if defined(__PPC64__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
- { "lib64", 0, "usr/lib/"LIB_ARCH_TUPLE"\0"
- "usr/lib64\0"
+ { "lib64", 0, "usr/lib64\0"
"usr/lib\0", "ld64.so.2" },
# define KNOW_LIB64_DIRS 1
# elif defined(__powerpc64__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
@@ -113,16 +107,14 @@ static const BaseFilesystem table[] = {
# if __riscv_xlen == 32
# elif __riscv_xlen == 64
/* Same situation as for aarch64 */
- { "lib64", 0, "usr/lib/"LIB_ARCH_TUPLE"\0"
- "usr/lib64\0"
+ { "lib64", 0, "usr/lib64\0"
"usr/lib\0", "ld-linux-riscv64-lp64d.so.1" },
# define KNOW_LIB64_DIRS 1
# else
# error "Unknown RISC-V ABI"
# endif
#elif defined(__s390x__)
- { "lib64", 0, "usr/lib/"LIB_ARCH_TUPLE"\0"
- "usr/lib64\0"
+ { "lib64", 0, "usr/lib64\0"
"usr/lib\0", "ld-lsb-s390x.so.3" },
# define KNOW_LIB64_DIRS 1
#elif defined(__s390__)
diff --git a/src/shared/edit-util.c b/src/shared/edit-util.c
index cfb2828..b049603 100644
--- a/src/shared/edit-util.c
+++ b/src/shared/edit-util.c
@@ -357,7 +357,7 @@ static int strip_edit_temp_file(EditFile *e) {
return 1; /* Contents have real changes */
r = write_string_file(e->temp, new_contents,
- WRITE_STRING_FILE_CREATE | WRITE_STRING_FILE_TRUNCATE | WRITE_STRING_FILE_AVOID_NEWLINE);
+ WRITE_STRING_FILE_TRUNCATE | WRITE_STRING_FILE_AVOID_NEWLINE);
if (r < 0)
return log_error_errno(r, "Failed to strip temporary file '%s': %m", e->temp);
diff --git a/src/shared/resize-fs.h b/src/shared/resize-fs.h
index b40943c..bacaec7 100644
--- a/src/shared/resize-fs.h
+++ b/src/shared/resize-fs.h
@@ -7,9 +7,9 @@
int resize_fs(int fd, uint64_t sz, uint64_t *ret_size);
-#define BTRFS_MINIMAL_SIZE (256U*1024U*1024U)
-#define XFS_MINIMAL_SIZE (300U*1024U*1024U)
-#define EXT4_MINIMAL_SIZE (1024U*1024U)
+#define BTRFS_MINIMAL_SIZE (256U*U64_MB)
+#define XFS_MINIMAL_SIZE (300U*U64_MB)
+#define EXT4_MINIMAL_SIZE (32U*U64_MB)
uint64_t minimal_size_by_fs_magic(statfs_f_type_t magic);
uint64_t minimal_size_by_fs_name(const char *str);
diff --git a/src/shared/tests.h b/src/shared/tests.h
index 09fdfd6..21f00db 100644
--- a/src/shared/tests.h
+++ b/src/shared/tests.h
@@ -227,6 +227,16 @@ static inline int run_test_table(void) {
} \
})
+#define ASSERT_FAIL(expr) \
+ ({ \
+ typeof(expr) _result = (expr); \
+ if (_result >= 0) { \
+ log_error_errno(_result, "%s:%i: Assertion failed: expected \"%s\" to fail, but it succeeded", \
+ PROJECT_FILE, __LINE__, #expr); \
+ abort(); \
+ } \
+ })
+
#define ASSERT_ERROR(expr1, expr2) \
({ \
int _expr1 = (expr1); \
@@ -419,3 +429,30 @@ static inline int run_test_table(void) {
abort(); \
} \
})
+
+
+#define ASSERT_EQ_ID128(expr1, expr2) \
+ ({ \
+ typeof(expr1) _expr1 = (expr1); \
+ typeof(expr2) _expr2 = (expr2); \
+ if (!sd_id128_equal(_expr1, _expr2)) { \
+ log_error("%s:%i: Assertion failed: \"%s == %s\", but \"%s != %s\"", \
+ PROJECT_FILE, __LINE__, \
+ #expr1, #expr2, \
+ SD_ID128_TO_STRING(_expr1), SD_ID128_TO_STRING(_expr2)); \
+ abort(); \
+ } \
+ })
+
+#define ASSERT_NE_ID128(expr1, expr2) \
+ ({ \
+ typeof(expr1) _expr1 = (expr1); \
+ typeof(expr2) _expr2 = (expr2); \
+ if (sd_id128_equal(_expr1, _expr2)) { \
+ log_error("%s:%i: Assertion failed: \"%s != %s\", but \"%s == %s\"", \
+ PROJECT_FILE, __LINE__, \
+ #expr1, #expr2, \
+ SD_ID128_TO_STRING(_expr1), SD_ID128_TO_STRING(_expr2)); \
+ abort(); \
+ } \
+ })