<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:40:26 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Whamcloud Community JIRA</title>
    <link>https://jira.whamcloud.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.4.14</version>
        <build-number>940014</build-number>
        <build-date>05-12-2023</build-date>
    </build-info>


<item>
            <title>[LU-4185] Incorrect permission handling when creating existing directories at ICHEC</title>
                <link>https://jira.whamcloud.com/browse/LU-4185</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;One of our customers is hitting what appears to be &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-1101&quot; title=&quot;ncorrect permission handling when creating existing directories&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-1101&quot;&gt;&lt;del&gt;LU-1101&lt;/del&gt;&lt;/a&gt;. They are also running torque, here is the message from the customer:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We use torque as resource manager and job start fails because of mkdir() returns EPERM. The only workaround we have for this is to not set the tmpdir in torque, which is suboptimal. Other applications might suffer the same bug. Quantum espresso is reported to fail as well (in the lustre bug report) and we have users running it.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;The bug was originally reported in bz 23459:&lt;br/&gt;
&lt;a href=&quot;https://bugzilla.lustre.org/show_bug.cgi?id=23459&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://bugzilla.lustre.org/show_bug.cgi?id=23459&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The patch which appears to be the root cause was added as part of bz 18534:&lt;br/&gt;
&lt;a href=&quot;https://bugzilla.lustre.org/show_bug.cgi?id=18534&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://bugzilla.lustre.org/show_bug.cgi?id=18534&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks.&lt;/p&gt;</description>
                <environment></environment>
        <key id="21717">LU-4185</key>
            <summary>Incorrect permission handling when creating existing directories at ICHEC</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.whamcloud.com/images/icons/priorities/major.svg">Major</priority>
                        <status id="5" iconUrl="https://jira.whamcloud.com/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="bobijam">Zhenyu Xu</assignee>
                                    <reporter username="rganesan@ddn.com">Rajeshwaran Ganesan</reporter>
                        <labels>
                    </labels>
                <created>Tue, 29 Oct 2013 22:05:42 +0000</created>
                <updated>Fri, 3 Nov 2017 15:38:37 +0000</updated>
                            <resolved>Tue, 6 Dec 2016 03:39:04 +0000</resolved>
                                    <version>Lustre 2.4.0</version>
                    <version>Lustre 2.1.4</version>
                    <version>Lustre 2.5.0</version>
                    <version>Lustre 2.6.0</version>
                                    <fixVersion>Lustre 2.9.0</fixVersion>
                                        <due></due>
                            <votes>2</votes>
                                    <watches>14</watches>
                                                                            <comments>
                            <comment id="70205" author="pjones" created="Tue, 29 Oct 2013 23:02:15 +0000"  >&lt;p&gt;Bobijam&lt;/p&gt;

&lt;p&gt;Could you please assist with this one?&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;

&lt;p&gt;Peter&lt;/p&gt;</comment>
                            <comment id="70255" author="bobijam" created="Wed, 30 Oct 2013 15:39:18 +0000"  >&lt;p&gt;This seems relate to certain kernel version, I tried linux-2.6.32-358.23.2.el6 with current master, which also has the same ll_lookup_nd code as in 2.1.4 lustre, and I&apos;ve tried both reproducer c code in bz23459, both test passed without the error, all of the mkdir return the expected errno 17 (EEXIST).&lt;/p&gt;

&lt;p&gt;What kernel are you using? I&apos;ll try it with 2.1.4 lustre code.&lt;/p&gt;</comment>
                            <comment id="70258" author="kitwestneat" created="Wed, 30 Oct 2013 15:49:05 +0000"  >&lt;p&gt;It looks like it&apos;s actually 2.1.5 on the servers, but 2.1.4 on the clients. Here are the kernel versions:&lt;br/&gt;
mds: 2.6.32-279.19.1.el6_lustre.es52.x86_64&lt;br/&gt;
client: 3.0.74-0.6.6-default&lt;/p&gt;

&lt;p&gt;client:&lt;br/&gt;
lustre-client-modules-kmp-default-2.1.4_3.0.74_0.6.8-5.1&lt;/p&gt;

&lt;p&gt;mds:&lt;br/&gt;
lustre-modules-2.1.5-ddn1.0_2.6.32_279.19.1.el6_lustre.es52.x86_64_ES.x86_64&lt;/p&gt;</comment>
                            <comment id="70262" author="bobijam" created="Wed, 30 Oct 2013 16:00:31 +0000"  >&lt;p&gt;can you collect -1 logs of the client and the mds?&lt;/p&gt;</comment>
                            <comment id="70335" author="bobijam" created="Thu, 31 Oct 2013 06:15:18 +0000"  >&lt;p&gt;I downloaded 3.0.74 kernel and failed build 2.1.4 lustre client upon it. (We don&apos;t support 3.0 kernel on 2.1.x lustre yet). Can you teach me how to build it? &lt;/p&gt;

&lt;p&gt;Also I&apos;d still like to have -1 logs of the client and the mds to do log analysis. &lt;/p&gt;

&lt;p&gt;Thank you.&lt;/p&gt;</comment>
                            <comment id="70361" author="kitwestneat" created="Thu, 31 Oct 2013 13:37:39 +0000"  >&lt;p&gt;I think it&apos;s actually the SLES11 SP2 kernel:&lt;br/&gt;
&lt;a href=&quot;https://jira.hpdd.intel.com/browse/LU-3292&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://jira.hpdd.intel.com/browse/LU-3292&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We are working on getting the lnet.debug=-1 logs. &lt;/p&gt;</comment>
                            <comment id="70475" author="enricoichec" created="Fri, 1 Nov 2013 14:18:08 +0000"  >&lt;p&gt;Hi I&apos;m the ICHEC Systems Administrator reporting the problem. I want to point out the directory torque tries to create doesn&apos;t exist:&lt;/p&gt;

