<?xml version="1.0" encoding="UTF-8"?>
-<chapter version="5.0" xml:lang="en-US" xmlns="http://docbook.org/ns/docbook" xmlns:xl="http://www.w3.org/1999/xlink">
+<chapter version="5.0" xml:lang="en-US" xmlns="http://docbook.org/ns/docbook" xmlns:xl="http://www.w3.org/1999/xlink" xml:id='settinglustreproperties'>
<info>
- <title>Setting Lustre Properties in a C Program (llapi)</title>
+ <title xml:id='settinglustreproperties.title'>Setting Lustre Properties in a C Program (llapi)</title>
</info>
<para><anchor xml:id="dbdoclet.50438215_pgfId-1297638" xreflabel=""/>This chapter describes the llapi library of commands used for setting Lustre file properties within a C program running in a cluster environment, such as a data processing or MPI application. The commands described in this chapter are:</para>
<itemizedlist><listitem>
- <para><anchor xml:id="dbdoclet.50438215_pgfId-1296814" xreflabel=""/><link xl:href="SettingLustreProperties_HTML.html#50438215_30970">llapi_file_create</link></para>
+ <para><xref linkend="dbdoclet.50438215_30970"/></para>
</listitem>
+
<listitem>
- <para> </para>
+ <para><xref linkend="dbdoclet.50438215_50149"/></para>
</listitem>
+
<listitem>
- <para><anchor xml:id="dbdoclet.50438215_pgfId-1297652" xreflabel=""/><link xl:href="SettingLustreProperties_HTML.html#50438215_50149">llapi_file_get_stripe</link></para>
+ <para><xref linkend="dbdoclet.50438215_86607"/></para>
</listitem>
+
<listitem>
- <para> </para>
+ <para><xref linkend="dbdoclet.50438215_12433"/></para>
</listitem>
+
<listitem>
- <para><anchor xml:id="dbdoclet.50438215_pgfId-1297658" xreflabel=""/><link xl:href="SettingLustreProperties_HTML.html#50438215_86607">llapi_file_open</link></para>
- </listitem>
-<listitem>
- <para> </para>
- </listitem>
-<listitem>
- <para><anchor xml:id="dbdoclet.50438215_pgfId-1298853" xreflabel=""/><link xl:href="SettingLustreProperties_HTML.html#50438215_12433">llapi_quotactl</link></para>
- </listitem>
-<listitem>
- <para> </para>
- </listitem>
-<listitem>
- <para><anchor xml:id="dbdoclet.50438215_pgfId-1298974" xreflabel=""/><link xl:href="SettingLustreProperties_HTML.html#50438215_15718">llapi_path2fid</link></para>
- </listitem>
-<listitem>
- <para> </para>
+ <para><xref linkend="dbdoclet.50438215_15718"/></para>
</listitem>
+
</itemizedlist>
- <para><anchor xml:id="dbdoclet.50438215_pgfId-1298854" xreflabel=""/> </para>
- <informaltable frame="none">
- <tgroup cols="1">
- <colspec colname="c1" colwidth="100*"/>
- <tbody>
- <row>
- <entry><para><emphasis role="bold">Note -</emphasis><anchor xml:id="dbdoclet.50438215_pgfId-1298855" xreflabel=""/>Lustre programming interface man pages are found in the lustre/doc folder.</para></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- <section remap="h2">
- <title><anchor xml:id="dbdoclet.50438215_pgfId-1296828" xreflabel=""/></title>
- <section remap="h2">
- <title>34.1 <anchor xml:id="dbdoclet.50438215_30970" xreflabel=""/>llapi_file_create</title>
+
+ <note><para>Lustre programming interface man pages are found in the lustre/doc folder.</para></note>
+
+ <section xml:id="dbdoclet.50438215_30970">
+ <title>34.1 llapi_file_create</title>
<para><anchor xml:id="dbdoclet.50438215_pgfId-1296829" xreflabel=""/>Use llapi_file_create to set Lustre properties for a new file.</para>
<section remap="h5">
<title><anchor xml:id="dbdoclet.50438215_pgfId-1296830" xreflabel=""/>Synopsis</title>
</section>
<section remap="h5">
<title><anchor xml:id="dbdoclet.50438215_pgfId-1296833" xreflabel=""/>Description</title>
- <para><anchor xml:id="dbdoclet.50438215_pgfId-1296834" xreflabel=""/>The llapi_file_create() function sets a file descriptor’s Lustre striping information. The file descriptor is then accessed with open ().</para>
+ <para><anchor xml:id="dbdoclet.50438215_pgfId-1296834" xreflabel=""/>The llapi_file_create() function sets a file descriptor's Lustre striping information. The file descriptor is then accessed with open ().</para>
<informaltable frame="all">
<tgroup cols="2">
<colspec colname="c1" colwidth="50*"/>
<tbody>
<row>
<entry><para> <anchor xml:id="dbdoclet.50438215_pgfId-1296841" xreflabel=""/><emphasis role="bold">llapi_file_create()</emphasis></para></entry>
- <entry><para> <anchor xml:id="dbdoclet.50438215_pgfId-1296843" xreflabel=""/>If the file already exists, this parameter returns to ‘EEXIST’. If the stripe parameters are invalid, this parameter returns to ‘EINVAL’.</para></entry>
+ <entry><para> <anchor xml:id="dbdoclet.50438215_pgfId-1296843" xreflabel=""/>If the file already exists, this parameter returns to 'EEXIST'. If the stripe parameters are invalid, this parameter returns to 'EINVAL'.</para></entry>
</row>
<row>
<entry><para> <anchor xml:id="dbdoclet.50438215_pgfId-1296845" xreflabel=""/><emphasis role="bold">stripe_size</emphasis></para></entry>
</tbody>
</tgroup>
</informaltable>
- <informaltable frame="none">
- <tgroup cols="1">
- <colspec colname="c1" colwidth="100*"/>
- <tbody>
- <row>
- <entry><para><emphasis role="bold">Note -</emphasis><anchor xml:id="dbdoclet.50438215_pgfId-1296860" xreflabel=""/>Currently, only RAID 0 is supported. To use the system defaults, set these values: stripe_size = 0, stripe_offset = -1, stripe_count = 0, stripe_pattern = 0</para></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
+ <note><para>Currently, only RAID 0 is supported. To use the system defaults, set these values: stripe_size = 0, stripe_offset = -1, stripe_count = 0, stripe_pattern = 0</para></note>
</section>
<section remap="h5">
<title><anchor xml:id="dbdoclet.50438215_pgfId-1296861" xreflabel=""/>Examples</title>
<anchor xml:id="dbdoclet.50438215_pgfId-1296874" xreflabel=""/>rc = llapi_file_create(tfile, stripe_size,stripe_offset, stripe_count,strip\
e_pattern);
</screen>
- <para><anchor xml:id="dbdoclet.50438215_pgfId-1296875" xreflabel=""/>Result code is inverted, you may return with ’EINVAL’ or an ioctl error.</para>
+ <para><anchor xml:id="dbdoclet.50438215_pgfId-1296875" xreflabel=""/>Result code is inverted, you may return with 'EINVAL' or an ioctl error.</para>
<screen><anchor xml:id="dbdoclet.50438215_pgfId-1296876" xreflabel=""/>if (rc) {
<anchor xml:id="dbdoclet.50438215_pgfId-1296877" xreflabel=""/>fprintf(stderr,"llapi_file_create failed: %d (%s) 0, rc, strerror(-rc));retu\
rn -1; }
</screen>
<para><anchor xml:id="dbdoclet.50438215_pgfId-1296878" xreflabel=""/>llapi_file_create closes the file descriptor. You must re-open the descriptor. To do this, run:</para>
<screen><anchor xml:id="dbdoclet.50438215_pgfId-1296879" xreflabel=""/>fd = open(tfile, O_CREAT | O_RDWR | O_LOV_DELAY_CREATE, 0644); if (fd < 0) \\
- { fprintf(stderr, "Can’t open %s file: %s0, tfile,
+ { fprintf(stderr, "Can't open %s file: %s0, tfile,
<anchor xml:id="dbdoclet.50438215_pgfId-1296880" xreflabel=""/>str-
<anchor xml:id="dbdoclet.50438215_pgfId-1296881" xreflabel=""/>error(errno));
<anchor xml:id="dbdoclet.50438215_pgfId-1296882" xreflabel=""/>return -1;
</screen>
</section>
</section>
- <section remap="h2">
- <title>34.2 <anchor xml:id="dbdoclet.50438215_50149" xreflabel=""/>llapi_file_get_stripe</title>
+ <section xml:id="dbdoclet.50438215_50149">
+ <title>34.2 llapi_file_get_stripe</title>
<para><anchor xml:id="dbdoclet.50438215_pgfId-1296886" xreflabel=""/>Use llapi_file_get_stripe to get striping information for a file or directory on a Lustre file system.</para>
<section remap="h5">
<title><anchor xml:id="dbdoclet.50438215_pgfId-1296887" xreflabel=""/>Synopsis</title>
</row>
<row>
<entry><para> <anchor xml:id="dbdoclet.50438215_pgfId-1298322" xreflabel=""/><emphasis role="bold">l_object_id</emphasis></para></entry>
- <entry><para> <anchor xml:id="dbdoclet.50438215_pgfId-1298412" xreflabel=""/>Holds the OST’s object ID.</para></entry>
+ <entry><para> <anchor xml:id="dbdoclet.50438215_pgfId-1298412" xreflabel=""/>Holds the OST's object ID.</para></entry>
</row>
<row>
<entry><para> <anchor xml:id="dbdoclet.50438215_pgfId-1298326" xreflabel=""/><emphasis role="bold">l_object_seq</emphasis></para></entry>
- <entry><para> <anchor xml:id="dbdoclet.50438215_pgfId-1298427" xreflabel=""/>Holds the OST’s object group.</para></entry>
+ <entry><para> <anchor xml:id="dbdoclet.50438215_pgfId-1298427" xreflabel=""/>Holds the OST's object group.</para></entry>
</row>
<row>
<entry><para> <anchor xml:id="dbdoclet.50438215_pgfId-1298330" xreflabel=""/><emphasis role="bold">l_ost_gen</emphasis></para></entry>
- <entry><para> <anchor xml:id="dbdoclet.50438215_pgfId-1298442" xreflabel=""/>Holds the OST’s index generation.</para></entry>
+ <entry><para> <anchor xml:id="dbdoclet.50438215_pgfId-1298442" xreflabel=""/>Holds the OST's index generation.</para></entry>
</row>
<row>
<entry><para> <anchor xml:id="dbdoclet.50438215_pgfId-1298334" xreflabel=""/><emphasis role="bold">l_ost_idx</emphasis></para></entry>
- <entry><para> <anchor xml:id="dbdoclet.50438215_pgfId-1298461" xreflabel=""/>Holds the OST’s index in LOV.</para></entry>
+ <entry><para> <anchor xml:id="dbdoclet.50438215_pgfId-1298461" xreflabel=""/>Holds the OST's index in LOV.</para></entry>
</row>
</tbody>
</tgroup>
</screen>
</section>
</section>
- <section remap="h2">
- <title>34.3 <anchor xml:id="dbdoclet.50438215_86607" xreflabel=""/>llapi_file_open</title>
+ <section xml:id="dbdoclet.50438215_86607">
+ <title>34.3 llapi_file_open</title>
<para><anchor xml:id="dbdoclet.50438215_pgfId-1298469" xreflabel=""/>The llapi_file_open command opens (or creates) a file or device on a Lustre filesystem.</para>
<section remap="h5">
<title><anchor xml:id="dbdoclet.50438215_pgfId-1297361" xreflabel=""/>Synopsis</title>
</screen>
</section>
</section>
- <section remap="h2">
- <title>34.4 <anchor xml:id="dbdoclet.50438215_12433" xreflabel=""/>llapi_quotactl</title>
+ <section xml:id="dbdoclet.50438215_12433">
+ <title>34.4 llapi_quotactl</title>
<para><anchor xml:id="dbdoclet.50438215_pgfId-1297144" xreflabel=""/>Use llapi_quotactl to manipulate disk quotas on a Lustre file system.</para>
<section remap="h5">
<title><anchor xml:id="dbdoclet.50438215_pgfId-1297145" xreflabel=""/>Synopsis</title>
</informaltable>
</section>
</section>
- <section remap="h2">
- <title>34.5 <anchor xml:id="dbdoclet.50438215_15718" xreflabel=""/>llapi_path2fid</title>
+ <section xml:id="dbdoclet.50438215_15718">
+ <title>34.5 llapi_path2fid</title>
<para><anchor xml:id="dbdoclet.50438215_pgfId-1297262" xreflabel=""/>Use llapi_path2fid to get the FID from the pathname.</para>
<section remap="h5">
<title><anchor xml:id="dbdoclet.50438215_pgfId-1297263" xreflabel=""/>Synopsis</title>
<para><anchor xml:id="dbdoclet.50438215_pgfId-1297273" xreflabel=""/>non-zero value On failure</para>
</section>
</section>
- <section remap="h2">
- <title>34.6 Example <anchor xml:id="dbdoclet.50438215_marker-1297700" xreflabel=""/>Using the llapi Library</title>
- <para><anchor xml:id="dbdoclet.50438215_pgfId-1297702" xreflabel=""/>Use llapi_file_create to set Lustre properties for a new file. For a synopsis and description of llapi_file_create and examples of how to use it, see <link xl:href="ConfigurationFilesModuleParameters.html#50438293_72504">Chapter 35</link>: <link xl:href="ConfigurationFilesModuleParameters.html#50438293_66186">Configuration Files and Module Parameters</link>.</para>
+ <section xml:id="dbdoclet.50438215_marker-1297700">
+ <title>34.6 Example Using the llapi Library</title>
+ <para><anchor xml:id="dbdoclet.50438215_pgfId-1297702" xreflabel=""/>Use llapi_file_create to set Lustre properties for a new file. For a synopsis and description of llapi_file_create and examples of how to use it, see <xref linkend="configurationfilesmoduleparameters"/>.</para>
<para><anchor xml:id="dbdoclet.50438215_pgfId-1297709" xreflabel=""/>You can set striping from inside programs like ioctl. To compile the sample program, you need to download libtest.c and liblustreapi.c files from the Lustre source tree.</para>
<para><anchor xml:id="dbdoclet.50438215_pgfId-1297710" xreflabel=""/><emphasis role="bold">A simple C program to demonstrate striping API - libtest.c</emphasis></para>
<screen><anchor xml:id="dbdoclet.50438215_pgfId-1297711" xreflabel=""/>/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
</screen>
<section remap="h5">
<title><anchor xml:id="dbdoclet.50438215_pgfId-1297929" xreflabel=""/>See Also</title>
- <para><anchor xml:id="dbdoclet.50438215_pgfId-1297942" xreflabel=""/><link xl:href="SettingLustreProperties_HTML.html#50438215_30970">llapi_file_create</link>, <link xl:href="SettingLustreProperties_HTML.html#50438215_50149">llapi_file_get_stripe</link>, <link xl:href="SettingLustreProperties_HTML.html#50438215_86607">llapi_file_open</link>, <link xl:href="SettingLustreProperties_HTML.html#50438215_12433">llapi_quotactl</link></para>
- <para><anchor xml:id="dbdoclet.50438215_pgfId-1297943" xreflabel=""/> </para>
+ <para><anchor xml:id="dbdoclet.50438215_pgfId-1297942" xreflabel=""/>
+ <xref linkend="dbdoclet.50438215_30970"/>llapi_file_create,
+ <xref linkend="dbdoclet.50438215_50149"/>llapi_file_get_stripe,
+ <xref linkend="dbdoclet.50438215_86607"/>llapi_file_open,
+ <xref linkend="dbdoclet.50438215_12433"/>llapi_quotactl</para>
</section>
</section>
- </section>
</chapter>