| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Jeremy.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ok, here's the fix for the write times breakage
with the new tests in S4 smbtorture.
The key is keeping in the share mode struct
the "old_file_time" as the real write time,
set by all the write and allocation calls,
and the "changed_write_time" as the "sticky"
write time - set by the SET_FILE_TIME calls.
We can set them independently (although I
kept the optimization of not setting the
"old_file_time" is a "changed_write_time"
was already set, as we'll never see it.
This allows us to update the write time
immediately on the SMBwrite truncate case,
SET_END_OF_FILE and SET_ALLOCATION_SIZE calls,
whilst still have the 2 second delay on the
"normal" SMBwrite, SMBwriteX calls.
I think in a subsequent patch I'd like to
change the name of these from "old_file_time"
to "write_time" and "changed_write_time" to
"sticky_write_time" to make this clearer.
I think I also fixed a bug in Metze's original
code in that once a write timestamp had been
set from a "normal" SMBwriteX call the fsp->update_write_time_triggered
variable was set and then never reset - thus
meaning the write timestamp would never get
updated again on subsequent SMBwriteX's.
The new code checks the update_write_time_event
event instead, and doesn't update is there's
an event already scheduled.
Metze especially, please check this over for
your understanding.
Jeremy.
|
|
|
|
|
| |
Patch successfully tested by Christoph Kaegi <kaph@zhaw.ch>, thanks.
(cherry picked from commit 9f8df16f476c49da85000b7365c8a6e33b8b71fc)
|
|
|
|
| |
Jeremy.
|
|
|
|
|
|
|
| |
being (correctly) used in the can_read/can_write checks for hide unreadable/unwritable
and this is more properly done using the functions in smbd/file_access.c.
Preparing to do NT access checks on all file access.
Jeremy.
|
|
|
|
|
|
|
|
| |
get_file_infos()
This means we need to fetch the record only once.
metze
|
|
|
|
|
|
|
|
|
| |
This is needed to implement the strange write time update
logic later. We need to store 2 time timestamps to
distinguish between the time the file system had before
the first client opened the file and a forced timestamp update.
metze
|
| |
|
|
|
|
| |
We now refer directly to the file name in the tdb data, so don't delete it.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
locking.c:open_read_only was unused
don't export the silly boolean flag locking_init(bool read_only)
|
| |
|
| |
|
| |
|
|
|
|
| |
Jeremy.
|
|
|
|
|
|
|
| |
bugs in various places whilst doing this (places that assumed
BOOL == int). I also need to fix the Samba4 pidl generation
(next checkin).
Jeremy.
|
|
|
|
| |
This removes file_id_string_static and file_id_string_static2
|
|
|
|
| |
This has been superseded by the "tdb_hashsize:<tdbname>" parameter
|
|
|
|
|
|
| |
by hand
metze
|
|
|
|
|
|
|
|
| |
fixed a bug with dead share mode entries
jra: please tell me if it's ok to merge this to 3_2_0.
metze
|
|
|
|
|
|
| |
POSIX locking. We can't do lock counts with POSIX,
so stop counting if we get a POSIX lock request.
Jeremy.
|
| |
|
|
|
|
| |
Jeremy.
|
|
|
|
| |
failed expression in SMB_ASSERT.
|
|
|
|
| |
Remove two local variables
|
|
|
|
| |
traverse_read is enough here
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This replaces the internal explicit dev/ino file id representation by a
"struct file_id". This is necessary as cluster file systems and NFS
don't necessarily assign the same device number to the shared file
system. With this structure in place we can now easily add different
schemes to map a file to a unique 64-bit device node.
Jeremy, you might note that I did not change the external interface of
smb_share_modes.c.
Volker
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
in Samba4 smbtorture. Fix rename on an open file handle.
Needed for 3.0.25a.
Jeremy.
|
|
|
|
|
|
|
|
| |
lock we know nothing about that we retry the lock every
10 seconds instead of waiting for the standard select
timeout. This is how we used to (and are supposed to)
work.
Jeremy.
|
|
|
|
|
|
| |
locking/locking.c we have to send retry messages to timed lock holders.
The majority of this patch passes a "struct messaging_context" down
there. No functional change, survives make test.
|
|
|
|
|
| |
calls. No functional changes. Looks bigger than it is :-).
Jeremy.
|
|
|
|
|
|
| |
and fix all compiler warnings in the users
metze
|
|
|
|
|
| |
being on the ball..... :-).
Jeremy.
|
|
|
|
|
|
| |
have any outstanding locks or blocking locks then
we don't need to read the lock db. on close.
Jeremy.
|
| |
|
|
|
|
| |
tdb_parse_record()
|
|
|
|
|
|
| |
Windows Vista RC1 and RC2 can't delete directory on Samba share
based on work by Joe Meadows <jmeadows@webopolis.com>.
Jeremy.
|
|
|
|
|
|
|
|
| |
Move more error code returns to NTSTATUS.
Client test code to follow... See if this
passes the build-farm before I add it into
3.0.25.
Jeremy.
|
|
|
|
|
| |
with -DDEVELOPER.
Jeremy.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
Allow us to correctly refuse to set delete on close on a
non-empty directory. There are still some delete-on-close
wrinkles to be fixed, but I understand how to do that better
now. I'll fix this tomorrow.
Jeremy.
|
| |
|
| |
|