&lt;p&gt;The lustre filesystem on the client is mounted at /ichec/work and the torque tmpdir is set to /ichec/work/scratch/tmp/ which means torque will try to create /ichec/work/scratch/tmp/$JOB_ID which is unique, thus not existing. The C code snipped failing from the version of torque we are using (4.2.5) should be:&lt;/p&gt;

&lt;p&gt;  part = strtok(path, &quot;/&quot;);&lt;/p&gt;

&lt;p&gt;  if (part == NULL)&lt;/p&gt;
    {
    rc = -1;

    goto done;
    }

&lt;p&gt;  &lt;b&gt;(part - 1) = &apos;/&apos;;  /&lt;/b&gt; leading &apos;/&apos; */&lt;/p&gt;

&lt;p&gt;  while ((part = strtok(NULL, &quot;/&quot;)) != NULL)&lt;br/&gt;
    {&lt;br/&gt;
    if (mkdir(path, mode) == -1)&lt;br/&gt;
      {&lt;br/&gt;
      if (errno != EEXIST)&lt;/p&gt;
        {
        rc = errno;

        goto done;
        }
&lt;p&gt;      }&lt;/p&gt;

&lt;p&gt;    *(part - 1) = &apos;/&apos;;&lt;br/&gt;
    }&lt;/p&gt;

&lt;p&gt;  /* very last component */&lt;/p&gt;

&lt;p&gt;  if (mkdir(path, mode) == -1)&lt;br/&gt;
    {&lt;br/&gt;
    if (errno != EEXIST)&lt;/p&gt;
      {
      rc = errno;

      goto done;
      }
&lt;p&gt;    }&lt;/p&gt;

&lt;p&gt;This code tries to create the whole tree first, in case it doesn&apos;t exist. In our case only the very last component is the only one not existing.&lt;/p&gt;

&lt;p&gt;Note that if I tried too the reproduces from LU #1101 and I failed reproducing the bug with it for now. The only way to be 100% sure the bug will show itself is to reboot the node and submit a torque job.&lt;/p&gt;</comment>
                            <comment id="70477" author="enricoichec" created="Fri, 1 Nov 2013 14:43:40 +0000"  >&lt;p&gt;Update: I found a way to reproduce the issue using the reproducer code from the original bz entry, and I was wrong about the direcotry triggering the problem: it the already existing one. Sorry for the confusion. I guess I run the command the wrong way in my previous attempts.&lt;/p&gt;

&lt;p&gt;enrico@r3i1n14:~/mkdirbug/reproduce&amp;gt; ./reproducer /ichec/work/scratch/tmp/&lt;br/&gt;
Iteration: 1&lt;br/&gt;
    mkdir(/ichec/work/scratch, 493) : Permission denied&lt;br/&gt;
mkdirtree /ichec/work/scratch/tmp/1804289383 : failed: rc=13 (Permission denied)&lt;/p&gt;

&lt;p&gt;Python can reproduce this easily as well:&lt;/p&gt;

