Veritas™ File System プログラマーズリファレンスガイド - Linux

Last Published:
Product(s): InfoScale & Storage Foundation (7.3.1)
  1. Veritas File System Software Developer's Kit
    1.  
      Software Developer's Kit について
    2. File System Software Developer's Kit の機能
      1.  
        API ライブラリインターフェース
      2.  
        FCL(File Change Log)
      3.  
        マルチボリュームサポート
      4.  
        Veritas File System I/O
    3.  
      Software Developer's Kit RPM
    4.  
      必要なライブラリとヘッダーファイル
    5. コンパイル環境
      1.  
        異なるコンパイラによる再コンパイル
  2. FCL(File Change Log)
    1. FCL ファイルについて
      1.  
        記録される変更
      2. FCL(File Change Log)ファイルの使用
        1.  
          領域の使用状況
        2.  
          システムの完全スキャンの削減
        3.  
          ファイル履歴のトレース
      3.  
        FCL ログ記録のアクティブ化
      4. FCL ファイルのレイアウト
        1.  
          FCL(File Change Log)スーパーブロック
        2.  
          FCL(File Change Log)レコード
    2. レコードタイプ
      1.  
        特殊レコード
      2.  
        一般的なレコードの順番
    3. FCL(File Change Log)チューニングパラメータ
      1.  
        チューニングパラメータで FCL の拡張サイズを処理するには
    4. FCL(File Change Log)のアプリケーションプログラミングインターフェース
      1.  
        操作性
      2.  
        後方互換
      3. API 関数
        1.  
          FCL レコードにアクセスするための関数
        2.  
          FCL でオフセットとタイムスタンプをシークするための関数
        3. vxfs_fcl_open
          1.  
            戻り値
        4. vxfs_fcl_close
          1.  
            パラメータ
        5. vxfs_fcl_getinfo
          1.  
            戻り値
        6. vxfs_fcl_read
          1.  
            パラメータ
          2.  
            入力
          3.  
            出力
          4.  
            戻り値
        7. vxfs_fcl_getcookie
          1.  
            パラメータ
        8. vxfs_fcl_seek
          1.  
            パラメータ
          2.  
            戻り値
        9. vxfs_fcl_seektime
          1.  
            パラメータ
          2.  
            戻り値
        10. vxfs_fcl_sync
          1.  
            パラメータ
      4. FCL(File Change Log)レコード
        1.  
          定義
        2.  
          fcl_iostats 構造体
        3.  
          fcl_acsinfo 構造体
        4.  
          レコードの構造体のフィールド
      5. FCL(File Change Log)レコードのコピー
        1.  
          インデックス保守アプリケーション
        2. 使用状況プロファイルのコンピューティング
          1.  
            初期設定
          2.  
            手順の例
          3.  
            オフホスト処理
      6. Veritas File System と FCL のアップグレードとダウングレード
        1.  
          FCL バージョン 4 へのバージョン 3 ファイルの変換
        2.  
          Veritas File System バージョンのダウングレード
    5. パス名の逆引きルックアップ
      1.  
        i ノード
      2.  
        vxfs_inotopath_gen
  3. マルチボリュームサポート
    1.  
      MVS について
    2.  
      MVS の利用
    3. ボリュームアプリケーションプログラミングインターフェース
      1.  
        ボリュームセットの管理
      2.  
        ファイルシステムのボリュームセットの問い合わせ
      3.  
        ファイルシステム内のボリュームの変更
      4.  
        ボリュームのカプセル化とカプセル化の解除
    4. 割り当てポリシーアプリケーションプログラミングインターフェース
      1.  
        ファイル割り当ての指示
      2.  
        ポリシーの作成と割り当て
      3.  
        定義されたポリシーの問い合わせ
      4.  
        ポリシーの実施
    5.  
      データ構造
    6. ポリシーとアプリケーションプログラミングインターフェースの使用
      1.  
        割り当てポリシーの定義と割り当て
      2.  
        ボリュームアプリケーションプログラミングインターフェースの使用
  4. 名前付きデータストリーム
    1.  
      名前付きデータストリームについて
    2.  
      名前付きデータストリームの使用
    3.  
      名前付きデータストリームのアプリケーションプログラミングインターフェース
    4.  
      名前付きデータストリームの一覧表示
    5.  
      名前付きデータストリームの名前空間
    6.  
      ほかのシステムコールにおける動作の変更
    7.  
      名前付きデータストリームの問い合わせ
    8.  
      アプリケーションプログラミングインターフェース
    9.  
      コマンドリファレンス
  5. Veritas File System I/O
    1.  
      Veritas File System I/O について
    2.  
      凍結と解凍
    3. キャッシュアドバイザリ
      1.  
        ダイレクト I/O
      2.  
        同時 I/O
      3.  
        非バッファ I/O
      4.  
        その他のキャッシュアドバイザリ
    4. エクステント
      1. エクステント属性
        1.  
          属性の詳細
      2.  
        領域予約: ファイルへの事前領域割り当て
      3.  
        固定エクステントサイズ
      4.  
        エクステント属性のアプリケーションプログラミングインターフェース
      5. 割り当てフラグ
        1.  
          領域の予約での割り当てフラグ
        2.  
          予約領域の解放
        3.  
          非永続的な予約
        4.  
          予約領域を超えた書き込みの禁止
        5.  
          連続した予約領域
        6.  
          ファイルサイズに予約領域を含める
        7.  
          ファイルの増加分の読み取り
      6.  
        固定エクステントサイズでの割り当てフラグ
      7.  
        エクステント属性 API の使用方法
      8.  
        固定エクステントサイズの設定
  6. シン再生
    1.  
      シンストレージについて
    2.  
      シン再生について
    3. シン再生のアプリケーションプログラミングインターフェース
      1.  
        vxfs_ts_reclaim の戻り値

