smbd: Simplify callers of notify_filter_string
[samba.git] / source3 / modules / The_New_VFS.txt
index 6405371c816ee02591b2be928b9cb28ba7fde94e..af507239730d065b186987e26f83db40cdb23c54 100644 (file)
@@ -79,7 +79,7 @@ Table of Contents
   other mechanisms are used described in more detail below.
 
   Path processing in Samba typically means processing client supplied paths
   other mechanisms are used described in more detail below.
 
   Path processing in Samba typically means processing client supplied paths
-  by Samba's core path processing function `filename_convert()' which returs
+  by Samba's core path processing function `filename_convert()' which returns
   a pointer to an object of type `struct smb_filename'. Pointers to such
   objects are then passed around, often passing many layers of code.
 
   a pointer to an object of type `struct smb_filename'. Pointers to such
   objects are then passed around, often passing many layers of code.
 
@@ -159,7 +159,7 @@ Table of Contents
 
   In Samba the decision whether to call POSIX `open()' on a client pathname
   or whether to leave the low-level handle at -1 (what we call a stat-open)
 
   In Samba the decision whether to call POSIX `open()' on a client pathname
   or whether to leave the low-level handle at -1 (what we call a stat-open)
-  is based on the client requested SMB acccess mask.
+  is based on the client requested SMB access mask.
 
   The set of access rights that trigger an `open()' includes
   `READ_CONTROL_ACCESS'. As a result, the open() will be done with at least
 
   The set of access rights that trigger an `open()' includes
   `READ_CONTROL_ACCESS'. As a result, the open() will be done with at least
@@ -197,12 +197,12 @@ Table of Contents
   system doesn't support `O_PATH' is needed.
 
   The way this is implemented on such systems is impersonating the root user
   system doesn't support `O_PATH' is needed.
 
   The way this is implemented on such systems is impersonating the root user
-  for the `open()' syscall. In order to avoid privelege escalations security
+  for the `open()' syscall. In order to avoid privilege escalations security
   issues, we must carefully control the use these file-handles.
 
   The low level filehandle is stored in a public struct `struct file_handle'
   that is part of the widely used `struct files_struct'. Consumers used to
   issues, we must carefully control the use these file-handles.
 
   The low level filehandle is stored in a public struct `struct file_handle'
   that is part of the widely used `struct files_struct'. Consumers used to
-  simply access the fd directly by derefencing pointers to `struct
+  simply access the fd directly by dereferencing pointers to `struct
   files_struct'.
 
   In order to guard access to such file-handles we do two things:
   files_struct'.
 
   In order to guard access to such file-handles we do two things:
@@ -315,10 +315,10 @@ Table of Contents
    SMB_VFS_GET_REAL_FILENAME()        [P2px]      -
    SMB_VFS_GET_SHADOW_COPY_DATA()     [fsp]       -
    SMB_VFS_GETWD()                    [Special]   -
    SMB_VFS_GET_REAL_FILENAME()        [P2px]      -
    SMB_VFS_GET_SHADOW_COPY_DATA()     [fsp]       -
    SMB_VFS_GETWD()                    [Special]   -
-   SMB_VFS_GETXATTR()                 [Path]      Todo
+   SMB_VFS_GETXATTR()                 [Path]      -
    SMB_VFS_GETXATTRAT_RECV()          [Enum]      -
    SMB_VFS_GETXATTRAT_SEND()          [Enum]      -
    SMB_VFS_GETXATTRAT_RECV()          [Enum]      -
    SMB_VFS_GETXATTRAT_SEND()          [Enum]      -
-   SMB_VFS_KERNEL_FLOCK()             [fsp]       -
+   SMB_VFS_FILESYSTEM_SHAREMODE()     [fsp]       -
    SMB_VFS_LCHOWN()                   [Path]      Todo
    SMB_VFS_LINKAT()                   [NsC]       -
    SMB_VFS_LINUX_SETLEASE()           [fsp]       -
    SMB_VFS_LCHOWN()                   [Path]      Todo
    SMB_VFS_LINKAT()                   [NsC]       -
    SMB_VFS_LINUX_SETLEASE()           [fsp]       -
@@ -338,7 +338,7 @@ Table of Contents
    SMB_VFS_PREAD_SEND()               [fsp]       -
    SMB_VFS_PWRITE()                   [fsp]       -
    SMB_VFS_PWRITE_SEND()              [fsp]       -
    SMB_VFS_PREAD_SEND()               [fsp]       -
    SMB_VFS_PWRITE()                   [fsp]       -
    SMB_VFS_PWRITE_SEND()              [fsp]       -
