名前

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/ から入手できる。