| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
- when cleaning up invalid locks make sure we mark the lck
struct as modified so it'll get saved back correctly (that
was the original intent).
Jeremy.
|
|
|
|
| |
failed expression in SMB_ASSERT.
|
|
|
|
| |
Remove two local variables
|
|
|
|
| |
anyway.
|
|
|
|
| |
traverse_read is enough here
|
|
|
|
|
|
|
|
|
|
| |
branch, please check if it fulfils your needs.
Two changes: The validation is not done inside the brlock.c traverse_fn,
it's done as a separate routine.
Secondly, this patch does not call the checker routines in smbcontrol
directly but depends on a running smbd.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
store the right data after cleaning lock records. This fixes
RAW-BENCH-LOCK after a recovery on a cluster
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
patch.
This changes "struct process_id" to "struct server_id", keeping both is
just too much hassle. No functional change (I hope ;-))
Volker
|
|
|
|
| |
lock_struct *
|
|
|
|
| |
Jeremy.
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
| |
Destructors now take a pointer to the "real" destroyed object as an argument.
Volker
|
| |
|
|
|
|
|
|
| |
we don't get the chainlock when getting the byte range
lock record read-only.
Jeremy.
|
|
|
|
|
|
|
| |
a POSIX lock (applying a read-lock) and we overlap
pending read locks then send them an unlock message,
we may have allowed them to proceed.
Jeremy.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
fix the messaging code to call the efficient calls :
save_re_uid()
set_effective_uid(0);
messaging_op
restore_re_uid();
instead of using heavyweight become_root()/unbecome_root()
pairs around all messaging code. Fixup the messaging
code to ensure sec_init() is called (only once) so that non-root
processes still work when sending messages.
This is a lighter weight solution to become_root()/unbecome_root()
(which swaps all the supplemental groups) and should be more
efficient. I will migrate all server code over to using this
(a similar technique should be used in the passdb backend
where needed).
Jeremy.
|
|
|
|
|
|
|
|
|
|
| |
do with
our internal share number.
Funny that it worked at all :-)
Volker
|
|
|
|
| |
Jeremy.
|
|
|
|
|
|
|
|
|
|
| |
of the lock array in order to delete them individually
it's also important to make a copy of the *size* of
this array. Otherwise the unlock decrements the termination
index of your for loop :-). Doh ! Big thanks to Volker
for showing me how to set up the build farm to track
this one down. This is not a 3.0.23a issue.
Jeremy.
|
|
|
|
|
|
| |
share_mode_forall().
Volker
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
region between detecting a pending lock was needed
and when we added the blocking lock record. Make
sure that we hold the lock over all this period.
Removed the old code for doing blocking locks on
SMB requests that never block (the old SMBlock
and friends).
Discovered something interesting about the strange
NT_STATUS_FILE_LOCK_CONFLICT return. If we asked
for a lock with zero timeout, and we got an error
of NT_STATUS_FILE_LOCK_CONFLICT, treat it as though
it was a blocking lock with a timeout of 150 - 300ms.
This only happens when timeout is sent as zero and
can be seen quite clearly in ethereal. This is the
real replacement for old do_lock_spin() code.
Re-worked the blocking lock select timeout to correctly
use milliseconds instead of the old second level
resolution (far too coarse for this work).
Jeremy.
|
|
|
|
|
|
|
|
| |
test. Phew - that was painful :-). But what it means
is that we now implement lock cancels and I can add
lock cancels into POSIX lock handling which will fix
the fast/slow system call issue with cifsfs !
Jeremy.
|
|
|
|
| |
Jeremy.
|
|
|
|
|
|
|
| |
requests. Maybe the Linux kernel OOM killer will
be kinder to smbd now :-). Back to tdbtorture
tests on cifsfs.
Jeremy.
|
|
|
|
|
| |
Fix a small one first.... (easy to valgrind).
Jeremy
|