aoe: remove dev_base_lock use from aoecmd_cfg_pkts()
authorEric Dumazet <eric.dumazet@gmail.com>
Fri, 29 Oct 2010 01:15:29 +0000 (01:15 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 8 Nov 2010 21:50:07 +0000 (13:50 -0800)
dev_base_lock is the legacy way to lock the device list, and is planned
to disappear. (writers hold RTNL, readers hold RCU lock)

Convert aoecmd_cfg_pkts() to RCU locking.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Cc: "Ed L. Cashin" <ecashin@coraid.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/block/aoe/aoecmd.c

index 5674bd01d96dffc86a8818f6a62a72207092c71e..de0435e63b02cbd349c5dcc282682359f6f85934 100644 (file)
@@ -297,8 +297,8 @@ aoecmd_cfg_pkts(ushort aoemajor, unsigned char aoeminor, struct sk_buff_head *qu
        struct sk_buff *skb;
        struct net_device *ifp;
 
-       read_lock(&dev_base_lock);
-       for_each_netdev(&init_net, ifp) {
+       rcu_read_lock();
+       for_each_netdev_rcu(&init_net, ifp) {
                dev_hold(ifp);
                if (!is_aoe_netif(ifp))
                        goto cont;
@@ -325,7 +325,7 @@ aoecmd_cfg_pkts(ushort aoemajor, unsigned char aoeminor, struct sk_buff_head *qu
 cont:
                dev_put(ifp);
        }
-       read_unlock(&dev_base_lock);
+       rcu_read_unlock();
 }
 
 static void