1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-27 14:04:05 +03:00
Andrew Tridgell 6d98076c15 r14877: added support for the kernel inotify mechanism. This passes basic
tests, but still needs some more work to ensure we correctly cope with
events that may generate both a system inotify event and a internal
notify event. The system inotify events won't handle recursion, and
don't understand things like streams.

This also adds the ntvfs/sysdep/ directory, which is meant for system
dependent code that is not tied to a particular ntvfs backend. The
inotify code is a good example of that.
(This used to be commit eadadbb44adb3c4081d6ff1d85a9b850a0227059)
2007-10-10 14:00:11 -05:00
..
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