During the boot phase, system would configure root device by 
BUS_CONFIG_ONE with the argument root device path.
I don't know how you implement your tran_bus_config() routine, but you 
can trace or debug your implementation of tran_bus_config with 
BUS_CONFIG_ONE by kmdb. I think the panic could be caused by 
tran_bus_config failure during configuring root device. Another way to 
prove the point is I guess you invoked ndi_devi_online() in your 
tran_bus_config(), you can watch the return value of ndi_devi_online() 
during boot by kmdb. I suppose you used x86 system, %eax or %rax is the 
return value after you jump out the function by ":u" command in kmdb.

Javen


Javen Wu wrote:

>Hi Som,
>
>I have met similar problem before. The root cause of my problem is the 
>root disk not being configured correctly.
>Are you sure your boot disk(iSCSI target) was enumerated by your iscsi 
>initiator driver correctly and attached already?
>You can use -k option to boot your system and when panic happen, the 
>system will enter kmdb directly.
>Then you can use ::prtconf to check whether the dip node of your iSCSI 
>target under your initiator instance was generated and attached correctly.
>
>Cheers
>Javen
>
>Somnath kotur wrote:
>
>  
>
>>Hi Juergen,
>>           I have a strange issue with the iscsi
>>boot,whenever i do a 'reboot' after the iSCSI LUN boot
>>has come up ,upon reboot ,the kernel panics at the 1st
>>stage with dump as below: ... it then automatically
>>reboots and on the 2nd time ,the OS comes up properly
>>without the panic ,am wondering if there is some
>>simple explanation to this,like making some entry in a
>>system file ?
>>
>>######################################################
>>
>>panic[cpu0]/thread=fffffffffbc21d00: cannot mount root
>>path
>>
>>fffffffffbc44ab0 genunix:rootconf+0xea()
>>fffffffffbc44ae0 genunix:vfs_mountroot+0x51()
>>fffffffffbc44b20 genunix:main+0x86()
>>0xfe800342(fe800000)
>>kobj_init + 0x1c3(100ff88,..)
>>
>>
>>
>>skipping system dump - no dump device configured
>>rebooting...
>>
>>###################################################
>>
>>
>>Thanks
>>Som
>>
>>
>>
>>
>>
>>
>>
>>--- Somnath kotur <[EMAIL PROTECTED]> wrote:
>>
>> 
>>
>>    
>>
>>>Hi Juergen/Javen,
>>>          Finally the issue got fixed last
>>>night,iscsi boot is working !!!
>>>  The problem was that when the SCSA stack was
>>>doing
>>>a partial DMA and breaking a request into multiple
>>>windows, my driver's pvt structure which has a field
>>>called cdb_length was relying on the 'cmdlen'
>>>parameter passed in tran_init_pkt() ,this parameter
>>>happens to be set to '0' for all windows after the
>>>first one. I am not sure if they expect us to pick
>>>up
>>>the cmdlen from the first window and use the same
>>>for
>>>the rest(which is how i worked around this) or is it
>>>a
>>>genuine bug ?
>>>
>>>I know that the opensolaris src code is different
>>>from
>>>the OS in the CD release, as the scsi_pkt structure
>>>has changed and the cdb length is embedded in
>>>it,hope
>>>this behaviour is addressed in that? 
>>>
>>>FINALLY having got it to work , i STILL see couple
>>>of
>>>issues though that havent gone
>>>
>>>the newfs/mkfs still gives the same error as before
>>>.
>>>and my install_log still gives errors as it was
>>>giving
>>>before on post installation...any ideas pls?
>>>
>>>I also see a strange behaviour in that when i
>>>reboot,and just when grub is loading the kernel,the
>>>system does a warm boot by itself and then the 2nd
>>>time around the acutal OS is booted into ..???? So
>>>the
>>>actual delta time b/n OS reboot and up time is
>>>turning
>>>out to be around 4-5 mins !!
>>>
>>>Thanks
>>>Som
>>>
>>>
>>>
>>>
>>>--- Somnath kotur <[EMAIL PROTECTED]> wrote:
>>>
>>>   
>>>
>>>      
>>>
>>>>Hi Juergen,
>>>>          The 2nd expt went fine, the network
>>>>     
>>>>
>>>>        
>>>>
>>>trace
>>>   
>>>
>>>      
>>>
>>>>showed that the i/o's were not really in parallel
>>>>(rather async)
>>>>
>>>>The first expt of creating the ramdisk definitely
>>>>recreated the issue,(tho there was no amd64
>>>>directory
>>>>under i86pc)
>>>>
>>>>Saw some nearly 3200 commands being sent before
>>>>initiator sent the task mgmt command to the target
>>>>     
>>>>
>>>>So definitely there is some problem with this
>>>>     
>>>>
>>>>        
>>>>
>>>async
>>>   
>>>
>>>      
>>>
>>>>ios scenario
>>>>
>>>>Any suggestions?
>>>>
>>>>Thanks
>>>>Som
>>>>--- Somnath kotur <[EMAIL PROTECTED]> wrote:
>>>>
>>>>     
>>>>
>>>>        
>>>>
>>>>>Hi Juergen,
>>>>>          You might be spot on with your
>>>>>       
>>>>>
>>>>>          
>>>>>
>>>analysis
>>>   
>>>
>>>      
>>>
>>>>>which also seems to concur with my observation,
>>>>>       
>>>>>
>>>>>          
>>>>>
>>>i
>>>   
>>>
>>>      
>>>
>>>>>just
>>>>>captured a detailed network trace using a good
>>>>>hardware tool of the entire installation
>>>>>       
>>>>>
>>>>>          
>>>>>
>>>process,
>>>   
>>>
>>>      
>>>
>>>>>found that initially a LOT of I/O's are going
>>>>>       
>>>>>
>>>>>          
>>>>>
>>>out
>>>   
>>>
>>>      
>>>
>>>>>from
>>>>>the initiator ,the iSCSI command sequence number
>>>>>going
>>>>>upto 21,000 and thereabouts and there is still
>>>>>       
>>>>>
>>>>>          
>>>>>
>>>no
>>>   
>>>
>>>      
>>>
>>>>>response from the target ,soon after which my
>>>>>initiator seems to have sent a Task Management
>>>>>Command
>>>>>....the target seems to respond much later after
>>>>>       
>>>>>
>>>>>          
>>>>>
>>>a
>>>   
>>>
>>>      
>>>
>>>>>whole bunch of I/O's (mainly SCSI writes ) are
>>>>>       
>>>>>
>>>>>          
>>>>>
>>>>sent
>>>>     
>>>>
>>>>        
>>>>
>>>>>out by the initiator.
>>>>>
>>>>>I was wondering what more do i have to do in my
>>>>>       
>>>>>
>>>>>          
>>>>>
>>>>HBA
>>>>     
>>>>
>>>>        
>>>>
>>>>>driver to maintain concurrency, all commands
>>>>>       
>>>>>
>>>>>          
>>>>>
>>>first
>>>   
>>>
>>>      
>>>
>>>>>arrive at tran_tgt_init ,followed by
>>>>>       
>>>>>
>>>>>          
>>>>>
>>>tran_init_pkt
>>>   
>>>
>>>      
>>>
>>>>>,where i alloc scsi_pkt along with memory for my
>>>>>       
>>>>>
>>>>>          
>>>>>
>>>>HBA
>>>>     
>>>>
>>>>        
>>>>
>>>>>tran structure ... Do i have to internally queue
>>>>>       
>>>>>
>>>>>          
>>>>>
>>>>the
>>>>     
>>>>
>>>>        
>>>>
>>>>>scsi pkts arriving in tran_init_pkt? 
>>>>>Or is there some parameter ,like a 'queue depth'
>>>>>that
>>>>>i should register with Solaris for the same
>>>>>       
>>>>>
>>>>>          
>>>>>
>>>while
>>>   
>>>
>>>      
>>>
>>>>>registering my driver?
>>>>>
>>>>>Thanks
>>>>>Som
>>>>>--- Juergen Keil <[EMAIL PROTECTED]> wrote:
>>>>>
>>>>>       
>>>>>
>>>>>          
>>>>>
>>>>>>I think the newfs/mkfs/"mkfs: close failed on
>>>>>>         
>>>>>>
>>>>>>            
>>>>>>
>>>>>write
>>>>>       
>>>>>
>>>>>          
>>>>>
>>>>>>disk: I/O error "
>>>>>>error is more interesting than testing mkfile.
>>>>>>
>>>>>>newfs / mkfs -F ufs is using async io.  Your
>>>>>>         
>>>>>>
>>>>>>            
>>>>>>
>>>>iSCSI
>>>>     
>>>>
>>>>        
>>>>
>>>>>>driver should be
>>>>>>receiving new i/o requests, while the current
>>>>>>         
>>>>>>
>>>>>>            
>>>>>>
>>>>i/o
>>>>     
>>>>
>>>>        
>>>>
>>>>>>request is still busy.
>>>>>>
>>>>>>And the script that is constructing the
>>>>>>         
>>>>>>
>>>>>>            
>>>>>>
>>>>>boot_archive
>>>>>       
>>>>>
>>>>>          
>>>>>
>>>>>>is running
>>>>>>two such scripts (shell functions) in
>>>>>>         
>>>>>>
>>>>>>            
>>>>>>
>>>parallel,
>>>   
>>>
>>>      
>>>
>>>>>one
>>>>>       
>>>>>
>>>>>          
>>>>>
>>>>>>for constructing
>>>>>>the 32-bit platform/i86pc/boot_archive file,
>>>>>>         
>>>>>>
>>>>>>            
>>>>>>
>>>and
>>>   
>>>
>>>      
>>>
>>>>>>another one for
>>>>>>constructing the 64-bit
>>>>>>platform/i86pc/amd64/boot_archive.  So, in
>>>>>>addition to using newfs on lofi devices,
>>>>>>         
>>>>>>
>>>>>>            
>>>>>>
>>>>building
>>>>     
>>>>
>>>>        
>>>>
>>>>>>two archives in
>>>>>>parallel could also submit more that one
>>>>>>         
>>>>>>
>>>>>>            
>>>>>>
>>>>>concurrent
>>>>>       
>>>>>
>>>>>          
>>>>>
>>>>>>i/o request to
>>>>>>the iSCSI device.
>>>>>>
>>>>>>
>>>>>>Maybe this is causing data corruption in your
>>>>>>         
>>>>>>
>>>>>>            
>>>>>>
>>>>>iSCSI
>>>>>       
>>>>>
>>>>>          
>>>>>
>>>>>>driver?
>>>>>>
>>>>>>
>>>>>>
>>>>>>When you boot from your local IDE disk, mount
>>>>>>         
>>>>>>
>>>>>>            
>>>>>>
>>>>the
>>>>     
>>>>
>>>>        
>>>>
>>>>>>iSCSI volume
>>>>>>containing the installed Solaris root
>>>>>>         
>>>>>>
>>>>>>            
>>>>>>
>>>filesystem
>>>   
>>>
>>>      
>>>
>>>>>to
>>>>>       
>>>>>
>>>>>          
>>>>>
>>>>>>/mnt, and
>>>>>>run "/mnt/boot/solaris/bin/create_ramdisk -R
>>>>>>         
>>>>>>
>>>>>>            
>>>>>>
>>>>>/mnt".
>>>>>       
>>>>>
>>>>>          
>>>>>
>>>>>>Does that
>>>>>>produce two files
>>>>>>         
>>>>>>
>>>>>>            
>>>>>>
>>>>/mnt/platform/i86pc/boot_archive
>>>>     
>>>>
>>>>        
>>>>
>>>>>>and
>>>>>>/mnt/platform/i86pc/amd64/boot_archive that
>>>>>>         
>>>>>>
>>>>>>            
>>>>>>
>>>can
>>>   
>>>
>>>      
>>>
>>>>>both
>>>>>       
>>>>>
>>>>>          
>>>>>
>>>>>>be 
>>>>>>uncompressed with gunzip?
>>>>>>
>>>>>>
>>>>>>Or another test:  mount your iSCSI volume to
>>>>>>         
>>>>>>
>>>>>>            
>>>>>>
>>>>/mnt,
>>>>     
>>>>
>>>>        
>>>>
>>>>>>create two
>>>>>>200mbyte files and compress them in parallel:
>>>>>>
>>>>>>   mount ... /mnt
>>>>>>   dd if=/dev/urandom bs=1024k count=200
>>>>>>of=/mnt/file1
>>>>>>   dd if=/dev/urandom bs=1024k count=200
>>>>>>of=/mnt/file2
>>>>>>   
>>>>>>   gzip -v9 /mnt/file1 &  gzip -v9 /mnt/file2
>>>>>>   
>>>>>>   gunzip -t /mnt/file1.gz
>>>>>>   gunzip -t /mnt/file2.gz
>>>>>>   
>>>>>>   
>>>>>>   
>>>>>>   
>>>>>>         
>>>>>>
>>>>>>            
>>>>>>
>>=== message truncated ===
>>
>>
>>
>>     
>> ____________________________________________________________________________________
>>Looking for last minute shopping deals?  
>>Find them fast with Yahoo! Search.  
>>http://tools.search.yahoo.com/newsearch/category.php?category=shopping
>> 
>>
>>    
>>
>
>_______________________________________________
>driver-discuss mailing list
>driver-discuss@opensolaris.org
>http://mail.opensolaris.org/mailman/listinfo/driver-discuss
>  
>

_______________________________________________
driver-discuss mailing list
driver-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/driver-discuss

Reply via email to