camcontrol rescan not updating disk size?

Douglas Gilbert dgilbert at interlog.com
Mon Dec 16 17:27:59 UTC 2013


On 13-12-16 11:44 AM, Rolf Grossmann wrote:
> Hi,
>
> I'm having a problem with a virtualized system. I've grown the virtual
> disk, but my FreeBSD 9.1-STABLE r246991 won't recognize the new size:
>
> # grep da1 /var/run/dmesg.boot
> da1 at mpt0 bus 0 scbus2 target 1 lun 0
> da1: <VMware Virtual disk 1.0> Fixed Direct Access SCSI-2 device
> da1: 320.000MB/s transfers (160.000MHz DT, offset 127, 16bit)
> da1: Command Queueing enabled
> da1: 75776MB (155189248 512 byte sectors: 255H 63S/T 9660C)
>
> # camcontrol readcap 2:1:0
> Last Block: 314572799, Block Length: 512 bytes
>
> # camcontrol rescan 2:1:0
> Re-scan of 2:1:0 was successful
>
> # geom disk list da1
> Geom name: da1
> Providers:
> 1. Name: da1
>     Mediasize: 79456894976 (74G)
>     Sectorsize: 512
>     Mode: r1w1e1
>     descr: VMware Virtual disk
>     ident: (null)
>     fwsectors: 63
>     fwheads: 255
>
> IMHO that should now read "Mediasize: 161061273088 (150G)".
>
> (What I'm actually trying to do is "zpool online -e mypool da1", but
> that doesn't recognize the new size either, so I'm thinking geom is a
> good indicator of the system's idea of the disk size.)
>
> I've tried a full and targetd rescan multiple times to no avail. I don't
> see anything to rescan the size or flush some sort of cache. My Google
> searches also came up empty. I'm out of ideas what else to try short of
> a reboot (which I'd really like to avoid).

A related point: according to sbc3r36.pdf when an LU changes its
size then it should "establish a unit attention condition with an
additional sense code set to CAPACITY DATA HAS CHANGED". Can you
determine if that happens? If it does then CAM needs enhancing, if
not targetd needs some work.

Doug Gilbert




More information about the freebsd-scsi mailing list