> On 2. Mar 2021, at 20:25, Richard L. Hamilton <rlha...@smart.net> wrote:
> 
> The ENOENTs refer to libraries associated with the optional 3rd party 
> commercial product Veritas Volume Manager. format attempts to check for 
> conflicting uses of a raw device, such as if it is being managed by VxVM, 
> Solaris Disk Suite, ZFS, etc. In this case, it attempts to dynamically load 
> the VxVM libraries, but if they're not installed, that's ok, it just figures 
> that it can't do that particular test.
> 
> Of the other errors, the first is:
> 
> ENOTSUP on DKIOCGEXTVTOC on /dev/rdsk/c4d0s0
> 
> DKIOCEXTVTOC (per dkio man page) is described as follows:
>       DKIOCGEXTVTOC
> 
>           The  argument  is  a  pointer  to  an  extvtoc structure (described
>           below). This ioctl returns the device's  current  volume  table  of
>           contents  (VTOC).  VTOC  is extended to support a disk up to 2TB in
>           size. For disks larger than 1TB this ioctl must be used instead  of
>           DKIOCGVTOC.
> 
> Not sure why that happened without looking at code, if even then. That'd be 
> code for the driver, part of the kernel, that would let one see what cause(s) 
> there might be for ENOTSUP on that ioctl.
> 
> There is an implication there that the maximum disk size is 2TB. That's true 
> for SMI labels and I think for FDISK (MBR) labels, but I _think_ that EFI 
> labels can handle a larger disk; there are some mentions in documentation of 
> that capability. Note that drives larger than 2TB are probably more recent 
> than some of the driver or utility code...even with paid developers, there's 
> always new stuff coming along; although drives larger than 2TB were available 
> perhaps 8 years ago, so if there is a problem with them other than just 
> needing to use EFI labels, it is a sign of aging code.
> 
> The second error is the ENXIO on /dev/rdsk/c4d0p0. Note that's different from 
> the first device, which was c4d0s0. c4d0p0 refers to an FDISK (MBR) partition 
> (presumably the first one), while  c4d0s0 refers to a slice (presumably 
> within the FDISK partition tagged as for Solaris). ENXIO probably (without 
> knowing which driver was involved) means that the physical device exists but 
> the partition doesn't (or there's something weird with the partition table?). 
> Again, someone would have to look at driver source to know exactly why that 
> happened; they'd also have to see detailed output of various commands that 
> could show relevant system hardware and configuration. I'm not going to 
> attempt to guess what those commands might be, and I'm unlikely to dig into 
> kernel code except for my own interest. But I'm just another person on the 
> list, not a "contributor" or "developer", so take that how you will.
> 
> As you can see, even a first-pass attempt at understanding this stuff can be 
> pretty nontrivial, and digging deep enough to fix something quite a bit more 
> than that.


cmdkopen() has 4 cases for ENXIO, first one is when we can not get softstate 
(we can drop it, I guess). Other three are about disk label (cmlb_valiate() and 
cmlb_partinfo()) and some state variables, so it has to be there. Next 
interesting bit could be get with dtrace:)

It is certain, there is something weird going on, we can post instructions for 
dtrace, if you are still willing to go on. It would be nice to get to bottom of 
this.

rgds,
toomas


