diff options
author | Tim Prouty <tprouty@samba.org> | 2009-02-15 23:45:28 -0800 |
---|---|---|
committer | Tim Prouty <tprouty@samba.org> | 2009-02-19 20:58:26 -0800 |
commit | e4675ce8db436ac572fcc476b9bfb1116e997f9f (patch) | |
tree | 7381a8a3aa92536fbfa58a75dee450f1f26d66ce /source3/include/smb_share_modes.h | |
parent | 6fbebb5369211b72545a1dd588bc6b9fa04210a1 (diff) | |
download | samba-e4675ce8db436ac572fcc476b9bfb1116e997f9f.tar.gz |
s3: Add extid to the dev/inode pair
This extends the file_id struct to add an additional generic uint64_t
field: extid. For backwards compatibility with dev/inodes stored in
xattr_tdbs and acl_tdbs, the ext id is ignored for these databases.
This patch should cause no functional change on systems that don't use
SMB_VFS_FILE_ID_CREATE to set the extid.
Existing code that uses the smb_share_mode library will need to be
updated to be compatibile with the new extid.
Diffstat (limited to 'source3/include/smb_share_modes.h')
-rw-r--r-- | source3/include/smb_share_modes.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/source3/include/smb_share_modes.h b/source3/include/smb_share_modes.h index 101bec82453..4a2d832cc2c 100644 --- a/source3/include/smb_share_modes.h +++ b/source3/include/smb_share_modes.h @@ -46,6 +46,7 @@ struct smbdb_ctx; struct smb_share_mode_entry { uint64_t dev; uint64_t ino; + uint64_t extid; uint32_t share_access; uint32_t access_mask; struct timeval open_time; @@ -66,11 +67,13 @@ int smb_share_mode_db_close(struct smbdb_ctx *db_ctx); int smb_lock_share_mode_entry(struct smbdb_ctx *db_ctx, uint64_t dev, - uint64_t ino); + uint64_t ino, + uint64_t extid); int smb_unlock_share_mode_entry(struct smbdb_ctx *db_ctx, uint64_t dev, - uint64_t ino); + uint64_t ino, + uint64_t extid); /* * Share mode database accessor functions. @@ -79,23 +82,27 @@ int smb_unlock_share_mode_entry(struct smbdb_ctx *db_ctx, int smb_get_share_mode_entries(struct smbdb_ctx *db_ctx, uint64_t dev, uint64_t ino, + uint64_t extid, struct smb_share_mode_entry **pp_list, unsigned char *p_delete_on_close); int smb_create_share_mode_entry(struct smbdb_ctx *db_ctx, uint64_t dev, uint64_t ino, + uint64_t extid, const struct smb_share_mode_entry *set_entry, const char *path); int smb_delete_share_mode_entry(struct smbdb_ctx *db_ctx, uint64_t dev, uint64_t ino, + uint64_t extid, const struct smb_share_mode_entry *set_entry); int smb_change_share_mode_entry(struct smbdb_ctx *db_ctx, uint64_t dev, uint64_t ino, + uint64_t extid, const struct smb_share_mode_entry *set_entry, const struct smb_share_mode_entry *new_entry); |