[linux-cifs-client] mkstemp fails on cifs linux-2.6.31-rc1 / samba-3.3.6

Shirish Pargaonkar shirishpargaonkar at gmail.com
Tue Jun 30 13:27:44 GMT 2009


On Tue, Jun 30, 2009 at 8:01 AM, Jeff Layton<jlayton at redhat.com> wrote:
> On Tue, 2009-06-30 at 13:00 +0200, Wilhelm Meier wrote:
>> Hi,
>>
>> I made a simple test with cifs in linux-2.6.31-rc1 to see if the so called
>> kmail-problem (cifs-user-homes are totally unusable for kmail-mail-cache)
>> still remains. Than I ran into a strange problem using "sed -i <command> <file-
>> on-cifs>". "sed" uses mkstemp libc-funktion and fails with EEXIST, writing
>> therefore tons of files onto the cifs-share.
>>
>> You can reproduce it with:
>>
>> strace mktemp -p . abcXXXXXX 2>&1 | more
>>
>> giving
>>
>> stat64(".", {st_mode=S_IFDIR|0700, st_size=0, ...}) = 0
>> open("./abcUJcKWM", O_RDWR|O_CREAT|O_EXCL, 0600) = -1 EEXIST (File exists)
>> stat64(".", {st_mode=S_IFDIR|0700, st_size=0, ...}) = 0
>> open("./abcUGJaiA", O_RDWR|O_CREAT|O_EXCL, 0600) = -1 EEXIST (File exists)
>> stat64(".", {st_mode=S_IFDIR|0700, st_size=0, ...}) = 0
>> open("./abcWfKacs", O_RDWR|O_CREAT|O_EXCL, 0600) = -1 EEXIST (File exists)
>> stat64(".", {st_mode=S_IFDIR|0700, st_size=0, ...}) = 0
>> open("./abcBaGjWM", O_RDWR|O_CREAT|O_EXCL, 0600) = -1 EEXIST (File exists)
>>
>> This is the same on 2.6.31-rc1-git6.
>>
>> This is not the case in 2.6.26-2-vserver-686 (debian).
>>
>> The Samba-Server is lenny with samba-enterprise:
>> kmux-fs:/# dpkg -l | grep samba
>> ii  sernet-samba                    3.3.6-24                 a LanManager-like
>> file and printer server fo
>> ii  sernet-samba-common             3.3.6-24                 Samba common files
>> used by both the server a
>> ii  sernet-samba-keyring            1.1                      GnuPG archive
>> keys of the SerNet Samba archi
>>
>> If I change Samba to the lenny-version
>>
>> ii  samba                           2:3.2.5-4lenny6          a LanManager-like
>> file and printer server fo
>> ii  samba-common                    2:3.2.5-4lenny6          Samba common files
>> used by both the server a
>>
>> the described test-case is fine.
>>
>>
>
> I can reproduce this too.
>
> Looks like another regression from the create-on-lookup patches. I
> commented the relevant chunk out of cifs_lookup and that fixes the
> issue.
>
> Shirish, thoughts?
>
> --
> Jeff Layton <jlayton at redhat.com>
>
>

Jeff, Wilhelm,

I will spend some time later in the day on this but one thought came to mind,
Jeff, we took out a line where if there was exclusive create, we would let
vfs handle it, not sure if putting it back would help!

Regards,

Shirish


More information about the linux-cifs-client mailing list