]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
btrfs-util: make sure btrfs_get_block_device_at() works when called without path
authorLennart Poettering <lennart@amutable.com>
Tue, 14 Apr 2026 07:32:32 +0000 (09:32 +0200)
committerLennart Poettering <lennart@amutable.com>
Mon, 20 Apr 2026 15:19:27 +0000 (17:19 +0200)
src/shared/btrfs-util.c
src/shared/btrfs-util.h

index cde21bd6029656dfaaf348e6d77b9fce9d102b3c..2095d803f59cf99afb7656999411ed3f20faff16 100644 (file)
@@ -101,8 +101,7 @@ int btrfs_get_block_device_at(int dir_fd, const char *path, dev_t *ret) {
         uint64_t id;
         int r;
 
-        assert(dir_fd >= 0 || dir_fd == AT_FDCWD);
-        assert(path);
+        assert(dir_fd >= 0 || IN_SET(dir_fd, AT_FDCWD, XAT_FDROOT));
         assert(ret);
 
         fd = xopenat(dir_fd, path, O_RDONLY|O_CLOEXEC|O_NONBLOCK|O_NOCTTY);
index 55fb07656a59d104022b8c4863b01a00c34f2582..afa54cde4c434c71c3fb43f4012ca4d3b4e5e93a 100644 (file)
@@ -54,7 +54,7 @@ static inline int btrfs_get_block_device(const char *path, dev_t *ret) {
         return btrfs_get_block_device_at(AT_FDCWD, path, ret);
 }
 static inline int btrfs_get_block_device_fd(int fd, dev_t *ret) {
-        return btrfs_get_block_device_at(fd, "", ret);
+        return btrfs_get_block_device_at(fd, NULL, ret);
 }
 
 int btrfs_defrag_fd(int fd);