cifs: work around samba returning -ENOENT on SetFileDisposition call
authorJeff Layton <jlayton@redhat.com>
Wed, 24 Sep 2008 15:32:59 +0000 (11:32 -0400)
committerSteve French <sfrench@us.ibm.com>
Wed, 24 Sep 2008 18:59:20 +0000 (18:59 +0000)
commit7ce86d5a93ffe2542e6558a97ab055377df8cde3
tree14b2e450aef89019dbbdcedaaed2383977aeb9c6
parent74553b1b6a8556e08757b4bce537fd8332b93898
cifs: work around samba returning -ENOENT on SetFileDisposition call

cifs: work around samba returning -ENOENT on SetFileDisposition call

Samba seems to return STATUS_OBJECT_NAME_NOT_FOUND when we try to set
the delete on close bit after doing a rename by filehandle. This looks
like a samba bug to me, but a lot of servers will do this. For now,
pretend an -ENOENT return is a success.

Samba does however seem to respect the CREATE_DELETE_ON_CLOSE bit
when opening files that already exist. Windows will ignore it, but
so adding it to the open flags should be harmless.

We're also currently ignoring the return code on the rename by
filehandle, so no need to set rc based on it.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
fs/cifs/inode.c