[stgt] [PATCH] Add support for PREVENT/ALLOWMEDIUMREMOVAL and STARTSTOPUNIT
FUJITA Tomonori
fujita.tomonori at lab.ntt.co.jp
Fri Jan 27 18:04:51 CET 2012
On Sat, 28 Jan 2012 01:16:41 +0900
FUJITA Tomonori <fujita.tomonori at lab.ntt.co.jp> wrote:
> On Fri, 27 Jan 2012 16:12:20 +1100
> ronnie sahlberg <ronniesahlberg at gmail.com> wrote:
>
> > From 17fdaf426120d6167b7f14068d7c6f4ca0322217 Mon Sep 17 00:00:00 2001
> > From: Ronnie Sahlberg <ronniesahlberg at gmail.com>
> > Date: Fri, 27 Jan 2012 16:07:00 +1100
> > Subject: [PATCH] Add PREVENT/ALLOW MEDIUM REMOVAL and START STOP UNIT
> >
> > Implement logic for PAMR and SSU.
> >
> > Add a new attribute .prevent to track the allow prevent removal status of a LUN.
> > Implement PAMR and update the LUN attribute accordingly.
> >
> > Units where PAMR is set to prevent removal of the device can not be
> > made offline using tgtadm. Attempts to make the unit offline
> > will fail with a new TGTADM error to indicate there is a PAMR lock on the device.
> >
> > SSU attempts to "eject" the media will fail with a check condition
> > if the media is locked by PAMR.
> >
> > If SSU successfully "ejects" the media, we automatically set the LUN to "Offline".
> >
> > Update tgt_target_show_all() to show the PreventRemoval status for the LUN in the output.
> >
> > Signed-off-by: Ronnie Sahlberg <ronniesahlberg at gmail.com>
> > ---
> > doc/tgtadm.8.xml | 47 +++++++++++++++++++++++++++++++++++++++++++++++
> > usr/mmc.c | 10 ++--------
> > usr/sbc.c | 2 +-
> > usr/spc.c | 43 ++++++++++++++++++++++++++++++++++++-------
> > usr/target.c | 15 +++++++++++++--
> > usr/tgtadm.c | 4 +++-
> > usr/tgtadm_error.h | 2 ++
> > usr/tgtd.h | 5 +++++
> > 8 files changed, 109 insertions(+), 19 deletions(-)
>
> Thanks a lot! Another "TODO: implement properly" comment removal!
>
> SPC3 says:
>
> The prevention of medium removal shall begin when any application
> client issues a PREVENT ALLOW MEDIUM REMOVAL command with a PREVENT
> field of 01b or 11b (i.e., medium removal prevented). The prevention
> of medium removal for the logical unit shall terminate after:
>
> a) One of the following occurs for each I_T nexus that previously had
> medium removal prevented:
> A) Receipt of a PREVENT ALLOW MEDIUM REMOVAL command with a PREVENT
> field of 00b or 10b;
> B) An I_T nexus loss; or
>
> With the current code, even an I_T nexus that previously had NOT
> medium removal prevented can terminate the prevention of medium
> removal? Is that against the spec, No?
And of course, we need to terminate the prevention of medium removal
when the I_T nexus that previously had medium removal prevented
loses. So I guess that we need some data structures per nexus for this
feature.
--
To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
More information about the stgt
mailing list