diff options
author | Volker Lendecke <vl@samba.org> | 2008-12-10 03:17:19 +0100 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2008-12-10 18:05:26 +0100 |
commit | 21b9dec990b08a104600bf8e408e64e805a02835 (patch) | |
tree | 949c1aca56818a2a982428109345084100abf7a8 /source3/include/vfs.h | |
parent | 31543640e6227e8dc808e365ba0bf6d2d5b08727 (diff) | |
download | samba-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.h | 8 |
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. */ |