pvfs_open: pass O_NONBLOCK to open() so that we'll not block with kernel oplocks
[jelmer/samba4-debian.git] / source / ntvfs / README
1 This is the base of the new NTVFS subsystem for Samba. The model for
2 NTVFS backends is quite different than for the older style VFS
3 backends, in particular:
4
5 - the NTVFS backends receive windows style file names, although they
6   are in the unix charset (usually UTF8). This means the backend is
7   responsible for mapping windows filename conventions to unix
8   filename conventions if necessary
9
10 - the NTVFS backends are responsible for changing effective UID before
11   calling any OS local filesystem operations (if needed). The
12   become_*() functions are provided to make this easier.
13
14 - the NTVFS backends are responsible for resolving DFS paths
15
16 - each NTVFS backend handles either disk, printer or IPC$ shares,
17   rather than one backend handling all types
18
19 - the entry points of the NTVFS backends correspond closely with basic
20   SMB operations, wheres the old VFS was modelled directly on the
21   POSIX filesystem interface.
22
23 - the NTVFS backends are responsible for all semantic mappings, such
24   as mapping dos file attributes, ACLs, file ownership and file times
25
26