Provided by: libgfarm-dev_2.4.1-1.1ubuntu1_amd64
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)