&lt;p&gt;enrico@r3i1n14:~/mkdirbug/reproduce&amp;gt; python&lt;br/&gt;
Python 2.6.8 (unknown, May 29 2012, 22:30:44) &lt;br/&gt;
[GCC 4.3.4 &lt;span class=&quot;error&quot;&gt;&amp;#91;gcc-4_3-branch revision 152973&amp;#93;&lt;/span&gt;] on linux2&lt;br/&gt;
Type &quot;help&quot;, &quot;copyright&quot;, &quot;credits&quot; or &quot;license&quot; for more information.&lt;br/&gt;
&amp;gt;&amp;gt;&amp;gt; from os import mkdir&lt;br/&gt;
&amp;gt;&amp;gt;&amp;gt; mkdir(&apos;/ichec/work/scratch/tmp&apos;)&lt;br/&gt;
Traceback (most recent call last):&lt;br/&gt;
  File &quot;&amp;lt;stdin&amp;gt;&quot;, line 1, in &amp;lt;module&amp;gt;&lt;br/&gt;
OSError: &lt;span class=&quot;error&quot;&gt;&amp;#91;Errno 13&amp;#93;&lt;/span&gt; Permission denied: &apos;/ichec/work/scratch/tmp&apos;&lt;br/&gt;
&amp;gt;&amp;gt;&amp;gt; mkdir(&apos;/ichec/work/scratch/tmp&apos;)&lt;br/&gt;
Traceback (most recent call last):&lt;br/&gt;
  File &quot;&amp;lt;stdin&amp;gt;&quot;, line 1, in &amp;lt;module&amp;gt;&lt;br/&gt;
OSError: &lt;span class=&quot;error&quot;&gt;&amp;#91;Errno 13&amp;#93;&lt;/span&gt; Permission denied: &apos;/ichec/work/scratch/tmp&apos;&lt;br/&gt;
&amp;gt;&amp;gt;&amp;gt; from os import stat&lt;br/&gt;
&amp;gt;&amp;gt;&amp;gt; stat(&apos;/ichec/work/scratch/tmp&apos;)&lt;br/&gt;
posix.stat_result(st_mode=17407, st_ino=144122436235821058, st_dev=2903758926L, st_nlink=5, st_uid=0, st_gid=0, st_size=4096, st_atime=1383316840, st_mtime=1383316845, st_ctime=1383316845)&lt;br/&gt;
&amp;gt;&amp;gt;&amp;gt; mkdir(&apos;/ichec/work/scratch/tmp&apos;)&lt;br/&gt;
Traceback (most recent call last):&lt;br/&gt;
  File &quot;&amp;lt;stdin&amp;gt;&quot;, line 1, in &amp;lt;module&amp;gt;&lt;br/&gt;
OSError: &lt;span class=&quot;error&quot;&gt;&amp;#91;Errno 17&amp;#93;&lt;/span&gt; File exists: &apos;/ichec/work/scratch/tmp&apos;&lt;/p&gt;</comment>
                            <comment id="70484" author="bogl" created="Fri, 1 Nov 2013 15:33:31 +0000"  >&lt;p&gt;I&apos;m trying to reproduce but can&apos;t get it to happen.  No matter what I do I only see errno 17, EEXIST.  I never get errno 13, EACCESS.  I&apos;ve tried both sles11sp2 clients and centos6.4 clients and see the same behavior.&lt;/p&gt;

&lt;p&gt;What are the permissions in all the intermediate dirs in your path?  I note that all your stats show st_uid=0, st_gid=0.  I assume that means you are running and creating all your dirs as root?&lt;/p&gt;

&lt;p&gt;If you could just be a little more clear of the exact sequence of cmds to reproduce the problem it would be a big help.&lt;/p&gt;</comment>
                            <comment id="70488" author="enricoichec" created="Fri, 1 Nov 2013 15:52:34 +0000"  >&lt;p&gt;Sorry, following are more details. If you need something else ask&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;directories permissions after the example&lt;/li&gt;
	&lt;li&gt;node just booted&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;enrico@r3i0n0:~&amp;gt; mount | grep &apos;type lustre&apos;&lt;br/&gt;
10.148.100.60@o2ib:10.148.100.61@o2ib:/home on /ichec/home type lustre (rw,_netdev,localflock)&lt;br/&gt;
10.148.100.60@o2ib:10.148.100.61@o2ib:/work on /ichec/work type lustre (rw,_netdev,localflock)&lt;br/&gt;
enrico@r3i0n0:~&amp;gt; # note it happens without localflock as well&lt;br/&gt;
enrico@r3i0n0:~&amp;gt; pwd&lt;br/&gt;
/ichec/home/staff/enrico&lt;br/&gt;
enrico@r3i0n0:~&amp;gt; python&lt;br/&gt;
Python 2.6.8 (unknown, May 29 2012, 22:30:44) &lt;br/&gt;
[GCC 4.3.4 &lt;span class=&quot;error&quot;&gt;&amp;#91;gcc-4_3-branch revision 152973&amp;#93;&lt;/span&gt;] on linux2&lt;br/&gt;
Type &quot;help&quot;, &quot;copyright&quot;, &quot;credits&quot; or &quot;license&quot; for more information.&lt;br/&gt;
&amp;gt;&amp;gt;&amp;gt; from os import mkdir&lt;br/&gt;
&amp;gt;&amp;gt;&amp;gt; mkdir(&apos;/ichec/work/scratch/tmp&apos;)&lt;br/&gt;
Traceback (most recent call last):&lt;br/&gt;
  File &quot;&amp;lt;stdin&amp;gt;&quot;, line 1, in &amp;lt;module&amp;gt;&lt;br/&gt;
OSError: &lt;span class=&quot;error&quot;&gt;&amp;#91;Errno 13&amp;#93;&lt;/span&gt; Permission denied: &apos;/ichec/work/scratch/tmp&apos;&lt;/p&gt;

&lt;p&gt;&amp;gt;&amp;gt;&amp;gt; from os import stat&lt;br/&gt;
&amp;gt;&amp;gt;&amp;gt; stat(&apos;/ichec/work/scratch/tmp&apos;)&lt;br/&gt;
posix.stat_result(st_mode=17407, st_ino=144122436235821058, st_dev=2903758926L, st_nlink=4, st_uid=0, st_gid=0, st_size=4096, st_atime=1383319699, st_mtime=1383320272, st_ctime=1383320272)&lt;br/&gt;
&amp;gt;&amp;gt;&amp;gt; mkdir(&apos;/ichec/work/scratch/tmp&apos;)&lt;br/&gt;
Traceback (most recent call last):&lt;br/&gt;
  File &quot;&amp;lt;stdin&amp;gt;&quot;, line 1, in &amp;lt;module&amp;gt;&lt;br/&gt;
OSError: &lt;span class=&quot;error&quot;&gt;&amp;#91;Errno 17&amp;#93;&lt;/span&gt; File exists: &apos;/ichec/work/scratch/tmp&apos;&lt;/p&gt;

&lt;p&gt;This is the simplest way to reproduce the issue.&lt;/p&gt;

&lt;p&gt;Permission of the tmpdir&lt;br/&gt;
enrico@r3i0n0:~&amp;gt; ls -ld /ichec/work/scratch/tmp&lt;br/&gt;
drwxrwxrwt 4 root root 4096 Nov  1 15:37 /ichec/work/scratch/tmp&lt;br/&gt;
enrico@r3i0n0:~&amp;gt; ls -ld /ichec/work/scratch/&lt;br/&gt;
drwxr-xr-x 3 root root 4096 Oct 29 14:21 /ichec/work/scratch/&lt;br/&gt;
enrico@r3i0n0:~&amp;gt; ls -ld /ichec/work/&lt;br/&gt;
drwxr-xr-x 10 root root 4096 Oct 24 15:46 /ichec/work/&lt;br/&gt;
enrico@r3i0n0:~&amp;gt; ls -ld /ichec/&lt;br/&gt;
drwxr-xr-x 4 root root 61 Sep 30 17:14 /ichec/&lt;br/&gt;
enrico@r3i0n0:~&amp;gt; ls -ld /&lt;br/&gt;
drwxr-xr-x 24 root root 4096 Oct 22 11:20 /&lt;/p&gt;

&lt;p&gt;Using the C program reproducer (updated version, more readable) from the original BZ:&lt;/p&gt;

&lt;p&gt;enrico@r3i0n1:~/mkdirbug/reproduce&amp;gt; pwd&lt;br/&gt;
/ichec/home/staff/enrico/mkdirbug/reproduce&lt;br/&gt;
enrico@r3i0n1:~/mkdirbug/reproduce&amp;gt; ./reproducer /ichec/work/scratch/tmp/&lt;br/&gt;
Iteration: 1&lt;br/&gt;
    mkdir(/ichec/work/scratch, 493) : Permission denied&lt;br/&gt;
mkdirtree /ichec/work/scratch/tmp/1804289383 : failed: rc=13 (Permission denied) &lt;br/&gt;
Iteration: 2&lt;br/&gt;
doing stat before creating directory&lt;/p&gt;


&lt;p&gt;ERROR: inconsistency detected: previous rc: 13 vs current rc: 0&lt;/p&gt;

&lt;p&gt;The error doesn&apos;t happen if you are executing the program from the tmpdir (obviously):&lt;br/&gt;
enrico@r3i0n2:/ichec/work/scratch/tmp&amp;gt; pwd&lt;br/&gt;
/ichec/work/scratch/tmp&lt;br/&gt;
enrico@r3i0n2:/ichec/work/scratch/tmp&amp;gt; ./reproducer /ichec/work/scratch/tmp/&lt;br/&gt;
Iteration: 1&lt;br/&gt;
Iteration: 2&lt;br/&gt;
doing stat before creating directory&lt;br/&gt;
Iteration: 3&lt;br/&gt;
Iteration: 4&lt;br/&gt;
doing stat before creating directory&lt;/p&gt;

&lt;p&gt;Thank you&lt;br/&gt;
Enrico&lt;/p&gt;</comment>
                            <comment id="70489" author="bogl" created="Fri, 1 Nov 2013 16:07:18 +0000"  >&lt;p&gt;Could you please attach the source of your C program reproducer?  I might find that easier to work with and a stronger guarantee that I&apos;m trying the exact same thing as you.&lt;/p&gt;

&lt;p&gt;I note your mount flags show _netdev.  I&apos;m not familiar with that option.  What is it?  Doubt it&apos;s related but I want to pin down all the diffs between you and me.&lt;/p&gt;</comment>
                            <comment id="70505" author="enricoichec" created="Fri, 1 Nov 2013 16:57:06 +0000"  >&lt;p&gt;This is the source code for the reproducer&lt;/p&gt;</comment>
                            <comment id="70507" author="bogl" created="Fri, 1 Nov 2013 17:10:23 +0000"  >&lt;p&gt;Thank you for your reproducer.  Seems to run fine for me, no error:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;# ./reproducer /mnt/lustre/tmp
Iteration: 1
Iteration: 2
doing stat before creating directory
Iteration: 3
Iteration: 4
doing stat before creating directory
Iteration: 5
Iteration: 6
doing stat before creating directory
Iteration: 7
Iteration: 8
doing stat before creating directory
Iteration: 9
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;I am running as root.  I am running on a current sles11sp2 client.  Will try rolling back to a 2.1 lustre version client to see if the problem is version specific.&lt;/p&gt;</comment>
                            <comment id="70509" author="kitwestneat" created="Fri, 1 Nov 2013 17:41:54 +0000"  >&lt;p&gt;Here are the debug=-1 logs that requested previously:&lt;br/&gt;
&lt;a href=&quot;http://ddntsr.com/ftp/2013-11-01-SR-27367_r3i1n15.dk-log.tar.gz&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://ddntsr.com/ftp/2013-11-01-SR-27367_r3i1n15.dk-log.tar.gz&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://ddntsr.com/ftp/2013-11-01-SR-27367_mkd2.dk-log.tar.gz&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://ddntsr.com/ftp/2013-11-01-SR-27367_mkd2.dk-log.tar.gz&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Is there any reason to think that it&apos;s not the same issue identified by Hongchao in bz 23459? It appears that the potentially incorrect namedata lookup shortcut is still in llite/namei.c.&lt;/p&gt;</comment>
                            <comment id="70510" author="bobijam" created="Fri, 1 Nov 2013 17:48:52 +0000"  >&lt;p&gt;I think that patch can cure this issue. Just want to understand further.&lt;/p&gt;</comment>
                            <comment id="70516" author="kitwestneat" created="Fri, 1 Nov 2013 18:23:48 +0000"  >&lt;p&gt;Ok cool, just want to make sure we are all on the same page. I was looking at the client dk and I think that code path is hit here:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;00000080:00002000:0.0:1383306592.567518:0:4982:0:(dcache.c:116:ll_dcompare()) found name tmp(ffff880840b64500) flags 0x20e010 refc 1
00000080:00000001:0.0:1383306592.567519:0:4982:0:(dcache.c:123:ll_dcompare()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=1 : 1 : 1)
00000080:00000001:0.0:1383306592.567520:0:4982:0:(namei.c:571:ll_lookup_nd()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
00000080:00000001:0.0:1383306592.567521:0:4982:0:(dcache.c:199:ll_set_dd()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
00000080:00002000:0.0:1383306592.567521:0:4982:0:(dcache.c:204:ll_set_dd()) ldd on dentry tmp (ffff88083d4152c0) parent ffff88084c088180 inode           (&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;) refc 1
00000080:00000010:0.0:1383306592.567522:0:4982:0:(dcache.c:209:ll_set_dd()) kmalloced &lt;span class=&quot;code-quote&quot;&gt;&apos;lld&apos;&lt;/span&gt;: 104 at ffff88084c721dc0.
00000080:00000001:0.0:1383306592.567523:0:4982:0:(dcache.c:222:ll_set_dd()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=0 : 0 : 0)
00000080:00000001:0.0:1383306592.567523:0:4982:0:(namei.c:593:ll_lookup_nd()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=0 : 0 : 0)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I can&apos;t tell if it&apos;s returning EPERM because of that though.&lt;/p&gt;</comment>
                            <comment id="70589" author="bobijam" created="Mon, 4 Nov 2013 07:44:33 +0000"  >&lt;p&gt;I think it could relates to the discretionary access control of the fs, if the running task does not has CAP_DAC_OVERRIDE capability (i.e. override DAC access), this issue could happen. &lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; generic_permission(struct inode *inode, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; mask,
                &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; (*check_acl)(struct inode *inode, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; mask))
{
        &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; ret;

        /*
         * Do the basic POSIX ACL permission checks.
         */
        ret = acl_permission_check(inode, mask, check_acl);
        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (ret != -EACCES)
                &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; ret;

        /*
         * Read/write DACs are always overridable.
         * Executable DACs are overridable &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; at least one exec bit is set.
         */
        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!(mask &amp;amp; MAY_EXEC) || execute_ok(inode))
                &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (capable(CAP_DAC_OVERRIDE))
                        &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; 0;

        /*
         * Searching includes executable on directories, &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; just read.
         */
        mask &amp;amp;= MAY_READ | MAY_WRITE | MAY_EXEC;
        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (mask == MAY_READ || (S_ISDIR(inode-&amp;gt;i_mode) &amp;amp;&amp;amp; !(mask &amp;amp; MAY_WRITE)))
                &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (capable(CAP_DAC_READ_SEARCH))
                        &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; 0;

        &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; -EACCES;
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="70590" author="bobijam" created="Mon, 4 Nov 2013 07:46:04 +0000"  >&lt;p&gt;with patch in bz 23459, the -EEXIST would be detected before this permission checking.&lt;/p&gt;</comment>
                            <comment id="70592" author="bobijam" created="Mon, 4 Nov 2013 08:50:02 +0000"  >&lt;p&gt;Hi Oleg,&lt;/p&gt;

&lt;p&gt;Could you take a look, I am still confused what the root cause of the -EACCES (I think its from the checking of the parent of the last dir dentry, but I don&apos;t know what the relationship it has with the existing dir, if we are to create non-existing dir, the same permission checking  path still will go through).&lt;/p&gt;</comment>
                            <comment id="70642" author="kitwestneat" created="Mon, 4 Nov 2013 18:57:45 +0000"  >&lt;p&gt;I think the issue is that the application code (Torque) uses mkdir to check for existence, even if it does not have permission to create the directory. Lustre believes that the directory doesn&apos;t exist, even though it does, so it does a permissions check to see if Torque can create the directory, which fails. These applications require that mkdir return EEXIST before checking permissions. &lt;/p&gt;

&lt;p&gt;Bob, I think you need to run the reproducer as a non-privileged user in order for it to work. The directory should exist, but the user should not have permission to create it. The expected error is EEXIST, but because of the bug you will get EACCESS. Here are the instructions for how to use the reproducer from the bugzilla ticket linked earlier:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Short instruction:&lt;br/&gt;
to reproduce the bug:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;as root&lt;br/&gt;
mkdir &amp;lt;lustre_root&amp;gt;/test -m755&lt;br/&gt;
chown root:root &amp;lt;lustre_root&amp;gt;/test&lt;br/&gt;
mkdir &amp;lt;lustre_root&amp;gt;/scratch -m1777&lt;/li&gt;
	&lt;li&gt;as user (su - someuser)&lt;br/&gt;
gcc lustre-test.c -o test&lt;br/&gt;
./test &amp;lt;lustre_root&amp;gt;/scratch/&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;</comment>
                            <comment id="70972" author="kitwestneat" created="Thu, 7 Nov 2013 14:44:18 +0000"  >&lt;p&gt;Any updates? Should we try the patch from bz 23459?&lt;/p&gt;</comment>
                            <comment id="70974" author="bobijam" created="Thu, 7 Nov 2013 14:52:54 +0000"  >&lt;p&gt;yes, I think you can try that patch. But I&apos;m not sure to include it in the source tree, since it would kill a little open &amp;amp; create performance, while just to return different error code for creating existing directory scenario.&lt;/p&gt;

&lt;p&gt;Let&apos;s try it first, to see whether it can handle the issue which torque meets.&lt;/p&gt;</comment>
                            <comment id="70987" author="kitwestneat" created="Thu, 7 Nov 2013 16:42:11 +0000"  >&lt;p&gt;Ok, sounds good. I wonder what the performance hit is, is there any automated mdtest&apos;ing done? I&apos;ll let you know how it goes. &lt;/p&gt;


</comment>
                            <comment id="71350" author="paf" created="Tue, 12 Nov 2013 18:25:51 +0000"  >&lt;p&gt;Just a quick note - We&apos;re seeing this as well at Cray, both on 2.4.1 on SLES and master on CentOS.&lt;/p&gt;

&lt;p&gt;I&apos;ve got a simpler reproducer as well.&lt;/p&gt;

&lt;p&gt;As root:&lt;br/&gt;
mkdir test&lt;br/&gt;
cd test&lt;br/&gt;
mkdir test2&lt;br/&gt;
su &lt;span class=&quot;error&quot;&gt;&amp;#91;another_user&amp;#93;&lt;/span&gt;&lt;br/&gt;
mkdir test2&lt;br/&gt;
^-- This hits EPERM, when it should be EEXIST.&lt;/p&gt;

&lt;p&gt;If you then do ls -l and try again, you get EEXIST as expected.&lt;br/&gt;
(By the way, this hints at a work around that our application code is planning to try - stat the directory to be &apos;created&apos; first.)&lt;/p&gt;

&lt;p&gt;I&apos;ll test the suggested patch against master.&lt;/p&gt;</comment>
                            <comment id="71354" author="bogl" created="Tue, 12 Nov 2013 18:42:45 +0000"  >&lt;p&gt;Patrick,&lt;br/&gt;
  Using your simple command line reproducer I can see the problem with a 2.4.1 sles11sp2 client, but not with a current master sles11sp2 client.  I have to assume it was fixed somewhere along the way since 2.4.1&lt;/p&gt;</comment>
                            <comment id="71355" author="paf" created="Tue, 12 Nov 2013 18:47:42 +0000"  >&lt;p&gt;Bob,&lt;/p&gt;

&lt;p&gt;Interesting!  The version of master I tested against was slightly out of date.  I&apos;ll rebuild and test again with the latest.&lt;/p&gt;

&lt;p&gt;For what it&apos;s worth, my testing of master was on CentOS.&lt;/p&gt;

&lt;p&gt;Also, I forgot to specify, but the SLES I used with 2.4.1 was SLES11SP2 (as in your test).&lt;/p&gt;</comment>
                            <comment id="71360" author="paf" created="Tue, 12 Nov 2013 19:28:58 +0000"  >&lt;p&gt;Bob,&lt;/p&gt;

&lt;p&gt;I just tested with a fresh pull of master on CentOS and I&apos;m still seeing the issue as described.&lt;br/&gt;
Perhaps you accidentally stated the directory when you were testing on master?  Or there could be some interaction between master and SLES11SP2.&lt;/p&gt;

&lt;p&gt;The patch from bz 23459 does fix my reproducer.  Still, as noted about, there&apos;s a possible performance impact.&lt;/p&gt;</comment>
                            <comment id="71362" author="bogl" created="Tue, 12 Nov 2013 19:35:42 +0000"  >&lt;p&gt;Patrick,&lt;/p&gt;

&lt;p&gt;You are entirely correct.  I must have mistyped something during my master test.  Reran the experiment.  Now seeing the problem reproduce with both 2.4.1 and master sles11sp2 clients.  EPERM reported instead of EEXIST in both cases.&lt;/p&gt;</comment>
                            <comment id="71380" author="bogl" created="Tue, 12 Nov 2013 23:09:14 +0000"  >&lt;p&gt;Have also confirmed the same failure can be seen with current master on sles11sp3 clients as well.  EPERM instead of EEXIST reported there too.  I believe this is good evidence that the problem really is in lustre client code, is still there in current master, and the specific distro or kernel version doesn&apos;t matter.&lt;/p&gt;</comment>
                            <comment id="71395" author="bobijam" created="Wed, 13 Nov 2013 08:16:27 +0000"  >&lt;p&gt;The patch is tracking at &lt;a href=&quot;http://review.whamcloud.com/8257&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/8257&lt;/a&gt;, but I&apos;m not sure to include it in the source tree, since it would kill a little open &amp;amp; create performance, while just to return a different error code for creating existing directory scenario.&lt;/p&gt;</comment>
                            <comment id="71397" author="enricoichec" created="Wed, 13 Nov 2013 09:35:53 +0000"  >&lt;p&gt;Hi Zhenyu,&lt;/p&gt;

&lt;p&gt;mkdir() of an existing directory return EEXIST on common filesystems, whatever the permission is. I have no idea if there is a standard mandating that or it is just common usage, but if lustre is going to make something different it will break a lot of workflows, for the good of performances. A lot of applications will need to add a stat before the creation useful only when lustre is the underlaying file system, leading to a performance hit anyway.&lt;/p&gt;

&lt;p&gt;From the performance PoV this is indeed not the ideal solution, but if you are trying to make a directory I think you really want to know first if it exists already, before knowing if you have the right permission to create it or not.&lt;/p&gt;

&lt;p&gt;Kind regards&lt;br/&gt;
Enrico&lt;/p&gt;</comment>
                            <comment id="92858" author="paf" created="Fri, 29 Aug 2014 20:56:52 +0000"  >&lt;p&gt;One additional thing about this that bothers me:&lt;br/&gt;
It seems very  undesirable that the value returned for an operation in a directory would change depending on whether or not you&apos;ve read the directory contents recently.&lt;/p&gt;

&lt;p&gt;It would be nice to have this addressed:&lt;br/&gt;
Is this issue that Intel expects to fix, either with the patch already suggested, or some other way, or is this a minor divergence from POSIX that Intel&apos;s planning to keep in order to achieve better performance?&lt;/p&gt;</comment>
                            <comment id="121432" author="paf" created="Thu, 16 Jul 2015 14:30:03 +0000"  >&lt;p&gt;Yuck - I recommend abandoning this change.  I just took a closer look at the performance impact, and it&apos;s &lt;b&gt;bad&lt;/b&gt;.&lt;/p&gt;

&lt;p&gt;Below are single node mdtest results.  The directory creation is what&apos;s interesting - As that is create without open, which is the case we&apos;re optimizing away (and the patch would undo that optimization).  File creates are create+open, and as expected, the performance doesn&apos;t change.&lt;br/&gt;
I don&apos;t think sacrificing 30-50% of our create performance is worth fixing a quite obscure bit of aberrant behavior.&lt;/p&gt;

&lt;p&gt;Without the fix in place:&lt;br/&gt;
SUMMARY: (of 10 iterations)&lt;br/&gt;
   Operation                      Max            Min Mean        Std Dev&lt;br/&gt;
   ---------                      &amp;#8212;            &amp;#8212; ----        -------&lt;br/&gt;
   Directory creation:       1799.957       1636.083 1736.426         55.974&lt;br/&gt;
Perf_Data mdtest              1   Dir_create   1736.426 ops/sec&lt;br/&gt;
   File creation     :       1253.821        985.786 1130.595         65.472&lt;br/&gt;
Perf_Data mdtest              1  File_create   1130.595 ops/sec&lt;br/&gt;
   Tree creation     :       1968.233       1540.891 1771.710        126.015&lt;br/&gt;
Perf_Data mdtest              1  Tree_create   1771.710 ops/sec&lt;/p&gt;


&lt;p&gt;With the fix in place, same node, same system:&lt;br/&gt;
SUMMARY: (of 10 iterations)&lt;br/&gt;
   Operation                      Max            Min           Mean        Std Dev&lt;br/&gt;
   ---------                      &amp;#8212;            &amp;#8212;           ----        -------&lt;br/&gt;
   Directory creation:       1252.500       1027.566       1196.570         61.338&lt;br/&gt;
Perf_Data mdtest              1   Dir_create   1196.570 ops/sec&lt;br/&gt;
   File creation     :       1182.596       1070.822       1118.642         35.296&lt;br/&gt;
   Tree creation     :       1009.946        864.270        919.236         43.143&lt;br/&gt;
Perf_Data mdtest              1  Tree_create    919.236 ops/sec&lt;/p&gt;

&lt;p&gt;Like I said, 30-50% drop in performance.  Yuck.&lt;/p&gt;</comment>
                            <comment id="142217" author="dtrudg" created="Mon, 15 Feb 2016 21:31:50 +0000"  >&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;We are a DDN customer, who recently hit this issue with (I believe) 2 packages.&lt;/p&gt;

&lt;p&gt;Firstly, running MATLAB 2014b and later we receive &apos;Permission Denied&apos; errors when using MATLAB&apos;s built-in mkdir function to create a nested directory structure on our lustre fs. Using MATLAB&apos;s system command to call out to shell &apos;mkdir -p&apos; always works without issue. Mathworks investigated for us, but indicated they can&apos;t support lustre. MATLAB&apos;s in-built mkdir works prior to 2014a, so (after coming across the 2nd example) I think it&apos;s related to this &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-4185&quot; title=&quot;Incorrect permission handling when creating existing directories at ICHEC&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-4185&quot;&gt;&lt;del&gt;LU-4185&lt;/del&gt;&lt;/a&gt;, I&apos;ve contacted them again with some more info - to see if EPERM instead of EEXIST makes sense. (I&apos;m guessing it does since MATLAB is reporting a Permission Denied error for the failing mkdir calls).&lt;/p&gt;

&lt;p&gt;The second occurrence thing that led me here was failing output directory creation for the cufflinks bioinformatics tool on the lustre fs. Code is available, and I was able to take their implementation of mkpath (for recursive directory creation) and see that it failed trying to run mkdir on an existing path - receiving EPERM not EEXIST. The relevant code is here:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/cole-trapnell-lab/cufflinks/blob/master/src/common.cpp&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/cole-trapnell-lab/cufflinks/blob/master/src/common.cpp&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Search mkpath, currently line 262.&lt;/p&gt;

&lt;p&gt;I can make a patch to cufflinks to run a stat before attempting a mkdir, rather than just relying on mkdir returning EEXIST. However, it would be nice to know if there is ongoing work to try and address this.&lt;/p&gt;

&lt;p&gt;Thanks.&lt;/p&gt;





</comment>
                            <comment id="142219" author="dtrudg" created="Mon, 15 Feb 2016 21:44:47 +0000"  >&lt;p&gt;Issue ref for the cufflinks package we have the problem with: &lt;a href=&quot;https://github.com/cole-trapnell-lab/cufflinks/issues/53&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/cole-trapnell-lab/cufflinks/issues/53&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="144248" author="bobijam" created="Tue, 1 Mar 2016 06:27:13 +0000"  >&lt;p&gt;updated the &lt;a href=&quot;http://review.whamcloud.com/8257&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/8257&lt;/a&gt; to address this issue while not impacting the performance.&lt;/p&gt;</comment>
                            <comment id="144290" author="bobijam" created="Tue, 1 Mar 2016 14:16:56 +0000"  >&lt;p&gt;Though the updated patch can solve this issue, it raises another issue which is that it will ignore ACL permission failure opon directories. &lt;/p&gt;</comment>
                            <comment id="144310" author="bobijam" created="Tue, 1 Mar 2016 16:10:07 +0000"  >&lt;p&gt;Updated the patch which adds a client proc entry to control whether bypass this optimization, by default, this optimization is turned on. And with special applications which only check EEXIST return value of mkdir, we can turn it off by &quot;lctl set_param&quot; command.&lt;/p&gt;

&lt;p&gt;$ lctl set_param llite.&amp;lt;client_uuid&amp;gt;.create_no_open_optimization=0&lt;/p&gt;</comment>
                            <comment id="154454" author="adilger" created="Thu, 2 Jun 2016 16:28:04 +0000"  >&lt;p&gt;It would be worthwhile to check if patch &lt;a href=&quot;http://review.whamcloud.com/20354&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/20354&lt;/a&gt; &quot;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-8019&quot; title=&quot;Openlock breakage&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-8019&quot;&gt;&lt;del&gt;LU-8019&lt;/del&gt;&lt;/a&gt; llite: Restore proper opencache operations&quot; fixes this problem.&lt;/p&gt;</comment>
                            <comment id="157759" author="green" created="Wed, 6 Jul 2016 05:16:29 +0000"  >&lt;p&gt;I tried to read the comments to get a better handle on this issue.&lt;/p&gt;

&lt;p&gt;The reproducer from Cray is basically:&lt;br/&gt;
in a place that user1 owns and user2 does not have write permissions: create a directory as user1 ; then with cold caches try to create same directory as user2 - that fails with EPERM because we do not know that directory already exists. (I imagine if user1 created a non-directory then we get the same issue too).&lt;/p&gt;

&lt;p&gt;This seems to be a pretty narrow case, though.&lt;br/&gt;
So the other EPERM cases - do they happen when all processes have write permissions in the dir where we are trying to create? Was that source of the failures distilled to a testcase oreven better - understood yet?&lt;/p&gt;</comment>
                            <comment id="157760" author="green" created="Wed, 6 Jul 2016 05:33:04 +0000"  >&lt;p&gt;I guess if somebody confirm that the case is distilled to the apps that basically get a work path in the form of /mnt/lustre/homes/user/somedir/app_folder where user only has write permissions from user onward, but the app does the equivalent of:&lt;br/&gt;
mkdir /mnt ; mkdir /mnt/lustre ; mkdir /mnt/lustre/homes ; mkdir /mnt/lustre/homes/user ; .... and stops on !-EEXIST&lt;br/&gt;
Then we can probably add a lot more cheaper workaround in the ll_lookup_nd in the form of:&lt;br/&gt;
if this CREATE with but NOT OPEN ( == good proxy this is mkdir, mknod and so on)&lt;br/&gt;
AND if this user does NOT have write permissions in the parent, THEN go on with the lookup.&lt;/p&gt;

&lt;p&gt;This way we do not penalize all the important fast cases being:&lt;br/&gt;
1. User has write permissions - great, we&apos;ll do create and if it fails - that would be on the server with the correct error.&lt;br/&gt;
2. User does not have write permissions, but the directory exists - that&apos;s ok too, we go to the server anyway, get our dentry and never get into create in the end.&lt;/p&gt;

&lt;p&gt;The &lt;br/&gt;
3. User does not have permissions and directory does not exist - this will get slower, we jump from 0 to 1 RPC in this case. But I assume this is unimportant enough that nobody would notice or care?&lt;/p&gt;</comment>
                            <comment id="157762" author="gerrit" created="Wed, 6 Jul 2016 05:43:26 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/21169&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/21169&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-4185&quot; title=&quot;Incorrect permission handling when creating existing directories at ICHEC&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-4185&quot;&gt;&lt;del&gt;LU-4185&lt;/del&gt;&lt;/a&gt; llite: Revise create with no open optimization.&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 571495cff60cab20d687402524eb051474b3e32b&lt;/p&gt;</comment>
                            <comment id="157810" author="paf" created="Wed, 6 Jul 2016 15:08:05 +0000"  >&lt;p&gt;Oleg - I think you&apos;ve captured the problem as I understand end users are reporting it (as well as the Cray reproducer).&lt;/p&gt;

&lt;p&gt;One question - Which Gerrit link are we using?  Bobi Jam has updated to a patch like yours as well.&lt;/p&gt;</comment>
                            <comment id="157847" author="green" created="Wed, 6 Jul 2016 17:08:05 +0000"  >&lt;p&gt;Bobi&apos;s patch has a test which is better than mine that does not.&lt;/p&gt;</comment>
                            <comment id="157856" author="green" created="Wed, 6 Jul 2016 18:18:23 +0000"  >&lt;p&gt;Patrick: It would be great if you can verify the current patch (Either one) is ok in majority of operations like mdtest and such.&lt;/p&gt;</comment>
                            <comment id="157933" author="green" created="Thu, 7 Jul 2016 04:20:05 +0000"  >&lt;p&gt;BTW, interesting thing, apparently NFS has the same problem as Lustre and I have not heard any complaints.&lt;br/&gt;
Time to fill some more bugs, I guess.&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;[green@fedora1 crash]$ mkdir aaa 
mkdir: cannot create directory &lt;span class=&quot;code-quote&quot;&gt;&apos;aaa&apos;&lt;/span&gt;: Permission denied
[green@fedora1 crash]$ mkdir lost+found
mkdir: cannot create directory &lt;span class=&quot;code-quote&quot;&gt;&apos;lost+found&apos;&lt;/span&gt;: Permission denied
[green@fedora1 crash]$ ls -ld lost+found
drwx------ 2 root root 16384 May 25  2013 lost+found
[green@fedora1 crash]$ mkdir lost+found
mkdir: cannot create directory &lt;span class=&quot;code-quote&quot;&gt;&apos;lost+found&apos;&lt;/span&gt;: File exists
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="158208" author="green" created="Sat, 9 Jul 2016 03:18:33 +0000"  >&lt;p&gt;After some discussion with the kernel guys, it looks like EEXIST is not a requirement, so the applications that depend on it are broken.&lt;/p&gt;

&lt;p&gt;See  &lt;a href=&quot;http://marc.info/?l=linux-kernel&amp;amp;m=146803277310677&amp;amp;w=2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://marc.info/?l=linux-kernel&amp;amp;m=146803277310677&amp;amp;w=2&lt;/a&gt; and &lt;a href=&quot;http://marc.info/?l=linux-nfs&amp;amp;m=146803381011004&amp;amp;w=2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://marc.info/?l=linux-nfs&amp;amp;m=146803381011004&amp;amp;w=2&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So I guess it&apos;s a good idea to file bugreports with those apps even if we have this also adjusted in Lustre.&lt;/p&gt;</comment>
                            <comment id="168297" author="gerrit" created="Wed, 5 Oct 2016 03:51:19 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) merged in patch &lt;a href=&quot;http://review.whamcloud.com/8257/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/8257/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-4185&quot; title=&quot;Incorrect permission handling when creating existing directories at ICHEC&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-4185&quot;&gt;&lt;del&gt;LU-4185&lt;/del&gt;&lt;/a&gt; llite: Revise create with no open optimization&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: a2d5b2e83c0a512a3ea59698e8481621ab5856c2&lt;/p&gt;</comment>
                            <comment id="176634" author="jgmitter" created="Tue, 6 Dec 2016 03:39:04 +0000"  >&lt;p&gt;In discussion with Bobijam, this issue is resolved with the landing of &lt;a href=&quot;https://review.whamcloud.com/#/c/8257/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/#/c/8257/&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="13175">LU-1101</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="36132">LU-8019</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="13727" name="reproducer.c" size="2501" author="enricoichec" created="Fri, 1 Nov 2013 16:57:06 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                            <customfield id="customfield_10890" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10490" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                        <customfieldname>End date</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 3 Jun 2016 22:05:42 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzw79r:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>11322</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Severity</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10022"><![CDATA[3]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10493" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                        <customfieldname>Start date</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 29 Oct 2013 22:05:42 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    </customfields>
    </item>
</channel>
</rss>