> 
>> On Mar 2, 2021, at 12:21, Reginald Beardsley via openindiana-discuss 
>> <openindiana-discuss@openindiana.org> wrote:
>> 
>> Gary,
>> 
>> Thanks. That's *very* nteresting. I shall have to study that closely. 
>> 
>> I ran "truss -f -o truss.out format -e /dev/rdsk/c4d0"
>> 
>> down at the end of a *very* long output is this tidbit. Note the ENOENTs. 
>> The libraries being sought are in /lib and were found previously. I'm rather 
>> puzzled that with the device specified on the command line, format(1m) 
>> walked the entire /dev/rdsk tree and then some including sections of the 
>> filesysem I'd never heard of.
>> 
>> At present I'm trying to sort out how to fix access to the libraries. 
>> /mnt/misc is a RO filesystem mounted from the DVD, so the obvious solution 
>> is not possible. This machine only has 8 GB of RAM so I might not be able to 
>> create a copy of /mnt/misc in ramfs, but I'll give it a try.
>> 
>> I'm unclear about the relationship of c4d0, c4d0p0, etc. I can R/W 
>> /dev/rdsk/c4d0p0:c but not without the ":c"
>> 
>> 
>> 3994/1: open("/dev/rdsk/c4d0s0", O_RDONLY|O_NDELAY) = 4
>> 3994/1: stat64("/opt/VRTSvxvm/lib/libadm.so.1", 0x08046968) Err#2 ENOENT
>> 3994/1: ioctl(4, DKIOCGEXTVTOC, 0x080477A8) Err#48 ENOTSUP
>> 3994/1: stat64("/opt/VRTSvxvm/lib/libefi.so.1", 0x08046968) Err#2 ENOENT
>> 3994/1: ioctl(4, DKIOCGMEDIAINFO, 0x08047310) = 0
>> 3994/1: ioctl(4, DKIOCGMBOOT, 0x080979D0) = 0
>> 3994/1: ioctl(4, DKIOCINFO, 0x080472A4) = 0
>> 3994/1: ioctl(4, DKIOCGMEDIAINFO, 0x08047300) = 0
>> 3994/1: ioctl(4, DKIOCGETEFI, 0x080472E8) = 0
>> 3994/1: ioctl(4, DKIOCGETEFI, 0x080472E8) = 0
>> 3994/1: ioctl(4, DKIOCGETEFI, 0x080472E8) = 0
>> 3994/1: close(4) = 0
>> 3994/1: stat("/dev/rdsk/c4d0p0", 0x08047608) = 0
>> 3994/1: open("/dev/rdsk/c4d0p0", O_RDONLY) Err#6 ENXIO
>> 3994/1: fstat64(2, 0x08046640) = 0
>> 3994/1: write(2, " E r r o r : c a n ' t".., 24) = 24
>> 3994/1: write(2, " / d e v / r d s k / c 4".., 16) = 16
>> 3994/1: write(2, " ' .\n", 3) = 3
>> 3994/1: Incurred fault #6, FLTBOUNDS %pc = 0x080658CB
>> 3994/1: siginfo: SIGSEGV SEGV_MAPERR addr=0x00000258
>> 3994/1: Received signal #11, SIGSEGV [default]
>> 3994/1: siginfo: SIGSEGV SEGV_MAPERR addr=0x00000258
>> 
>> 
>> 
>>    On Tuesday, March 2, 2021, 05:49:05 PM GMT+1, Gary Mills 
>> <gary_mi...@fastmail.fm> wrote:  
>> 
>> On Tue, Mar 02, 2021 at 03:37:23PM +0000, Reginald Beardsley via oi-dev 
>> wrote:
>>>    Thank you again. Very helpful. The Z400 will only support IDE mode.
>>>    ACHI+RAID is the other option which I think only works with Windows. I
>>>    know it will not work with Solaris and feel fairly certain it doesn't
>>>    work with Linux or *BSD either.
>> 
>> ACHI+RAID does work with Solaris and OI, but you have to do some
>> preparation first.  I know because I have done that with my Z400
>> and installed OI on it.  The instructions are here:
>> 
>>    
>> https://superuser.com/questions/635829/how-do-i-install-solaris-on-a-fake-raid-a-k-a-ahciraid-sata-sas-controller/635830#635830
>> 
>> 
>> -- 
>> -Gary Mills-        -refurb-        -Winnipeg, Manitoba, Canada-
>> 
>> _______________________________________________
>> openindiana-discuss mailing list
>> openindiana-discuss@openindiana.org
>> https://openindiana.org/mailman/listinfo/openindiana-discuss
>> 
> 
> 
> _______________________________________________
> openindiana-discuss mailing list
> openindiana-discuss@openindiana.org
> https://openindiana.org/mailman/listinfo/openindiana-discuss

_______________________________________________
openindiana-discuss mailing list
openindiana-discuss@openindiana.org
https://openindiana.org/mailman/listinfo/openindiana-discuss

Reply via email to