All of lore.kernel.org
 help / color / mirror / Atom feed
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Alasdair Kergon <agk@redhat.com>,
	Mike Snitzer <snitzer@kernel.org>,
	dm-devel@redhat.com
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	linux-kernel@vger.kernel.org
Subject: [dm-devel] [PATCH v2 0/4] Diskseq support in device-mapper
Date: Sat, 24 Jun 2023 19:09:43 -0400	[thread overview]
Message-ID: <20230624230950.2272-1-demi@invisiblethingslab.com> (raw)

This work aims to allow userspace to create and destroy device-mapper
devices in a race-free way.

Changes since v1:

- Potentially backwards-incompatible changes to device-mapper now
  require userspace opt-in.
- The code has been tested: I have a block script written in C that uses
  these changes to successfully boot a Xen VM.
- The core block layer is completely untouched.  Instead of exposing a
  block device inode directly to userspace, device-mapper ioctls that
  create a block device now return that device's diskseq.  Userspace can
  then use that diskseq to safely open the device.  Furthermore, ioctls
  that operate on an existing device-mapper device now accept a diskseq
  parameter, which can be used to prevent races.

Demi Marie Obenour (4):
  dm ioctl: Allow userspace to opt-in to strict parameter checks
  dm ioctl: Allow userspace to provide expected diskseq
  dm ioctl: Allow userspace to suppress uevent generation
  dm ioctl: inform caller about already-existing device

 drivers/md/dm-core.h          |   2 +
 drivers/md/dm-ioctl.c         | 351 ++++++++++++++++++++++++++++------
 drivers/md/dm.c               |   5 +-
 include/linux/device-mapper.h |   2 +-
 include/uapi/linux/dm-ioctl.h |  90 ++++++++-
 5 files changed, 382 insertions(+), 68 deletions(-)

-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--
dm-devel mailing list
dm-devel@redhat.com
https://listman.redhat.com/mailman/listinfo/dm-devel


WARNING: multiple messages have this Message-ID (diff)
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Alasdair Kergon <agk@redhat.com>,
	Mike Snitzer <snitzer@kernel.org>,
	dm-devel@redhat.com
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	linux-kernel@vger.kernel.org
Subject: [PATCH v2 0/4] Diskseq support in device-mapper
Date: Sat, 24 Jun 2023 19:09:43 -0400	[thread overview]
Message-ID: <20230624230950.2272-1-demi@invisiblethingslab.com> (raw)

This work aims to allow userspace to create and destroy device-mapper
devices in a race-free way.

Changes since v1:

- Potentially backwards-incompatible changes to device-mapper now
  require userspace opt-in.
- The code has been tested: I have a block script written in C that uses
  these changes to successfully boot a Xen VM.
- The core block layer is completely untouched.  Instead of exposing a
  block device inode directly to userspace, device-mapper ioctls that
  create a block device now return that device's diskseq.  Userspace can
  then use that diskseq to safely open the device.  Furthermore, ioctls
  that operate on an existing device-mapper device now accept a diskseq
  parameter, which can be used to prevent races.

Demi Marie Obenour (4):
  dm ioctl: Allow userspace to opt-in to strict parameter checks
  dm ioctl: Allow userspace to provide expected diskseq
  dm ioctl: Allow userspace to suppress uevent generation
  dm ioctl: inform caller about already-existing device

 drivers/md/dm-core.h          |   2 +
 drivers/md/dm-ioctl.c         | 351 ++++++++++++++++++++++++++++------
 drivers/md/dm.c               |   5 +-
 include/linux/device-mapper.h |   2 +-
 include/uapi/linux/dm-ioctl.h |  90 ++++++++-
 5 files changed, 382 insertions(+), 68 deletions(-)

-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


             reply	other threads:[~2023-06-24 23:10 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-24 23:09 Demi Marie Obenour [this message]
2023-06-24 23:09 ` [PATCH v2 0/4] Diskseq support in device-mapper Demi Marie Obenour
2023-06-24 23:09 ` [dm-devel] [PATCH v2 1/4] dm ioctl: Allow userspace to opt-in to strict parameter checks Demi Marie Obenour
2023-06-24 23:09   ` Demi Marie Obenour
2023-06-24 23:09 ` [dm-devel] [PATCH v2 2/4] dm ioctl: Allow userspace to provide expected diskseq Demi Marie Obenour
2023-06-24 23:09   ` Demi Marie Obenour
2023-06-25 11:23   ` [dm-devel] " Markus Elfring
2023-06-25 17:39     ` Demi Marie Obenour
2023-06-25 17:39       ` Demi Marie Obenour
2023-06-26 12:59       ` [dm-devel] " Dan Carpenter
2023-06-26 12:59         ` Dan Carpenter
2023-06-26 13:30         ` [dm-devel] [v2 " Markus Elfring
2023-06-26 14:51           ` Dan Carpenter
2023-06-26 14:51             ` Dan Carpenter
2023-06-26 15:19             ` [dm-devel] " Markus Elfring
2023-06-26 16:20         ` [dm-devel] [PATCH v2 " Markus Elfring
2023-06-27  6:14           ` Dan Carpenter
2023-06-27  6:14             ` Dan Carpenter
2023-06-27  7:19             ` [dm-devel] [v2 " Markus Elfring
2023-06-24 23:09 ` [dm-devel] [PATCH v2 3/4] dm ioctl: Allow userspace to suppress uevent generation Demi Marie Obenour
2023-06-24 23:09   ` Demi Marie Obenour
2023-06-25 13:25   ` [dm-devel] " Milan Broz
2023-06-25 13:25     ` Milan Broz
2023-06-25 16:02     ` Demi Marie Obenour
2023-06-25 16:02       ` Demi Marie Obenour
2023-06-25 16:33       ` Milan Broz
2023-06-25 16:33         ` Milan Broz
2023-06-25 16:43         ` Demi Marie Obenour
2023-06-25 16:43           ` Demi Marie Obenour
2023-06-25 17:13           ` Milan Broz
2023-06-25 17:13             ` Milan Broz
2023-06-24 23:09 ` [dm-devel] [PATCH v2 4/4] dm ioctl: inform caller about already-existing device Demi Marie Obenour
2023-06-24 23:09   ` Demi Marie Obenour
2024-01-15 17:56 ` [dm-devel] [PATCH v2 0/4] Diskseq support in device-mapper Martin Wilck
2024-01-15 21:44   ` Demi Marie Obenour
2024-01-16  8:00     ` Martin Wilck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230624230950.2272-1-demi@invisiblethingslab.com \
    --to=demi@invisiblethingslab.com \
    --cc=agk@redhat.com \
    --cc=dm-devel@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=snitzer@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.