fcl_acsinfo 構造体

アクセス情報の追跡を有効にすると、VxFS は各レコードとともに、次のようなアクセス情報をログに記録します。

  • アプリケーションにアクセスしている有効な実際のユーザーとグループの ID

  • ファイルのアクセス元のノード

  • ユーザーアプリケーションのプロセス ID と各レコード

アプリケーションが FCL を読み取るとき、情報は fr_acsinfo フィールドに返されます。

fr_acsinfo は、次のように定義されている FCL_acsinfo 構造体を指します。

struct fcl_acsinfo {
    uint32_tfa_ruid;
    uint32_tfa_rgid;
    uint32_tfa_euid;
    uint32_tfa_egid;
    uint32_tfa_pid;
    uint32_tfa_nodeid;
};

メモ:

accessinfo は、独立したレコードの種類としては返されませんが、追加情報としてほかのレコードとともに返されます。さらに、accessinfo の情報は、すべてのレコードに存在するとは限りません(たとえば、accessinfo の追跡が有効になっていない場合)。ただし、ファイルシステムのいくつかの内部操作(たとえば、削除時のファイルの切り捨てなど)で accessinfo が有効にされたときでも、アクセス情報が存在しないことがあります。アクセス情報を利用可能かどうかを判断する助けになるように、FCL レコードには fcl_acsinfovalid という名前のフラグが含まれ、そのフラグは特定のレコードに accessinfo が存在する場合にのみ 0 以外になります。

fcl_acsinfo 構造体のいくつかのフィールドはポインタなので、実際の内容を格納するためのメモリが必要です。これは、FCL レコードの直後に実際のデータを格納し、そのデータを指すポインタを更新することによって処理されます。レコード長の fr_reclen フィールドは、データ全体に相当するように更新されます。したがって、vxfs_fcl_read によって返される各 FCL レコードは可変サイズのレコードで、その長さは fr_reclen_field によって示されます。

図: サンプルのリンクレコード は、サンプルのリンクレコードで、データがどのようにレイアウトされるかを示しています。

図: サンプルのリンクレコード

サンプルのリンクレコード

次のコードサンプルは、vxfs_fcl_read の呼び出しによって返されたレコードのセットをスキャンし、ユーザー ID を出力します。

Struct fcl_record*fr;
Char        *tbuf;
...
      error = vxfs_fcl_read(fh, buf, &bufsz,
                       FCL_ALL_V4_EVENTS,
                       &nentries);
    tbuf = buf;
    while (--nentries) {
        fr = (struct fcl_record *)tbuf;
if (fr->fr_acsinfovalid) {
        printf("Uid %ld\n", fr->fr_acsinfo->uid;
}
        tbuf += fr->fr_reclen;
   }

メモ:

FCL_ALL_V4_EVENTS はイベントマスクです。

vxfs_fcl_read

詳細情報

vxfs_fcl_read