Christoph Hellwig 62ac0d32f7 nvmet: support configuring ANA groups
Allow creating non-default ANA groups (group ID > 1).  Groups are created
either by assigning the group ID to a namespace, or by creating a configfs
group object under a specific port.  All namespaces assigned to a group
that doesn't have a configfs object for a given port are marked as
inaccessible.

Allow changing the ANA state on a per-port basis by creating an
ana_groups directory under each port, and another directory with an
ana_state file in it.  The default ANA group 1 directory is created
automatically for each port.

For all changes in ANA configuration the ANA change AEN is sent.  We only
keep a global changecount instead of additional per-group changecounts to
keep the implementation as simple as possible.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Keith Busch <keith.busch@intel.com>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
2018-07-27 19:13:06 +02:00
..
2018-06-12 16:19:22 -07:00
2018-06-30 21:24:18 +09:00
2018-06-04 10:58:12 -07:00
2018-07-25 08:49:24 -06:00
2018-06-27 11:01:29 -07:00
2018-06-07 10:23:33 -07:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2018-07-06 10:47:02 +10:00
2018-06-12 16:19:22 -07:00
2018-06-16 16:40:36 -07:00
2018-06-11 12:09:19 -07:00
2018-06-12 16:19:22 -07:00
2018-06-28 16:21:35 +09:00
2018-06-12 16:19:22 -07:00
2018-06-07 10:23:33 -07:00
2018-07-24 14:43:24 -06:00
2018-07-08 10:55:21 -07:00
2018-06-25 21:36:45 +08:00
2018-06-12 16:19:22 -07:00
2018-06-04 10:58:12 -07:00
2018-06-15 18:10:01 -03:00
2018-07-08 10:55:21 -07:00
2018-06-12 16:19:22 -07:00
2018-06-07 12:34:37 -07:00
2018-06-12 16:19:22 -07:00
2018-06-14 16:25:43 +09:00
2018-06-11 07:20:17 -07:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2018-06-26 10:42:31 -07:00
2018-07-01 12:20:20 -07:00
2018-06-12 16:19:22 -07:00
2018-06-28 19:19:10 +09:00
2018-06-12 16:19:22 -07:00
2018-06-16 06:35:02 +09:00
2018-06-05 16:20:22 -07:00
2018-06-12 12:56:02 -07:00
2018-06-23 20:44:11 +08:00