diff options
author | Jeremy Allison <jra@samba.org> | 2007-01-18 21:51:52 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:17:18 -0500 |
commit | c9a14ea19f812d86266bfa9e6ce8b32f7b4ff19f (patch) | |
tree | 25357b5866e8786e6a685163a02315d0d53921a8 /source3/include | |
parent | 9d19e5294042e4de2c0eb70ee8b17993ebce211d (diff) | |
download | samba-c9a14ea19f812d86266bfa9e6ce8b32f7b4ff19f.tar.gz samba-c9a14ea19f812d86266bfa9e6ce8b32f7b4ff19f.tar.bz2 samba-c9a14ea19f812d86266bfa9e6ce8b32f7b4ff19f.zip |
r20883: W00t! I now understand how "delete on close" really
works - even with the strange "initial delete on close"
semantics. The "initial delete on close" flag isn't
committed to the share mode db until the handle is
closed, and is discarded if any real "delete on close"
was set. This allows me to remove the "initial_delete_on_close"
flag from the share db, and move it into a BOOL in files_struct.
Warning ! You must do a make clean after this. Cope with
the wrinkle in directory delete on close which is done
differently from files. We now pass all Samba4 smbtortute
BASE-DELETE tests except for the one checking that files
can't be created in a directory which has the delete on
close set (possibly expensive to fix).
Jeremy.
(This used to be commit f2df77a1497958c1ea791f1d2f4446b5fc3389b3)
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/smb.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/source3/include/smb.h b/source3/include/smb.h index cf754b5c1f..df4f47f12c 100644 --- a/source3/include/smb.h +++ b/source3/include/smb.h @@ -506,6 +506,7 @@ typedef struct files_struct { BOOL is_stat; BOOL aio_write_behind; BOOL lockdb_clean; + BOOL initial_delete_on_close; /* Only set at NTCreateX if file was created. */ char *fsp_name; struct vfs_fsp_data *vfs_extension; @@ -773,7 +774,6 @@ struct share_mode_lock { struct share_mode_entry *share_modes; UNIX_USER_TOKEN *delete_token; BOOL delete_on_close; - BOOL initial_delete_on_close; BOOL fresh; BOOL modified; }; @@ -788,7 +788,6 @@ struct locking_data { struct { int num_share_mode_entries; BOOL delete_on_close; - BOOL initial_delete_on_close; /* Only set at NTCreateX if file was created. */ uint32 delete_token_size; /* Only valid if either of the two previous fields are True. */ |