-   SMB_VFS_READ_DFS_PATHAT()          [Symlink]   Todo
+   SMB_VFS_READ_DFS_PATHAT()          [Symlink]   -
    SMB_VFS_READDIR()                  [fsp]       -
    SMB_VFS_READDIR_ATTR()             [Path]      -
    SMB_VFS_READLINKAT()               [Symlink]   -
    SMB_VFS_READDIR()                  [fsp]       -
    SMB_VFS_READDIR_ATTR()             [Path]      -
    SMB_VFS_READLINKAT()               [Symlink]   -
@@ -347,7 +347,6 @@ Table of Contents
    SMB_VFS_REMOVEXATTR()              [Path]      -
    SMB_VFS_RENAMEAT()                 [Path]      -
    SMB_VFS_REWINDDIR()                [fsp]       -
    SMB_VFS_REMOVEXATTR()              [Path]      -
    SMB_VFS_RENAMEAT()                 [Path]      -
    SMB_VFS_REWINDDIR()                [fsp]       -
-   SMB_VFS_SEEKDIR()                  [fsp]       -
    SMB_VFS_SENDFILE()                 [fsp]       -
    SMB_VFS_SET_COMPRESSION()          [fsp]       -
    SMB_VFS_SET_DOS_ATTRIBUTES()       [Path]      -
    SMB_VFS_SENDFILE()                 [fsp]       -
    SMB_VFS_SET_COMPRESSION()          [fsp]       -
    SMB_VFS_SET_DOS_ATTRIBUTES()       [Path]      -
@@ -367,7 +366,6 @@ Table of Contents
    SMB_VFS_SYS_ACL_GET_FD()           [xpathref]  -
    SMB_VFS_SYS_ACL_GET_FILE()         [Path]      -
    SMB_VFS_SYS_ACL_SET_FD()           [xpathref]  -
    SMB_VFS_SYS_ACL_GET_FD()           [xpathref]  -
    SMB_VFS_SYS_ACL_GET_FILE()         [Path]      -
    SMB_VFS_SYS_ACL_SET_FD()           [xpathref]  -
-   SMB_VFS_TELLDIR()                  [fsp]       -
    SMB_VFS_TRANSLATE_NAME()           [P2px]      -
    SMB_VFS_UNLINKAT()                 [NsC]       -
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    SMB_VFS_TRANSLATE_NAME()           [P2px]      -
    SMB_VFS_UNLINKAT()                 [NsC]       -
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
@@ -456,7 +454,7 @@ Table of Contents
   • SMB_VFS_GETLOCK()
   • SMB_VFS_GET_ALLOC_SIZE()
   • SMB_VFS_GET_SHADOW_COPY_DATA()
   • SMB_VFS_GETLOCK()
   • SMB_VFS_GET_ALLOC_SIZE()
   • SMB_VFS_GET_SHADOW_COPY_DATA()
-  • SMB_VFS_KERNEL_FLOCK()
+  • SMB_VFS_FILESYSTEM_SHAREMODE()
   • SMB_VFS_LINUX_SETLEASE()
   • SMB_VFS_LOCK()
   • SMB_VFS_LSEEK()
   • SMB_VFS_LINUX_SETLEASE()
   • SMB_VFS_LOCK()
   • SMB_VFS_LSEEK()
@@ -469,11 +467,9 @@ Table of Contents
   • SMB_VFS_READDIR()
   • SMB_VFS_RECVFILE()
   • SMB_VFS_REWINDDIR()
   • SMB_VFS_READDIR()
   • SMB_VFS_RECVFILE()
   • SMB_VFS_REWINDDIR()
-  • SMB_VFS_SEEKDIR()
   • SMB_VFS_SENDFILE()
   • SMB_VFS_SET_COMPRESSION()
   • SMB_VFS_STRICT_LOCK_CHECK()
   • SMB_VFS_SENDFILE()
   • SMB_VFS_SET_COMPRESSION()
   • SMB_VFS_STRICT_LOCK_CHECK()
-  • SMB_VFS_TELLDIR()
 
   If an fsp is provided by the SMB layer we use that, otherwise we use the
   pathref fsp `smb_fname->fsp' provided by `filename_convert()'.
 
   If an fsp is provided by the SMB layer we use that, otherwise we use the
   pathref fsp `smb_fname->fsp' provided by `filename_convert()'.
@@ -511,7 +507,7 @@ Table of Contents
 2.2.4 Path based VFS functions
 ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
 
 2.2.4 Path based VFS functions
 ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
 
-  All path based VFS functtions will be replaced by handle based variants
+  All path based VFS functions will be replaced by handle based variants
   using the `smb_fname->fsp' provided by `filename_convert()'.
 
   • SMB_VFS_CHDIR()
   using the `smb_fname->fsp' provided by `filename_convert()'.
 
   • SMB_VFS_CHDIR()