All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 00/15] target: add sysfs support
@ 2020-05-10 21:57 ` Mike Christie
  0 siblings, 0 replies; 84+ messages in thread
From: Mike Christie @ 2020-05-10 21:57 UTC (permalink / raw)
  To: bvanassche, bstroesser, martin.petersen, linux-scsi, target-devel

The following patches made over Linus's current tree allow lio to export
info about structs like the se_session that the kernel initiates creation
of via events like initiator login where there is no local user interaction
like a mkdir.

Why sysfs when we have configfs?

I started with configfs and hit bugs like:

commit cc57c07343bd071cdf1915a91a24ab7d40c9b590
Author: Mike Christie <mchristi@redhat.com>
Date:   Sun Jul 15 18:16:17 2018 -0500

    configfs: fix registered group removal

and it turns out that bug was not really a bug and was just how configfs
was meant to work. It seems it was not meant to be used where the kernel
initiates creation of dirs/files as a result of some internal action. It's
more geared to the user initiating the creation, and my patch just lead
to other bugs and was reverted:

commit f19e4ed1e1edbfa3c9ccb9fed17759b7d6db24c6
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Thu Aug 29 23:13:30 2019 -0400

    configfs_register_group() shouldn't be (and isn't) called in
rmdirable parts

So to export the session info we have debugfs, sysfs, ioctl, netlink, etc.
sysfs just seemed like a decent fit since one of the primary users is
rtslib and it already has lots of file/dir handling code.


V4:
- Don't drop const char use in fabric drivers.
- add Documentation/ABI
- use initaitor port prefix instead of generic "session"
- only make session_id file if iSCSI format=1 is being used.

V3:
- drop format field
- delay tpg deletion to allow fabric modules time to remove their
  sessions.
- Added root sessions dir for easier lookup if userspace has the
  session id.
- add session symlink
- use simple ida.
- Fix goto use. Actually moved sysfs addition call to after nego
  to avoid sysfs additions when login ends up failing.
- Dropped target_setup_session callback fixups and dropped the
  init/free session callback for now. It's not immediately needed
  for this base session sysfs info support.

V2:
- rename top level dir to scsi_target
- Fix extra newline
- Copy data that's exported to sysfs so we do not have to worry about
configfs and sysfs refcounts.
- Export session info needed for tracking sessions in userspace and
handling commands like PGRs there (still needs a way to notify userspace
when sessions are added/deleted, but that will be a different set since
the focus is different).

^ permalink raw reply	[flat|nested] 84+ messages in thread

end of thread, other threads:[~2020-05-13 23:59 UTC | newest]

Thread overview: 84+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-10 21:57 [PATCH v5 00/15] target: add sysfs support Mike Christie
2020-05-10 21:57 ` Mike Christie
2020-05-10 21:57 ` [PATCH 01/15] target: check enforce_pr_isids during registration Mike Christie
2020-05-10 21:57   ` Mike Christie
2020-05-11  6:08   ` Hannes Reinecke
2020-05-11  6:08     ` Hannes Reinecke
2020-05-13 20:55   ` Lee Duncan
2020-05-13 20:55     ` Lee Duncan
2020-05-10 21:57 ` [PATCH 02/15] target: separate acl name from port ids Mike Christie
2020-05-10 21:57   ` Mike Christie
2020-05-11  6:09   ` Hannes Reinecke
2020-05-11  6:09     ` Hannes Reinecke
2020-05-13 23:35   ` Lee Duncan
2020-05-13 23:35     ` Lee Duncan
2020-05-10 21:57 ` [PATCH 03/15] target: add helper to parse acl and transport name Mike Christie
2020-05-10 21:57   ` Mike Christie
2020-05-11  6:09   ` Hannes Reinecke
2020-05-11  6:09     ` Hannes Reinecke
2020-05-11 18:22   ` Bodo Stroesser
2020-05-11 18:22     ` Bodo Stroesser
2020-05-11 21:04     ` Mike Christie
2020-05-11 21:04       ` Mike Christie
2020-05-13 23:57   ` Lee Duncan
2020-05-13 23:57     ` Lee Duncan
2020-05-10 21:57 ` [PATCH 04/15] tcm loop: use target_parse_emulated_name Mike Christie
2020-05-10 21:57   ` Mike Christie
2020-05-11  6:10   ` Hannes Reinecke
2020-05-11  6:10     ` Hannes Reinecke
2020-05-13 23:59   ` Lee Duncan
2020-05-13 23:59     ` Lee Duncan
2020-05-10 21:57 ` [PATCH 05/15] vhost scsi: " Mike Christie
2020-05-10 21:57   ` Mike Christie
2020-05-11  6:11   ` Hannes Reinecke
2020-05-11  6:11     ` Hannes Reinecke
2020-05-10 21:57 ` [PATCH 06/15] xen scsiback: " Mike Christie
2020-05-10 21:57   ` Mike Christie
2020-05-11  6:11   ` Hannes Reinecke
2020-05-11  6:11     ` Hannes Reinecke
2020-05-11  6:16   ` Jürgen Groß
2020-05-11  6:16     ` Jürgen Groß
2020-05-10 21:57 ` [PATCH 07/15] iscsi target: setup transport_id Mike Christie
2020-05-10 21:57   ` Mike Christie
2020-05-11  6:12   ` Hannes Reinecke
2020-05-11  6:12     ` Hannes Reinecke
2020-05-10 21:57 ` [PATCH 08/15] target: use tpt_id in target_stat_iport_port_ident_show Mike Christie
2020-05-10 21:57   ` Mike Christie
2020-05-11  6:13   ` Hannes Reinecke
2020-05-11  6:13     ` Hannes Reinecke
2020-05-10 21:57 ` [PATCH 09/15] target: drop sess_get_initiator_sid from PR code Mike Christie
2020-05-10 21:57   ` Mike Christie
2020-05-11  6:13   ` Hannes Reinecke
2020-05-11  6:13     ` Hannes Reinecke
2020-05-10 21:57 ` [PATCH 10/15] target: drop sess_get_initiator_sid Mike Christie
2020-05-10 21:57   ` Mike Christie
2020-05-11  6:14   ` Hannes Reinecke
2020-05-11  6:14     ` Hannes Reinecke
2020-05-10 21:57 ` [PATCH 11/15] target: add sysfs support Mike Christie
2020-05-10 21:57   ` Mike Christie
2020-05-11  6:21   ` Hannes Reinecke
2020-05-11  6:21     ` Hannes Reinecke
2020-05-11  6:30   ` Greg Kroah-Hartman
2020-05-11  6:30     ` Greg Kroah-Hartman
2020-05-11 17:15     ` Mike Christie
2020-05-11 17:15       ` Mike Christie
2020-05-12  5:54       ` Greg Kroah-Hartman
2020-05-12  5:54         ` Greg Kroah-Hartman
2020-05-10 21:57 ` [PATCH 12/15] target: add sysfs session helper functions Mike Christie
2020-05-10 21:57   ` Mike Christie
2020-05-11 18:39   ` Bodo Stroesser
2020-05-11 18:39     ` Bodo Stroesser
2020-05-11 19:21     ` Bart Van Assche
2020-05-11 19:21       ` Bart Van Assche
2020-05-11 20:16       ` Mike Christie
2020-05-11 20:16         ` Mike Christie
2020-05-12 11:19         ` Bodo Stroesser
2020-05-12 11:19           ` Bodo Stroesser
2020-05-12 15:55           ` Mike Christie
2020-05-12 15:55             ` Mike Christie
2020-05-10 21:57 ` [PATCH 13/15] target: add target_setup_session sysfs support Mike Christie
2020-05-10 21:57   ` Mike Christie
2020-05-10 21:57 ` [PATCH 14/15] iscsi target: use session sysfs helpers Mike Christie
2020-05-10 21:57   ` Mike Christie
2020-05-10 21:57 ` [PATCH 15/15] target: drop sess_get_index Mike Christie
2020-05-10 21:57   ` Mike Christie

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.