blockdev -
コマンドラインからブロックデバイスの
ioctl を呼び出す
blockdev [
-q] [
-v]
command [
command...]
device [
device...]
blockdev --report [
device...]
blockdev -h
|-V
blockdev
ユーティリティを使えば、コマンドラインからブロックデバイスの
ioctl
を呼び出すことができる。
- -q
- 寡黙モード。
- -v
- 饒舌モード。
- --report
- 指定したデバイスの情報を表示する。複数のデバイスを指定することもできる。
何も指定しない場合は、/proc/partitions
に記載されているすべてのデバイスが表示される。パーティションの開始セクタ
(StartSec) は 512-byte
セクタによる表示である。
-
-h, --help
- ヘルプテキストを表示して、終了する。
-
-V, --version
- バージョンを表示して、終了する。
デバイスもコマンドも複数指定できる。
- --flushbufs
- バッファをフラッシュする。
- --getalignoff
- アラインメントオフセット
(alignment offset) を取得する。
- --getbsz
- ブロックサイズをバイト単位で表示する。このサイズが示しているのは、デバイスのトポロジーではない。
これは、カーネルによって内部的に使用されるサイズであり、マウント時に
(たとえば)
ファイルシステムドライバによって変更されることもある。
- [訳注]
- デバイスのトポロジーというのは、デバイス固有の物理セクタサイズ、論理セクタサイズ、最小
I/O
サイズなどのこと。特に、物理セクタサイズ。
- --getdiscardzeroes
- discard zeroes
サポートの状態を取得する。
- --getfra
- ファイルシステムの先読み
(readahead) の大きさを 512-byte
セクタ単位で取得する。
- --getiomin
- 最小 I/O
サイズを取得する。
- --getioopt
- 最適 I/O
サイズを取得する。
- --getmaxsect
- 1
リクエストあたりの最大セクタ数を取得する。
- --getpbsz
- 物理ブロック
(セクタ)
サイズを取得する。
- --getra
- 先読みの大きさを
(512-byte セクタ単位で)
表示する。
- --getro
- 読み込み専用か否かを検出する。デバイスが読み込み専用ならば
1 を、 さもなければ 0
を表示する。
- --getsize64
- デバイスのサイズをバイト単位で表示する。
- --getsize
- デバイスのサイズをセクタ単位で表示する
(32
ビットまでしか対応していない!)。これは非推奨であり、--getsz
オプションを使った方がよい。
- --getss
- 論理セクタサイズをバイト単位で表示する。通常は
512 バイトである。
- --getsz
- デバイスのサイズを
512-byte
セクタ単位で取得する。
- --rereadpt
- パーティションテーブルの再読み込みを行う。
-
--setbsz bytes
- ブロックサイズを設定する。なお、このブロックサイズは、
ブロックデバイスをオープンしている現在のファイルディスクリプターに限定されたものである。
そのため、ブロックサイズの変更は
blockdev
がデバイスをオープンしている間だけ続き、blockdev
が終了すると失われる。
-
--setfra sectors
- ファイルシステムの先読みの大きさを設定する
(2.6 カーネルの --setra
と同様)。
-
--setra sectors
- 先読みの大きさを
(512-byte セクタ単位で)
設定する。
- --setro
- 読み込み専用に設定する。
デバイスへの現在のアクティブなアクセスは、この変更の影響を受けないかもしれない。
たとえば、既に読み書きモードでマウントされているファイルシステムは、影響を受けない。
変更は再マウント後に適用される。
- --setrw
- 読み書き可に設定する。
blockdev を書いたのは Andries E. Brouwer
であり、それを Karel Zak
が書き直した。
この blockdev
コマンドは、util-linux
パッケージの一部であり、
https://www.kernel.org/pub/linux/utils/util-linux/
から入手できる。