[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[fol] HDIO_GET_IDENTTY vs HDIO_GETGEO (Re: fdclone)


佐野@浜松です。

# subject 変更しました。

In article <7ifr4i$83t$1 _at_ yellow.nintendo.co.jp>
 shirai _at_ pon.nintendo.co.jp (Takashi SHIRAI) さん writes:

>  Necoです。
> 
> In article <y5abtf93zar.fsf _at_ xlj06203.nifty.ne.jp>,
> Taketoshi Sano  <xlj06203 _at_ nifty.ne.jp> wrote:
> >佐野@浜松です。
> 
> >>  HDIO_GET_IDENTITY の方って、geometry 変換前の真の値を返し
> >> てきませんか?
> 
> >おっしゃるとおり、HDIO_GET_IDENTITY では C/H/S=13424/15/63 ですが
> >HDIO_GETGEO では C/H/S = 839/240/63 となります。
> 
>  やっぱり。ということは HDIO_GETGEO の方で patch 作り直さないと
> いけませんね。
> 
> # ってもう既に作り直してあるけど。暫くしたら正式に version
> # up します。

普段ノートな環境なんで、今まで気がつかなかったのですが、
職場のサーバーで、SCSI HDD に対して hdparm -i / -I を実行したら

 # ./hdparm-3.3/hdparm -g /dev/sda
/dev/sda:
 geometry     = 2047/64/32, sectors = 4194058, start = 0

 # ./hdparm-3.3/hdparm -g /dev/sdb
/dev/sdb:
 geometry     = 4149/64/32, sectors = 8498506, start = 0

 # ./hdparm-3.3/hdparm -g /dev/sdc
/dev/sdc:
 geometry     = 4134/64/32, sectors = 8467200, start = 0

 # ./hdparm-3.3/hdparm -I /dev/sda
/dev/sda:
 operation not supported on SCSI disks

 # ./hdparm-3.3/hdparm -I /dev/sdb
/dev/sdb:
 operation not supported on SCSI disks

 # ./hdparm-3.3/hdparm -I /dev/sdc
/dev/sdc:
 operation not supported on SCSI disks

 # ./hdparm-3.3/hdparm -i /dev/sda
/dev/sda:
 operation not supported on SCSI disks

 # ./hdparm-3.3/hdparm -i /dev/sdb
/dev/sdb:
 operation not supported on SCSI disks

 # ./hdparm-3.3/hdparm -i /dev/sdc
/dev/sdc:
 operation not supported on SCSI disks

 # ./hdparm-3.3/hdparm -i /dev/hda

/dev/hda:

 Model=TOSHIBA MK2720FC, FwRev=S1.11 B, SerialNo=36551766
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
 RawCHS=2633/16/63, TrkSize=40257, SectSize=639, ECCbytes=21
 BuffType=3(DualPortCache), BuffSize=128kB, MaxMultSect=16, MultSect=off
 DblWordIO=no, maxPIO=2(fast), DMA=yes, maxDMA=2(fast)
 CurCHS=658/64/63, CurSects=2654280, LBA=yes, LBAsects=2654280
 tDMA={min:120,rec:120}, DMA modes: sword0 sword1 *sword2 mword0 mword1 mword2 
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, PIO modes: mode3 mode4 

 # ./hdparm-3.3/hdparm -i /dev/hdb

/dev/hdb:

 Model=TOSHIBA MK2720FC, FwRev=S1.11 B, SerialNo=36551762
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
 RawCHS=2633/16/63, TrkSize=40257, SectSize=639, ECCbytes=21
 BuffType=3(DualPortCache), BuffSize=128kB, MaxMultSect=16, MultSect=off
 DblWordIO=no, maxPIO=2(fast), DMA=yes, maxDMA=2(fast)
 CurCHS=658/64/63, CurSects=2654280, LBA=yes, LBAsects=2654280
 tDMA={min:120,rec:120}, DMA modes: sword0 sword1 *sword2 mword0 mword1 mword2 
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, PIO modes: mode3 mode4 

 # ./hdparm-3.3/hdparm -I /dev/hda

/dev/hda:

 Model=OTHSBI AKM7202CF                        , FwRev=1S1. 1 B, SerialNo=63557166
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
 RawCHS=2633/16/63, TrkSize=40257, SectSize=639, ECCbytes=21
 BuffType=3(DualPortCache), BuffSize=128kB, MaxMultSect=16, MultSect=off
 DblWordIO=no, maxPIO=2(fast), DMA=yes, maxDMA=2(fast)
 CurCHS=2633/16/63, CurSects=2654064, LBA=yes, LBAsects=2654280
 tDMA={min:120,rec:120}, DMA modes: sword0 sword1 *sword2 mword0 mword1 mword2 
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, PIO modes: mode3 mode4 

 # ./hdparm-3.3/hdparm -I /dev/hdb

/dev/hdb:

 Model=OTHSBI AKM7202CF                        , FwRev=1S1. 1 B, SerialNo=63557126
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
 RawCHS=2633/16/63, TrkSize=40257, SectSize=639, ECCbytes=21
 BuffType=3(DualPortCache), BuffSize=128kB, MaxMultSect=16, MultSect=off
 DblWordIO=no, maxPIO=2(fast), DMA=yes, maxDMA=2(fast)
 CurCHS=2633/16/63, CurSects=2654064, LBA=yes, LBAsects=2654280
 tDMA={min:120,rec:120}, DMA modes: sword0 sword1 *sword2 mword0 mword1 mword2 
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, PIO modes: mode3 mode4 

となりました。Linux kernel 2.2.7 です。この結果から見ると、2.2.7 カーネルでは
 HDIO_GET_IDENTTY は IDE HDD でしかサポートされておらず、SCSI HDD で使えるのは
 HDIO_GETGEO だけのようです。

で、確認のために 2.0.36 カーネルなノート (常用環境) に PCMCIA SCSI カード経由で
 230MO を接続して hdparm {-i,-I,-g} /dev/sda を実行してみたところ、やはり

# hdparm -i /dev/sda
/dev/sda:
 operation not supported on SCSI disks

# hdparm -I /dev/sda
/dev/sda:
 operation not supported on SCSI disks

# hdparm -g /dev/sda
/dev/sda:
 geometry     = 217/64/32, sectors = 446325, start = 0

となりました。
どうも SCSI HDD では HDIO_GET_IDENTITY はサポートされていないみたいです。

# うーむ、、、自慢できる「仕様」ではないような気がする、、、

-- 
     #わたしのおうちは浜松市、「夜のお菓子」で有名さ。
    <xlj06203 _at_ nifty.ne.jp> : Taketoshi Sano (佐野 武俊)

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
References: