On 11/25/2015 03:18 PM, Wenwei Tao wrote:
Or we can add a new function

static struct nvm_dev *nvm_find_nvm_dev_locked(const char *name)
  {
         struct nvm_dev *dev;

+       down_write(&nvm_lock);
         list_for_each_entry(dev, &nvm_devices, devices)
                 if (!strcmp(name, dev->name))
                         return dev;
+       up_write(&nvm_lock);

         return NULL;
  }

use nvm_find_nvm_dev_locked() and nvm_find_nvm_dev() properly.


That could also work. Let's go with your original solution. I don't like it completely, but on the other hand. The other iterators build up to the locks in that way. So making a special case for the nvm_find_nvm_dev properly makes the code harder to understand.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to