]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Add -l to camcontrol readcap.
authorimp <imp@FreeBSD.org>
Tue, 12 Mar 2019 04:57:05 +0000 (04:57 +0000)
committerimp <imp@FreeBSD.org>
Tue, 12 Mar 2019 04:57:05 +0000 (04:57 +0000)
commit8d10a64bb814f521307ee17e77bbcd69c96199af
treebbb396ebde6fa37ae0c0045f9b85be4589c9c7f2
parentac568e7f234cc76a71841900f55af2a3bf3f05e4
Add -l to camcontrol readcap.

The -l flag sends only the READ CAPACITY (16) sevice action. Normally
we send the READ CAPACITY (10) command, and only send RC16 when the
capacity is larger than 2TB (since that's the max RC10 can
report). However, some badly programmed drives report different
numbers for RC10 and RC16. This can be hard to diagnose, but generally
there's a "Logical block address out of range" error when RC16 reports
a larger number than RC10 and the RC10 number is the correct one. By
comparing the output of readcap with and without the -l argmuent, one
can determine if there's a mismatch and if the DA_Q_NO_RC16 quirk is
needed.

Reviewed by: ken@
Differential Revision: https://reviews.freebsd.org/D19536
sbin/camcontrol/camcontrol.8
sbin/camcontrol/camcontrol.c