gfs_pio_set_view_local

Name

gfs_pio_set_view_local -- 並列プロセスに対応した fragment 単位のアクセスを行う

Synopsis

#include <gfarm/gfarm.h>

char *gfs_pio_set_view_local(GFS_File gf, int flags);

DESCRIPTION

ファイルをフラグメント単位でアクセスすることを指定します。

アクセスするフラグメントは、Gfarm並列プロセスのノード番号に対応した ものになります。すなわち、関数 gfs_pio_set_local(3) の node 引数に指定したフラグメントです。

フラグメントの総数は、Gfarm並列プロセスのノードの総数、すなわち gfs_pio_set_local(3) の nnode 引数と同一になります。 もし、既存のファイルを開くときに、フラグメントの総数とノードの総数が 異なった場合には、この関数はエラーとなります。

引数 flag には、 GFARM_FILE_SEQUENTIALGFARM_FILE_REPLICATEGFARM_FILE_NOT_REPLICATE の論理和が指定できます。 値の意味は gfs_pio_set_view_index(3) の解説を参照ください。

この関数を呼ばない状態では、Gfarmファイルは global view 状態となっており、全てのフラグメントが結合された単一ファイルに見えます。

RETURN VALUES

NULL

正常終了を示します。

GFARM_ERR_NO_MEMORY

メモリ不足のため処理を中止しました。

GFARM_ERR_OPERATION_NOT_PERMITTED

指定したパス名が、フラグメント化ファイルではありません。

GFARM_ERR_FRAGMENT_NUMBER_DOES_NOT_MATCH

ノード数と、フラグメント総数が、適合しません。

その他

上記以外のエラーが生じたことを示します。

SEE ALSO

gfs_pio_create(3), gfs_pio_open(3), gfs_pio_set_local(3), gfs_pio_set_view_index(3)