NAME¶
gfs_pio_set_view_index - fragment
  単位のアクセスを指定する
SYNOPSIS¶
#include <gfarm/gfarm.h>
 
char *gfs_pio_set_view_index (GFS_File 
gf, int
  fragment_number , int fragment_index, char
  *host, int flags); 
DESCRIPTION¶
ファイルをフラグメント単位でアクセスすることを指定します。
新規作成したファイルの場合、必ず引数
  
fragment_number
  にフラグメント
  の総数を指定する必要があります。この値は、この並列ファイルを開く全て
  のノードで、同じ値でなくてはなりません。既存のファイルの場合には、
  ここに GFARM_FILE_DONTCARE
  と書けば、指定を省略できます。もし
  もし実際と異なる数を指定した場合には、この関数はエラーで失敗します。
引数 
fragment_index には、
  アクセスするフラグメントの番号を指定します。
引数 
host
  は、アクセスしたいホストを明示的に指定したい時に利用します。
  指定が不要なら NULL
  を渡せば省略できます。
引数 
flag には、 GFARM_FILE_SEQUENTIAL
  、 GFARM_FILE_REPLICATE 、 GFARM_FILE_NOT_REPLICATE
  の論理和が指定できます。
  これらは、下記を意味します。
  - GFARM_FILE_SEQUENTIAL
 
  - このフラグメントに関してはシーケンシャル・アクセスのみを行なうこと
      を示します。
 
  - GFARM_FILE_REPLICATE
 
  - あらかじめ、ローカル・ノードにレプリカを用意してからアクセスすることを
      指定します。GFARM_FILE_NOT_REPLICATE
      とは排他的なオプションです。
 
  - GFARM_FILE_NOT_REPLICATE
 
  - 既にレプリカがある場合を除き、このノードにレプリカを用意しないこと
      を指定します。GFARM_FILE_REPLICATE
      とは排他的なオプションです。
 
この関数を呼ばない状態では、Gfarm
  ファイルは global view
  状態となっており、全てのフラグメントが結合された単一ファイルに見えます。
RETURN VALUES¶
  - NULL
 
  - 正常終了を示します。
 
  - GFARM_ERR_NO_MEMORY
 
  - メモリ不足のため処理を中止しました。
 
  - GFARM_ERR_OPERATION_NOT_PERMITTED
 
  - 指定したパス名が、フラグメント化ファイルではありません。
 
  - GFARM_ERR_FRAGMENT_NUMBER_DOES_NOT_MATCH
 
  - 指定したフラグメント総数が、不適切です。
 
  - GFARM_ERR_INVALID_ARGUMENT
 
  - 関数引数が不適切です。たとえば、ファイルの新規作成時に、
      フラグメント総数として
      GFARM_FILE_DONTCARE
      を指定すると、このエラーが生じます。
 
  - その他
 
  - 上記以外のエラーが生じたことを示します。
 
SEE ALSO¶
gfs_pio_create(3), 
gfs_pio_open(3),
  
gfs_pio_set_view_local(3)