]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
storagetm: ensure device lock fd is opened for writing
authorMike Yuan <me@yhndnzj.com>
Sun, 25 Jan 2026 15:50:34 +0000 (16:50 +0100)
committerLuca Boccassi <luca.boccassi@gmail.com>
Fri, 27 Feb 2026 20:05:57 +0000 (20:05 +0000)
Follow-up for e582484789a6d889d11b97d9c2afa74c3c985130

_cleanup_close_ is dropped, as the fd would be immediately
consumed by the nvme_subsystem_add() call below anyways.

(cherry picked from commit 28fb7e869c6be086fc7ab8ddbc8a4e00b53714b6)
(cherry picked from commit a827513472cda8f65faabc536ef396189d6ecd15)
(cherry picked from commit 763a2a400c4509800ada9da1bd1ac3a7438a3624)

src/storagetm/storagetm.c

index ca8e886d37de6202edbfefd2fcda11512dad6b92..cb960088daa4a2607282cc6d1bf0e97f66e800fe 100644 (file)
@@ -937,7 +937,6 @@ static bool device_is_allowed(sd_device *d) {
 }
 
 static int device_added(Context *c, sd_device *device) {
-        _cleanup_close_ int fd = -EBADF;
         int r;
 
         assert(c);
@@ -981,7 +980,7 @@ static int device_added(Context *c, sd_device *device) {
                 return 0;
         }
 
-        fd = sd_device_open(device, O_RDONLY|O_CLOEXEC|O_NONBLOCK);
+        int fd = sd_device_open(device, O_RDWR|O_CLOEXEC|O_NONBLOCK);
         if (fd < 0) {
                 log_device_warning_errno(device, fd, "Failed to open newly acquired device '%s', ignoring device: %m", devname);
                 return 0;