14 ブロックデバイスの検出

ファイルシステムが検出されるのと同様の方法で、ブロックデバイスとそのタイプも検出できます。

アイテムキー

ディスカバリ ルールで使用するアイテムキーは次のとおりです。

vfs.dev.discovery

このアイテムはLinuxプラットフォームでのみサポートされています。

このディスカバリアイテムを使用して、次のようなディスカバリルールを作成できます。

  • フィルター: {#DEVNAME} が sd[\D]$ に一致 - 「sd0」、「sd1」、「sd2」、... という名前のデバイスをディスカバリします
  • フィルター: *{#DEVTYPE} が disk に一致 AND {#DEVNAME} が `^loop.` に一致しない** - 名前が「loop」で始まらないdiskタイプのデバイスをディスカバリします

サポートされているマクロ

このディスカバリキーは、ブロックデバイスの名前とタイプをそれぞれ識別する{#DEVNAME}と{#DEVTYPE}の2つのマクロを返します。次に例を示します。

[ 
   { 
      "{#DEVNAME}":"loop1",
      "{#DEVTYPE}":"disk"
   },
   { 
      "{#DEVNAME}":"dm-0",
      "{#DEVTYPE}":"disk"
   },
   { 
      "{#DEVNAME}":"sda",
      "{#DEVTYPE}":"disk"
   },
   { 
      "{#DEVNAME}":"sda1",
      "{#DEVTYPE}":"partition"
   }
]

ブロックデバイスの検出では、vfs.dev.read[]およびvfs.dev.write[]アイテムと{#DEVNAME}マクロを使用してアイテムのプロトタイプを作成できます。次に例を示します。

  • "vfs.dev.read[{#DEVNAME},sps]"
  • "vfs.dev.write[{#DEVNAME},sps]"

{#DEVTYPE}は、デバイスのフィルタリングを目的としています。