1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-04 17:47:26 +03:00
tprouty 69d61453df s3: Fix trans2 path to use case-insensitive stat optimization
Often times before creating a file, a client will first query to see
if it already exists.  Since some systems have a case-insensitive stat
that is called from unix_convert, we can definitively return
STATUS_NO_SUCH_FILE to the client without scanning the whole
directory.

This code path is taken from trans2querypathinfo, but trans2findfirst
still does a full directory scan even though the get_real_filename
(the case-insensitive stat vfs call) can prevent this.

This patch adds the get_real_filename call to the trans2find* path,
and also changes the vfs_default behavior for
SMB_VFS_GET_REAL_FILENAME.  Previously, in the absence of a
get_real_filename implementation, we would fallback to the full
directory scan.  The default behavior now returns -1 and sets errno to
EOPNOTSUPP.  This allows SMB_VFS_GET_REALFILENAME to be called from
trans2* and unix_convert.
2009-05-05 16:43:53 -07:00
..
2009-05-05 16:28:44 -07:00
2008-12-17 12:57:18 +01:00
2009-05-05 16:28:44 -07:00
2008-10-12 17:34:43 +02:00
2009-05-05 16:28:44 -07:00
2009-05-05 16:28:44 -07:00
2009-05-05 16:28:44 -07:00
2009-03-14 20:56:26 +01:00
2008-11-13 12:43:58 +01:00
2008-08-13 15:25:09 +02:00