]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
nvmet-fcloop: refactor fcloop_delete_local_port
authorDaniel Wagner <wagi@kernel.org>
Wed, 7 May 2025 12:23:00 +0000 (14:23 +0200)
committerChristoph Hellwig <hch@lst.de>
Tue, 20 May 2025 03:34:26 +0000 (05:34 +0200)
Use the newly introduced fcloop_lport_lookup instead
of the open coded version.

Signed-off-by: Daniel Wagner <wagi@kernel.org>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/target/fcloop.c

index a576ad9e1dead78ee8d1995f06fd71109aaabdab..a1ceeca264beebe678876dc627bd54a5554a8d31 100644 (file)
@@ -1256,32 +1256,32 @@ __fcloop_lport_lookup(u64 node_name, u64 port_name)
        return NULL;
 }
 
+static struct fcloop_lport *
+fcloop_lport_lookup(u64 node_name, u64 port_name)
+{
+       struct fcloop_lport *lport;
+       unsigned long flags;
+
+       spin_lock_irqsave(&fcloop_lock, flags);
+       lport = __fcloop_lport_lookup(node_name, port_name);
+       spin_unlock_irqrestore(&fcloop_lock, flags);
+
+       return lport;
+}
+
 static ssize_t
 fcloop_delete_local_port(struct device *dev, struct device_attribute *attr,
                const char *buf, size_t count)
 {
-       struct fcloop_lport *tlport, *lport = NULL;
+       struct fcloop_lport *lport;
        u64 nodename, portname;
-       unsigned long flags;
        int ret;
 
        ret = fcloop_parse_nm_options(dev, &nodename, &portname, buf);
        if (ret)
                return ret;
 
-       spin_lock_irqsave(&fcloop_lock, flags);
-
-       list_for_each_entry(tlport, &fcloop_lports, lport_list) {
-               if (tlport->localport->node_name == nodename &&
-                   tlport->localport->port_name == portname) {
-                       if (!fcloop_lport_get(tlport))
-                               break;
-                       lport = tlport;
-                       break;
-               }
-       }
-       spin_unlock_irqrestore(&fcloop_lock, flags);
-
+       lport = fcloop_lport_lookup(nodename, portname);
        if (!lport)
                return -ENOENT;