Jianchao Wang
765cc031cd
nvme: change namespaces_mutext to namespaces_rwsem
...
namespaces_mutext is used to synchronize the operations on ctrl
namespaces list. Most of the time, it is a read operation.
On the other hand, there are many interfaces in nvme core that
need this lock, such as nvme_wait_freeze, and even more interfaces
will be added. If we use mutex here, circular dependency could be
introduced easily. For example:
context A context B
nvme_xxx nvme_xxx
hold namespaces_mutext require namespaces_mutext
sync context B
So it is better to change it from mutex to rwsem.
Reviewed-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Jianchao Wang <jianchao.w.wang@oracle.com>
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2018-03-26 08:53:43 -06:00
..
2018-02-15 12:02:42 +01:00
2018-02-16 11:16:38 +01:00
2018-02-06 09:59:40 -08:00
2018-02-08 15:05:16 -05:00
2018-01-10 17:50:01 +01:00
2018-02-15 14:50:32 -08:00
2018-01-19 22:59:33 -05:00
2018-03-17 14:45:23 -06:00
2018-02-11 14:34:03 -08:00
2018-02-01 16:35:31 -08:00
2018-03-09 08:06:35 -07:00
2018-02-14 17:02:15 -08:00
2018-02-07 11:22:44 -08:00
2018-02-14 17:02:15 -08:00
2018-02-02 10:01:04 -08:00
2018-02-22 16:38:10 -08:00
2018-02-03 00:26:10 -07:00
2018-02-02 09:50:51 -08:00
2018-02-11 14:34:03 -08:00
2018-02-14 17:02:15 -08:00
2018-01-23 09:04:10 +01:00
2018-02-14 06:37:33 +09:00
2018-02-11 14:34:03 -08:00
2018-02-08 10:44:25 -08:00
2018-02-11 14:34:03 -08:00
2018-02-16 14:26:01 +10:00
2018-02-15 18:44:03 +01:00
2018-02-11 14:34:03 -08:00
2018-02-11 14:34:03 -08:00
2018-02-15 14:31:28 -08:00
2018-02-01 10:31:17 -08:00
2018-02-04 10:57:43 -08:00
2018-03-17 14:45:23 -06:00
2018-02-20 10:03:22 +01:00
2018-02-21 13:52:19 -05:00
2018-02-11 14:34:03 -08:00
2018-02-08 12:03:54 -08:00
2018-02-16 14:22:16 +00:00
2018-02-11 14:34:03 -08:00
2018-02-11 14:34:03 -08:00
2018-03-08 14:13:48 -07:00
2018-02-13 08:58:53 -08:00
2018-02-11 14:34:03 -08:00
2018-03-18 20:15:20 -06:00
2018-02-11 14:34:03 -08:00
2018-02-01 16:35:31 -08:00
2018-01-17 01:19:38 -05:00
2018-02-11 14:34:03 -08:00
2018-03-01 08:33:05 -07:00
2018-03-22 11:04:32 -06:00
2018-03-08 14:13:48 -07:00
2018-02-01 10:31:17 -08:00
2018-02-19 14:16:52 -05:00
2018-01-28 22:17:24 -05:00
2018-01-16 16:47:29 +01:00
2018-03-17 14:45:23 -06:00
2018-03-26 08:53:43 -06:00
2018-02-12 10:41:11 +01:00
2018-02-12 15:07:46 +05:30
2018-02-16 15:41:53 -05:00
2018-02-08 11:48:49 -08:00
2018-02-06 18:32:44 -08:00
2018-02-01 09:40:49 -08:00
2018-02-02 14:22:53 -08:00
2018-02-15 12:18:33 +02:00
2018-01-31 12:55:31 -08:00
2018-01-17 12:56:24 +01:00
2018-02-11 14:34:03 -08:00
2018-02-11 14:34:03 -08:00
2018-02-11 14:34:03 -08:00
2018-01-23 12:17:42 -06:00
2018-01-30 12:25:59 +00:00
2018-02-05 10:07:40 -08:00
2018-02-11 14:34:03 -08:00
2018-02-11 14:34:03 -08:00
2018-03-13 11:40:21 -06:00
2018-02-06 09:59:40 -08:00
2018-03-17 14:45:23 -06:00
2018-02-08 10:21:39 +01:00
2018-02-01 16:35:31 -08:00
2018-01-22 16:45:26 +01:00
2018-01-26 17:57:34 +00:00
2018-02-01 10:37:39 +02:00
2018-03-01 08:33:06 -07:00
2018-03-26 08:53:43 -06:00
2018-01-11 18:05:06 -08:00
2018-02-06 15:04:58 -08:00
2018-02-11 14:34:03 -08:00
2018-02-11 14:34:03 -08:00
2018-02-22 12:13:01 -08:00
2018-02-11 14:34:03 -08:00
2018-02-11 14:34:03 -08:00
2018-02-14 17:02:15 -08:00
2018-02-11 14:34:03 -08:00
2018-02-01 16:26:45 +02:00
2018-01-31 19:25:25 -08:00
2018-02-07 11:54:34 -08:00
2018-02-21 15:35:43 -08:00
2018-02-01 10:31:17 -08:00
2018-02-06 09:59:40 -08:00