<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hi all,</p>
<p>I am making a call to <font face="Courier New, Courier,
monospace"><b>llapi_layout_get_by_fd()</b></font> from each
rank of a 16 rank MPI job. One rank per node. <br>
</p>
<p>About 75% of the time, one of the ranks, typically rank 0, takes
a very long time to complete this call. I have placed fprintf()
calls with wall clock timers around the call. If it does take a
long time it is generally about 260 seconds. Otherwise it takes
only micro-seconds.</p>
<p>How I access llapi_layout_get_by_fd() :<br>
</p>
<p><font face="Courier New, Courier, monospace">liblustreapi =
dlopen("liblustreapi.so", RTLD_LAZY ) ;<br>
LLAPI.layout_get_by_fd = dlsym( liblustreapi,
"llapi_layout_get_by_fd" ) ;<br>
</font></p>
<p><font face="Courier New, Courier, monospace">How I call
llapi_layout_get_by_fd() :<br>
if(dbg)fprintf(stderr,"%s %12.8f %s() before
LLAPI.layout_get_by_fd()\n",host,rtc(),__func__);<br>
struct llapi_layout *layout = (*LLAPI.layout_get_by_fd)( fd,
0);<br>
if(dbg)fprintf(stderr,"%s %12.8f %s() after
LLAPI.layout_get_by_fd()\n",host,rtc(),__func__);</font><br>
</p>
<p>The resulting prints from rank 0 :<br>
</p>
<p><font face="Courier New, Courier, monospace">r401i2n10
7.22477698 LustreLayout_get_by_fd() before
LLAPI.layout_get_by_fd()<br>
r401i2n10 269.52539992 LustreLayout_get_by_fd() after
LLAPI.layout_get_by_fd()</font></p>
<p>Any ideas on what might be triggering this. The layout returned
seems to be correct every time, whether it takes a long time or
not. The layout returned has the correct striping information,
but the component has no OSTs as the component has yet to be
instantiated for the new file.</p>
<p>cat /sys/fs/lustre/version</p>
<p>2.12.8_ddn12<br>
</p>
<p><br>
</p>
<p><br>
</p>
</body>
</html>