diff options
author | Andrew Tridgell <tridge@samba.org> | 2004-11-17 05:58:04 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:05:54 -0500 |
commit | ae7caf08c1f47f3ad08856cfea2a3e6e956b48ab (patch) | |
tree | a70a8867b4d85c5d34a1f30e6aff22cf37052d6f /source4/ntvfs/posix/vfs_posix.h | |
parent | ca90965a3a2dabfc50be6d155c20004a61f81318 (diff) | |
download | samba-ae7caf08c1f47f3ad08856cfea2a3e6e956b48ab.tar.gz samba-ae7caf08c1f47f3ad08856cfea2a3e6e956b48ab.tar.bz2 samba-ae7caf08c1f47f3ad08856cfea2a3e6e956b48ab.zip |
r3798: added support for alternate data streams in xattrs into pvfs.
The trickiest part about this was getting the sharing and locking
rules right, as alternate streams are separate locking spaces from the
main file for the purposes of byte range locking, and separate for
most share violation rules.
I suspect there are still problems with delete on close with alternate
data streams. I'll look at that next.
(This used to be commit b6452c4a2068cf7e837778559da002ae191b508a)
Diffstat (limited to 'source4/ntvfs/posix/vfs_posix.h')
-rw-r--r-- | source4/ntvfs/posix/vfs_posix.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/source4/ntvfs/posix/vfs_posix.h b/source4/ntvfs/posix/vfs_posix.h index 645d293a6d..09d4bce085 100644 --- a/source4/ntvfs/posix/vfs_posix.h +++ b/source4/ntvfs/posix/vfs_posix.h @@ -76,9 +76,11 @@ struct pvfs_dos_fileinfo { struct pvfs_filename { const char *original_name; char *full_name; - const char *stream_name; + const char *stream_name; /* does not include :$DATA suffix */ + uint32_t stream_id; /* this uses a hash, so is probabilistic */ BOOL has_wildcard; - BOOL exists; + BOOL exists; /* true if the base filename exists */ + BOOL stream_exists; /* true if the stream exists */ struct stat st; struct pvfs_dos_fileinfo dos; }; @@ -96,8 +98,11 @@ struct pvfs_file_handle { struct pvfs_filename *name; - /* a unique file key to be used for file locking */ - DATA_BLOB locking_key; + /* a unique file key to be used for open file locking */ + DATA_BLOB odb_locking_key; + + /* a unique file key to be used for byte range locking */ + DATA_BLOB brl_locking_key; uint32_t create_options; |