1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-25 23:21:54 +03:00
samba-mirror/source4/ntvfs
Stefan Metzmacher 9ef33f5f5c r15734: This is a major change to the NTVFS subsystem:
- to use a struct ntvfs_handle instead of a uint16_t fnum.
  (to make it independend from the frontend protocol)
- the allocation of handles now is provided by the frontend
  (smbsrv_*) via callbacks and not by each backend module
- this also makes sure that file handles are only passed
  to the ntvfs subsystem when the tcon and session matches,
  so modules can rely on this and need to check this.
- this allows multiple modules in the ntvfs module chain
  to allocate file handles. This can be used for virtual
  files like "\\$Extend\\$Quota:$Q:$INDEX_ALLOCATION"...
- also this will make SMB2 with 128 bit file handles possible

metze
(This used to be commit 287fc1c22d)
2007-10-10 14:08:10 -05:00
..
cifs r15734: This is a major change to the NTVFS subsystem: 2007-10-10 14:08:10 -05:00
cifs_posix_cli r15734: This is a major change to the NTVFS subsystem: 2007-10-10 14:08:10 -05:00
common r15734: This is a major change to the NTVFS subsystem: 2007-10-10 14:08:10 -05:00
ipc r15734: This is a major change to the NTVFS subsystem: 2007-10-10 14:08:10 -05:00
nbench r15734: This is a major change to the NTVFS subsystem: 2007-10-10 14:08:10 -05:00
posix r15734: This is a major change to the NTVFS subsystem: 2007-10-10 14:08:10 -05:00
print r15188: Restore svn rev. 15183, 15184 and 15185, which I inadvertantly clobbered 2007-10-10 14:04:14 -05:00
simple r15734: This is a major change to the NTVFS subsystem: 2007-10-10 14:08:10 -05:00
sysdep r15207: Introduce PRIVATE_DEPENDENCIES and PUBLIC_DEPENDENCIES as replacement 2007-10-10 14:04:18 -05:00
unixuid r15572: Trim build/m4/rewrite.m4 a bit more, remove unused tests. 2007-10-10 14:05:58 -05:00
config.mk r15716: disable the cifs_posix ntvfs backend as it will not be updated 2007-10-10 14:08:08 -05:00
ntvfs_base.c r15188: Restore svn rev. 15183, 15184 and 15185, which I inadvertantly clobbered 2007-10-10 14:04:14 -05:00
ntvfs_generic.c r15734: This is a major change to the NTVFS subsystem: 2007-10-10 14:08:10 -05:00
ntvfs_interface.c r15734: This is a major change to the NTVFS subsystem: 2007-10-10 14:08:10 -05:00
ntvfs_util.c r15734: This is a major change to the NTVFS subsystem: 2007-10-10 14:08:10 -05:00
ntvfs.h r15734: This is a major change to the NTVFS subsystem: 2007-10-10 14:08:10 -05:00
README first public release of samba4 code 2003-08-13 01:53:07 +00:00

This is the base of the new NTVFS subsystem for Samba. The model for
NTVFS backends is quite different than for the older style VFS
backends, in particular:

- the NTVFS backends receive windows style file names, although they
  are in the unix charset (usually UTF8). This means the backend is
  responsible for mapping windows filename conventions to unix
  filename conventions if necessary

- the NTVFS backends are responsible for changing effective UID before
  calling any OS local filesystem operations (if needed). The
  become_*() functions are provided to make this easier.

- the NTVFS backends are responsible for resolving DFS paths

- each NTVFS backend handles either disk, printer or IPC$ shares,
  rather than one backend handling all types

- the entry points of the NTVFS backends correspond closely with basic
  SMB operations, wheres the old VFS was modelled directly on the
  POSIX filesystem interface.

- the NTVFS backends are responsible for all semantic mappings, such
  as mapping dos file attributes, ACLs, file ownership and file times