/usr/share/doc/gfarm-doc/gfarm-v2-protocol-gfs.txt is in gfarm-doc 2.6.7+dfsg-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | 記号の意味:
i, l, s は、xxx_proto.c の扱うフォーマット文字
フォーマット文字[変数] は、
「そのフォーマット文字に対応する型」の「変数」回の繰り返し。
例: s[npaths] … 文字列(s) の npaths 回の繰り返し
------------------------------------------------------------------------
gfsd プロトコル
クライアント, gfsd からのアクセス
GFS_PROTO_PROCESS_SET,
入力: i:type, b:shared_key, l:pid
出力: i:エラー
GFS_PROTO_OPEN,
入力: i:fd
出力: i:エラー
GFS_PROTO_OPEN_LOCAL,
入力: i:fd
出力: i:エラー
エラー == GFARM_ERR_NOERROR の場合:
ディスクリプタパッシングを用いて、local fd を返す。
GFS_PROTO_CLOSE,
入力: i:fd
出力: i:エラー
GFS_PROTO_PREAD,
入力: i:fd, i:size, l:offset
出力: i:エラー, b:data
GFS_PROTO_PWRITE,
入力: i:fd, b:buffer, l:offset
出力: i:エラー, i:length
GFS_PROTO_WRITE,
入力: i:fd, b:buffer
出力: i:エラー, i:length, l:offset, l:total_size
GFS_PROTO_FTRUNCATE
入力: i:fd, l:length,
出力: i:エラー
GFS_PROTO_FSYNC
入力: i:fd, i:operation,
出力: i:エラー
GFS_PROTO_FSTAT,
入力: i:fd
出力: i:エラー
エラー == GFARM_ERR_NOERROR の場合:
l:size,
l:atime_sec, i:atime_nsec
l:mtime_sec, i:mtime_nsec
GFS_PROTO_CKSUM_SET,
入力: i:fd, s:cksum_type, b:cksum
出力: i:エラー
GFS_PROTO_LOCK,
入力: i:fd, l:start, l:len, i:type, i:whence
出力: i:エラー
GFS_PROTO_TRYLOCK,
入力: i:fd, l:start, l:len, i:type, i:whence
出力: i:エラー
GFS_PROTO_UNLOCK,
入力: i:fd, l:start, l:len, i:type, i:whence
出力: i:エラー
GFS_PROTO_LOCK_INFO,
入力: i:fd, l:start, l:len, i:type, i:whence
出力: i:エラー
エラー == GFARM_ERR_NOERROR の場合:
l:start, l:len, i:type, s:host, l:pid
GFS_PROTO_REPLICA_ADD,
入力: i:fd
出力: i:エラー
GFS_PROTO_REPLICA_RECV,
XXX
出力: i:エラー
他の gfsd からのアクセス
replication manager からのアクセス?
GFS_PROTO_COMMAND,
いまのところ v1 と同じ
gfmd からの back channel
/* from gfmd */
GFS_PROTO_FHSTAT
入力 l:i_node_number, l:i_node_generation
出力: i:エラー
エラー == GFARM_ERR_NOERROR の場合:
l:size
l:atime_sec, i:atime_nsec,
l:mtime_sec, i:mtime_nsec,
gfmd から gfsd に対して、i-node 番号を指定して、
struct gfs_stat を問い合わせる。
GFS_PROTO_FHREMOVE
入力: l:i_node_number, l:i_node_generation
出力: i:エラー
|