1
0
mirror of https://github.com/samba-team/samba.git synced 2025-12-13 16:23:50 +03:00
Commit Graph

239 Commits

Author SHA1 Message Date
Volker Lendecke
71de4946cf Don't early delete the share mode tdb data
We now refer directly to the file name in the tdb data, so don't delete it.
2008-01-12 23:57:12 +01:00
Volker Lendecke
616bc34744 Trivial simplification 2008-01-12 23:57:11 +01:00
Volker Lendecke
444e35e7df Some more talloc_tos() 2008-01-10 13:19:58 +01:00
Volker Lendecke
65dd869bea use talloc_tos in a few more places 2008-01-10 13:19:58 +01:00
Volker Lendecke
66be770993 Do not talloc_strdup filename and servicepath 2008-01-07 21:18:20 +01:00
Volker Lendecke
a98693bfa7 allocate share_mode_str only when needed 2008-01-04 23:32:24 +01:00
Volker Lendecke
2f3c865707 Tiny simplifications
locking.c:open_read_only was unused

don't export the silly boolean flag locking_init(bool read_only)
2007-12-10 12:22:01 +01:00
Volker Lendecke
1f317f471a Remove a static 2007-12-10 12:22:01 +01:00
Volker Lendecke
144014096a Add a comment 2007-11-18 15:08:54 -08:00
Volker Lendecke
b82120f9b7 Fix a valgrind error 2007-11-18 15:08:52 -08:00
Jeremy Allison
a1725f4ff7 Add MAX_DNS_NAME_LENGTH, remove more pstrings.
Jeremy.
2007-11-15 18:27:26 -08:00
Jeremy Allison
f35a266b3c RIP BOOL. Convert BOOL -> bool. I found a few interesting
bugs in various places whilst doing this (places that assumed
BOOL == int). I also need to fix the Samba4 pidl generation
(next checkin).
Jeremy.
2007-10-18 17:40:25 -07:00
Volker Lendecke
638c848c9a r25055: Add file_id_string_tos
This removes file_id_string_static and file_id_string_static2
2007-10-10 12:30:36 -05:00
Volker Lendecke
df40d336af r24266: Remove the "open files database hash size" parameter
This has been superseded by the "tdb_hashsize:<tdbname>" parameter
2007-10-10 12:29:22 -05:00
Stefan Metzmacher
a7449e4ab3 r24117: use locking_key() instead of forming the TDB_DATA key
by hand

metze
2007-10-10 12:29:08 -05:00
Stefan Metzmacher
044ac6afa7 r23956: merge from 3_2-ctdb-tridge:
fixed a bug with dead share mode entries

jra: please tell me if it's ok to merge this to 3_2_0.

metze
2007-10-10 12:28:49 -05:00
Jeremy Allison
a48e4a29e6 r23908: Fix bug with interaction of optimization with
POSIX locking. We can't do lock counts with POSIX,
so stop counting if we get a POSIX lock request.
Jeremy.
2007-10-10 12:28:40 -05:00
Andrew Tridgell
b0132e94fc r23784: use the GPLv3 boilerplate as recommended by the FSF and the license text 2007-10-10 12:28:22 -05:00
Jeremy Allison
407e6e695b r23779: Change from v2 or later to v3 or later.
Jeremy.
2007-10-10 12:28:20 -05:00
James Peach
171dc060e2 r23510: Tidy calls to smb_panic by removing trailing newlines. Print the
failed expression in SMB_ASSERT.
2007-10-10 12:23:23 -05:00
Volker Lendecke
575e594e93 r23486: Ok, this time with a hopefully successful make test in the right place:
Remove two local variables
2007-10-10 12:23:21 -05:00
Volker Lendecke
40991badef r23222: share_mode_forall() is only for counting and status display stuff, so
traverse_read is enough here
2007-10-10 12:22:56 -05:00
Volker Lendecke
9b10dbbd5d r23183: Check in a change made by Tridge:
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
2007-10-10 12:22:52 -05:00
Volker Lendecke
8de1ac9fad r23164: Minor cosmetic checkin 2007-10-10 12:22:50 -05:00
Volker Lendecke
afe90224bf r23163: Convert locking.tdb to dbwrap 2007-10-10 12:22:50 -05:00
Volker Lendecke
3f8186fe85 r23162: Make use of messaging_send_buf 2007-10-10 12:22:50 -05:00
Jeremy Allison
a301467d5f r23100: Implement the delete on close semantics I've just tested for
in Samba4 smbtorture. Fix rename on an open file handle.
Needed for 3.0.25a.
Jeremy.
2007-10-10 12:22:46 -05:00
Jeremy Allison
fa18fc25a5 r23014: For all branches, ensure that if we're blocked on a POSIX
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.
2007-10-10 12:22:15 -05:00
Volker Lendecke
bbb5084146 r22846: Chunk one to replace message_send_pid with messaging_send: Deep inside
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.
2007-10-10 12:22:02 -05:00
Jeremy Allison
f6fa3080fe r22542: Move over to using the _strict varients of the talloc
calls. No functional changes. Looks bigger than it is :-).
Jeremy.
2007-10-10 12:19:44 -05:00
Stefan Metzmacher
3a28443079 r22009: change TDB_DATA from char * to unsigned char *
and fix all compiler warnings in the users

