summaryrefslogtreecommitdiff
path: root/source3/include/vfs.h
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2008-12-10 03:17:19 +0100
committerVolker Lendecke <vl@samba.org>2008-12-10 18:05:26 +0100
commit21b9dec990b08a104600bf8e408e64e805a02835 (patch)
tree949c1aca56818a2a982428109345084100abf7a8 /source3/include/vfs.h
parent31543640e6227e8dc808e365ba0bf6d2d5b08727 (diff)
downloadsamba-21b9dec990b08a104600bf8e408e64e805a02835.tar.gz
samba-21b9dec990b08a104600bf8e408e64e805a02835.tar.bz2
samba-21b9dec990b08a104600bf8e408e64e805a02835.zip
Pass the get_real_filename operation through the VFS
This is done to help file systems that can tell us about the real upper/lower case combination given a case-insensitive file name. The sample I will soon push is the gpfs module (recent gpfs has a get_real_filename function), others might have a similar function to help alleviate the 1million files in a single directory problem. Jeremy, please comment! Thanks, Volker
Diffstat (limited to 'source3/include/vfs.h')
-rw-r--r--source3/include/vfs.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/source3/include/vfs.h b/source3/include/vfs.h
index 383cd327ae..d02d14b854 100644
--- a/source3/include/vfs.h
+++ b/source3/include/vfs.h
@@ -210,6 +210,7 @@ typedef enum _vfs_op_type {
SMB_VFS_OP_CHFLAGS,
SMB_VFS_OP_FILE_ID_CREATE,
SMB_VFS_OP_STREAMINFO,
+ SMB_VFS_OP_GET_REAL_FILENAME,
/* NT ACL operations. */
@@ -375,6 +376,12 @@ struct vfs_ops {
unsigned int *num_streams,
struct stream_struct **streams);
+ int (*get_real_filename)(struct vfs_handle_struct *handle,
+ const char *path,
+ const char *name,
+ TALLOC_CTX *mem_ctx,
+ char **found_name);
+
/* NT ACL operations. */
NTSTATUS (*fget_nt_acl)(struct vfs_handle_struct *handle,
@@ -510,6 +517,7 @@ struct vfs_ops {
struct vfs_handle_struct *chflags;
struct vfs_handle_struct *file_id_create;
struct vfs_handle_struct *streaminfo;
+ struct vfs_handle_struct *get_real_filename;
/* NT ACL operations. */