mirror of
https://github.com/samba-team/samba.git
synced 2025-01-12 09:18:10 +03:00
89efea81d9
The problem was twofold:
1) irix returns 64 bit numbers in telldir(). The protocol uses a 32
bit resume key. We now cope with this properly using the code in
pvfs_list_seek_ofs().
2) irix returns 0xFFFFFFFF from telldir() for the last entry in the
directory. When added to DIR_OFFSET_BASE this became
DIR_OFFSET_DOTDOT which meant an infinite loop!
(This used to be commit
|
||
---|---|---|
.. | ||
cifs | ||
cifs_posix_cli | ||
common | ||
ipc | ||
nbench | ||
posix | ||
simple | ||
sysdep | ||
unixuid | ||
config.mk | ||
ntvfs_base.c | ||
ntvfs_generic.c | ||
ntvfs_interface.c | ||
ntvfs_util.c | ||
ntvfs.h | ||
README |
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