GFS_PIO_SET_VIEW_LOCAL(3)

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_SEQUENTIAL、 GFARM_FILE_REPLICATE、 GFARM_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)