Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1215643 > unrolled thread
| Started by | Jeremy Linton <jlinton@tributary.com> |
|---|---|
| First post | 2015-08-29 03:50 +0200 |
| Last post | 2015-08-29 16:00 +0200 |
| Articles | 2 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: Persistent Reservation API V3 Jeremy Linton <jlinton@tributary.com> - 2015-08-29 03:50 +0200
Re: Persistent Reservation API V3 Christoph Hellwig <hch@lst.de> - 2015-08-29 16:00 +0200
| From | Jeremy Linton <jlinton@tributary.com> |
|---|---|
| Date | 2015-08-29 03:50 +0200 |
| Subject | Re: Persistent Reservation API V3 |
| Message-ID | <q2Drj-44B-3@gated-at.bofh.it> |
Hello, So, looking at this, I don't see how it supports the algorithm I've been using for years. For that algorithm to successfully migrate PRs across multiple paths on a single machine without affecting other possible users (who may legitimately have PR'ed the same device) I need PR_IN SA 1, READ RESERVATIONS to assure the current node owns the reservation before attempting to preempt it on another path. This can also assure that the device hasn't been reserved with a legacy reservation. So, this leads me to two more general questions. The first is why isn't the PR API simply exported to filesystems as a general reserve/release so that the PR happens during mount/dismount. Then DM and friends can be setup to transparently migrate or share the reservation, rather than depending on userspace to handle these operations... Also, it seems to me the use of CLEAR is extremely dangerous in any environment where actual arbitration or sharing of the resource is taking place. thanks, On 8/26/2015 11:56 AM, Christoph Hellwig wrote: > This series adds support for a simplified Persistent Reservation API > to the block layer. The intent is that both in-kernel and userspace > consumers can use the API instead of having to hand craft SCSI or NVMe > command through the various pass through interfaces. It also adds > DM support as getting reservations through dm-multipath is a major > pain with the current scheme. > > NVMe support currently isn't included as I don't have a multihost > NVMe setup to test on, but Keith offered to test it and I'll have > a patch for it shortly. > > The ioctl API is documented in Documentation/block/pr.txt, but to > fully understand the concept you'll have to read up the SPC spec, > PRs are too complicated that trying to rephrase them into different > terminology is just going to create confusion. > > Note that Mike wants to include the DM patches so through the DM > tree, so they are only included for reference. > > I also have a set of simple test tools available at: > > git://git.infradead.org/users/hch/pr-tests.git > > Changes since V2: > - added an ignore flag to the reserve opertion as well, and redid > the ioctl API to have general flags fields > - rebased on top of the latest block layer tree updates > Changes since V1: > - rename DM ->ioctl to ->prepare_ioctl > - rename dm_get_ioctl_table to dm_get_live_table_for_ioctl > - merge two DM patches into one > - various spelling fixes > > -- > To unsubscribe from this list: send the line "unsubscribe linux-scsi" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > . > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Christoph Hellwig <hch@lst.de> |
|---|---|
| Date | 2015-08-29 16:00 +0200 |
| Message-ID | <q2OPM-3Bw-13@gated-at.bofh.it> |
| In reply to | #1215643 |
On Fri, Aug 28, 2015 at 08:33:24PM -0500, Jeremy Linton wrote: > Hello, > So, looking at this, I don't see how it supports the algorithm I've been using > for years. For that algorithm to successfully migrate PRs across multiple paths > on a single machine without affecting other possible users (who may legitimately > have PR'ed the same device) I need PR_IN SA 1, READ RESERVATIONS to assure the > current node owns the reservation before attempting to preempt it on another > path. This can also assure that the device hasn't been reserved with a legacy > reservation. Do you have any code describing this in more detail? We could add the read side as well if there is strong interest. > So, this leads me to two more general questions. The first is why isn't the PR > API simply exported to filesystems as a general reserve/release so that the PR > happens during mount/dismount. Then DM and friends can be setup to transparently > migrate or share the reservation, rather than depending on userspace to handle > these operations... The API can be used by file systems, and my upcoming NFS SCSI layout support was the main reason to write this. > Also, it seems to me the use of CLEAR is extremely dangerous in any environment > where actual arbitration or sharing of the resource is taking place. Yes, but having it as a specific API isn't any less dangerous than having it issued using SG_IO. Reservations really only make sense if you assume every user of a LU is actually cooperating in some way and not actively hostile. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web