Can't *write* to a hard disk, problem related to GEOM(4)?
Julien Gabel
jpeg at thilelli.net
Fri Apr 16 05:37:44 PDT 2004
>>>>>> /dev/ad10 was previously part of a hardware miror (ar(4) device
>>>>>> with a HighPoint HPT374 (channel 2+3) UDMA133 controller), but
>>>>>> since it was broken for an unknown reason, thid drive is no more
>>>>>> usable, even alone. For example, I am not be able to create a new
>>>>>> slice on it.
>>>>> Could you try to compile a kernel without the ar(4) driver in it ?
>>>>> It may still be latching on to this disk...
>>>> Since the ar(4) driver is part of ata(4) generic ATA/ATAPI disk
>>>> controller driver, I don't think it is possible to do that without
>>>> shooting myself on the foot. Any ideas?
>>> Could you post output from:
>>> # sysctl -b kern.geom.confxml
>> Sure. Because the output is 1128 lines long, the output is attached.
> It doesn't look like a GEOM problem:
> <provider id="0xc6cad980">
> <geom ref="0xc6cad880"/>
> <mode>r0w0e0</mode>
> <name>ad10</name>
> <mediasize>122942324736</mediasize>
> <sectorsize>512</sectorsize>
> <config>
> <fwheads>16</fwheads>
> <fwsectors>63</fwsectors>
> </config>
> </provider>
>
> As you can see, this provider is not opened (r0w0e0).
>
> Try to set kern.geom.debugflags to 4. It will show you all access
> requests.
With kern.geom.debugflags set to 4, here is what I get when I try to:
# fdisk -BI ad10
******* Working on device /dev/ad10 *******
fdisk: can't write fdisk partition table: Operation not permitted
# tail -50 /var/log/messages
[...]
Apr 16 14:27:53 bento kernel: g_dev_open(ad10, 1, 8192, 0xc6f93dc0)
Apr 16 14:27:53 bento kernel: g_access_rel(0xc6a8b300(ad10), 1, 0, 0)
Apr 16 14:27:53 bento kernel: open delta:[r1w0e0] old:[r0w0e0]
provider:[r0w0e0] 0xc6cad980(ad10)
Apr 16 14:27:53 bento kernel: g_disk_access(ad10, 1, 0, 0)
Apr 16 14:27:53 bento kernel: g_dev_open(ad10s1, 1, 8192, 0xc6f93dc0)
Apr 16 14:27:53 bento kernel: g_access_rel(0xc6a76f00(ad10s1), 1, 0, 0)
Apr 16 14:27:53 bento kernel: open delta:[r1w0e0] old:[r0w0e0]
provider:[r0w0e0] 0xc6cae080(ad10s1)
Apr 16 14:27:53 bento kernel: g_access_rel(0xc6a8b380(ad10), 1, 0, 1)
Apr 16 14:27:53 bento kernel: open delta:[r1w0e1] old:[r0w0e0]
provider:[r1w0e0] 0xc6cad980(ad10)
Apr 16 14:27:53 bento kernel: g_disk_access(ad10, 1, 0, 1)
Apr 16 14:27:53 bento kernel: g_dev_close(ad10, 1, 8192, 0xc6f93dc0)
Apr 16 14:27:53 bento kernel: g_access_rel(0xc6a8b300(ad10), -1, 0, 0)
Apr 16 14:27:53 bento kernel: open delta:[r-1w0e0] old:[r1w0e0]
provider:[r2w0e1] 0xc6cad980(ad10)
Apr 16 14:27:53 bento kernel: g_disk_access(ad10, -1, 0, 0)
Apr 16 14:27:53 bento kernel: g_dev_close(ad10s1, 1, 8192, 0xc6f93dc0)
Apr 16 14:27:53 bento kernel: g_access_rel(0xc6a76f00(ad10s1), -1, 0, 0)
Apr 16 14:27:53 bento kernel: open delta:[r-1w0e0] old:[r1w0e0]
provider:[r1w0e0] 0xc6cae080(ad10s1)
Apr 16 14:27:53 bento kernel: g_access_rel(0xc6a8b380(ad10), -1, 0, -1)
Apr 16 14:27:53 bento kernel: open delta:[r-1w0e-1] old:[r1w0e1]
provider:[r1w0e1] 0xc6cad980(ad10)
Apr 16 14:27:53 bento kernel: g_disk_access(ad10, -1, 0, -1)
# sysctl -b kern.geom.confxml
[...]
<geom id="0xc6cad600">
<class ref="0xc08df920"/>
<name>ad10</name>
<rank>2</rank>
<config>
</config>
<consumer id="0xc6a8b380">
<geom ref="0xc6cad600"/>
<provider ref="0xc6cad980"/>
<mode>r0w0e0</mode>
<config>
</config>
</consumer>
<provider id="0xc6cae080">
<geom ref="0xc6cad600"/>
<mode>r0w0e0</mode>
<name>ad10s1</name>
<mediasize>122942292480</mediasize>
<sectorsize>512</sectorsize>
<config>
<index>0</index>
<length>122942292480</length>
<seclength>240121665</seclength>
<offset>32256</offset>
<secoffset>63</secoffset>
<type>165</type>
</config>
</provider>
</geom>
I don't kow how to interpret all of these debug informations. Are
something inresting here, or can I give you some other information
or command output?
Thanks,
--
-jpeg.
More information about the freebsd-current
mailing list