I am trying to get the total number of available OSTs given a folder name, through calls of Luster user C APIs, but failed to do so, when a layout has no pool name. I have tried the followings.
At first, call llapi_layout_get_by_fd() to obtain a folder's 'layout'. llapi_layout_pool_name_get() returns successfully, but the returned pool_name is empty. llapi_getname() returns a valid fsname. llapi_get_poolmembers() returns -22 (i.e. -EINVAL), when using the 'fsname' as the argument 'poolname.' If I appended a dot, '.', to fsname, llapi_get_poolmembers() returns successfully, but the returned value is 0 (number of members). When doing my experiments on Polaris at ALCF, I have also tried the following lfs commands at the prompt of login node. % lfs pool_list /eagle Pools from eagle: % lfs getname -n /eagle eagle % lfs osts /eagle |wc -l 161 Command 'lfs osts /eagle' shows there are 160 OSTs. On Perlmutter at NERSC, its Lustre has a pool name, and thus I was able to make the above Lustre user API calls to retrieve the total number of available OSTs. In summary, my question is how do I properly make calls to Lustre user C APIs when a layout has no pool name? Wei-keng Liao _______________________________________________ lustre-discuss mailing list [email protected] http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org
