On Mon, Aug 27, 2012 at 3:39 AM, FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx> wrote: > On Sun, 26 Aug 2012 15:58:02 +0300 > Roi Dayan <roi.dayan@xxxxxxxxx> wrote: > >> On Sun, Aug 26, 2012 at 3:32 PM, Roi Dayan <roi.dayan@xxxxxxxxx> wrote: >> > On Fri, Aug 24, 2012 at 1:06 PM, <frederik.vos@xxxxxxxxxx> wrote: >> >> >> >> I tested also version 1.0.28: no problem >> >> version 1.0.29: no problem >> >> version 1.0.30: there is the problem >> >> >> >> >> > >> > >> > >> > Hi, >> > >> > I tested as well with ESXi 5.1 and I could not login with ESXi as initiator >> > The error from tgtd was as follows: >> > >> > tgtd: add_mode_page(1648) Mode Page 10 (0x01): param_count 6 != MODE >> > PAGE size : 31 >> > >> > >> > I checked for commits between 1.0.29 - 1.0.30 that modify or call this >> > function and found >> > that commit 9a95b4431ccc01b82cb4febc735485cd06cd5ea4 added a new call >> > to add_mode_page() >> > and the error is the result of that new call: >> > >> > 518 + /* Control Extensions mode page: TCMOS:1 */ >> > 519 + add_mode_page(lu, "0x0a:1:0x1c:0x04:0x00:0x00"); >> > >> > >> > After removing this call ESXi logged in fine and without any problems. >> > >> > frederik, >> > mind trying it as well? > > I guess that it's due to compare-and-write command but I might be > wrong. > Hi, The failure is because add_mode_page expect size of data according to the size specified in the page string i.e. for the call: add_mode_page(lu, "0x0a:1:0x1c:0x04:0x00:0x00"); the size is 0x1c (28) and the data count is 3 (0x04 0x00:0x00) so add_mode_page fails. The patch I sent accepts it and it means rest of the bytes in the page data will be 0 because of how the page is allocated. Do you still want a patch to update the callers instead? Thanks, Roi >> >> >> Or instead of ignoring that call you could update add_mode_page() to accept it >> even though the passed size is larger than the data supplied, >> i tested and it works fine. > > I would prefer to fix the callers. I just disable the callers if > nobody sends a fix until the end of this month. > > > diff --git a/usr/mmc.c b/usr/mmc.c > index 768fe91..cbafd2d 100644 > --- a/usr/mmc.c > +++ b/usr/mmc.c > @@ -2245,7 +2245,7 @@ static tgtadm_err mmc_lu_init(struct scsi_lu *lu) > /* Control page */ > add_mode_page(lu, "0x0a:0:10:2:0:0:0:0:0:0:0:2:0"); > /* Control Extensions mode page: TCMOS:1 */ > - add_mode_page(lu, "0x0a:1:0x1c:0x04:0x00:0x00"); > + /* add_mode_page(lu, "0x0a:1:0x1c:0x04:0x00:0x00"); */ > /* Power Condition */ > add_mode_page(lu, "0x1a:0:10:8:0:0:0:0:0:0:0:0:0"); > /* Informational Exceptions Control page */ > diff --git a/usr/sbc.c b/usr/sbc.c > index 0f99f18..3158bd5 100644 > --- a/usr/sbc.c > +++ b/usr/sbc.c > @@ -700,7 +700,7 @@ static tgtadm_err sbc_lu_init(struct scsi_lu *lu) > add_mode_page(lu, "0x0a:0:10:2:0x10:0:0:0:0:0:0:2:0"); > > /* Control Extensions mode page: TCMOS:1 */ > - add_mode_page(lu, "0x0a:1:0x1c:0x04:0x00:0x00"); > + /* add_mode_page(lu, "0x0a:1:0x1c:0x04:0x00:0x00"); */ > > /* Informational Exceptions Control page */ > add_mode_page(lu, "0x1c:0:10:8:0:0:0:0:0:0:0:0:0"); > diff --git a/usr/smc.c b/usr/smc.c > index 910b532..e5133d6 100644 > --- a/usr/smc.c > +++ b/usr/smc.c > @@ -516,7 +516,7 @@ static tgtadm_err smc_lu_init(struct scsi_lu *lu) > /* Control page */ > add_mode_page(lu, "0x0a:0:10:2:0:0:0:0:0:0:0:2:0"); > /* Control Extensions mode page: TCMOS:1 */ > - add_mode_page(lu, "0x0a:1:0x1c:0x04:0x00:0x00"); > + /* add_mode_page(lu, "0x0a:1:0x1c:0x04:0x00:0x00"); */ > /* Power Condition */ > add_mode_page(lu, "0x1a:0:10:8:0:0:0:0:0:0:0:0:0"); > /* Informational Exceptions Control page */ > diff --git a/usr/ssc.c b/usr/ssc.c > index 60c6926..d5df7ed 100644 > --- a/usr/ssc.c > +++ b/usr/ssc.c > @@ -195,7 +195,7 @@ static tgtadm_err ssc_lu_init(struct scsi_lu *lu) > /* Control page - Mandatory - SPC-4 */ > add_mode_page(lu, "0x0a:0:10:2:0:0:0:0:0:0:0:2:0"); > /* Control Extensions mode page: TCMOS:1 */ > - add_mode_page(lu, "0x0a:1:0x1c:0x04:0x00:0x00"); > + /* add_mode_page(lu, "0x0a:1:0x1c:0x04:0x00:0x00"); */ > /* Data Compression - Mandatory - SSC3 8.3.2 */ > add_mode_page(lu, "15:0:14:0:0:0:0:0:0:0:0:0:0:0:0:0:0"); > /* Device Configuration - Mandatory - SSC3 8.3.3 */ -- To unsubscribe from this list: send the line "unsubscribe stgt" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html