Mmapの戻り値は?
返り値 mmap() は成功するとマップされた領域へのポインタを返す。 失敗すると値MAP_FAILED (つまり(void *) -1) を返し、 errno がエラーの内容にしたがってセットされる。 munmap() は成功すると 0 を返す。
Mmapの最大サイズは?
実際にはさらに制約が課されて使用可能サイズは 1TB までですが、 これは、ファイルシステムコード内のバグによるものです(ブロック番号計算を行っているときの桁落ち)。 2GB 制限のもうひとつの理由は、ファイルシステムメタデータが負のオフセットに存在できるということです。