metze
2007-10-10 12:19:00 -05:00
Jeremy Allison
84ed7bcbe6 r21726: Fix stupid cut-n-paste typo. Thanks to volker for
being on the ball..... :-).
Jeremy.
2007-10-10 12:18:26 -05:00
Jeremy Allison
1b063496f9 r21724: Optimization pointed out by Volker. If we don't
have any outstanding locks or blocking locks then
we don't need to read the lock db. on close.
Jeremy.
2007-10-10 12:18:26 -05:00
Volker Lendecke
f3421ae4cf r21723: Make use of the per-hashchain "freelists" 2007-10-10 12:18:25 -05:00
Volker Lendecke
b73685d207 r21706: get_delete_on_close_flag() is the perfect candidate for tdb_parse_record() 2007-10-10 12:18:24 -05:00
Jeremy Allison
2dab892876 r21257: Better fix for bug #4188 :
Windows Vista RC1 and RC2 can't delete directory on Samba share
based on work by Joe Meadows <jmeadows@webopolis.com>.
Jeremy.
2007-10-10 12:17:51 -05:00
Jeremy Allison
83dbbdff34 r21191: Add in the POSIX open/mkdir/unlink calls.
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.
2007-10-10 12:17:47 -05:00
Jeremy Allison
7f817067a7 r20916: Add in the delete on close final fix - but only enabled
with -DDEVELOPER.
Jeremy.
2007-10-10 12:17:19 -05:00
Jeremy Allison
f2df77a149 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.
2007-10-10 12:17:18 -05:00
Jeremy Allison
0296358858 r20873: Some correctness fixes w.r.t. Samba4 torture BASE-DELETE.
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.
2007-10-10 12:17:16 -05:00
Volker Lendecke
609dbec600 r19668: Convert the locking params to use struct share_param instead of snum 2007-10-10 12:15:46 -05:00
Volker Lendecke
2b3b9ce2a1 r19078: talloc_strdup can fail 2007-10-10 12:15:09 -05:00
Volker Lendecke
70edd716ef r17924: Get rid of warnings now that talloc is merged.
Destructors now take a pointer to the "real" destroyed object as an argument.

Volker
2007-10-10 11:38:59 -05:00
Jeremy Allison
fcd798ca0c r17346: Add optimisation vl needs for the cluster code where
we don't get the chainlock when getting the byte range
lock record read-only.
Jeremy.
2007-10-10 11:38:27 -05:00
Jeremy Allison
a7a0b6ba50 r17314: Optimisation for POSIX locking. If we're downgrading
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.
2007-10-10 11:38:25 -05:00
Jeremy Allison
4ace291278 r17293: After the results from the cluster tests in Germany,
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.
2007-10-10 11:38:24 -05:00
Volker Lendecke
f97f6cedff r17177: Get rid of a global variable by adding a private data pointer to
share_mode_forall().

Volker
2007-10-10 11:38:17 -05:00
Jeremy Allison
b81d6d1ae9 r17105: Fix the race Volker found - we had a non-locked
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.
2007-10-10 11:38:12 -05:00
Jeremy Allison
f1a9cf075b r17098: Samba3 now cleanly passes Samba4 RAW-LOCK torture
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.
2007-10-10 11:38:11 -05:00
Jeremy Allison
9dafb7f48c r16945: Sync trunk -> 3.0 for 3.0.24 code. Still need
to do the upper layer directories but this is what
everyone is waiting for....

Jeremy.
2007-10-10 11:19:14 -05:00