1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-04 17:47:26 +03:00

370 Commits

Author SHA1 Message Date
Volker Lendecke
c416b34648 smbd: Explicitly pass "file_id" to rename_share_filename
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2014-03-21 19:20:17 +01:00
Volker Lendecke
80e6ca5625 smbd: Factor out get_share_mode_write_time of get_file_infos
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2013-11-22 13:30:27 -08:00
Volker Lendecke
c938a1065f smbd: Factor out remove_stale_share_mode_entries
Will be used in the next commit

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2013-10-15 23:46:11 +02:00
Volker Lendecke
fcafaf6022 smbd: Remove FAKE_LEVEL_II_OPLOCK
FAKE_LEVEL_II_OPLOCK was an indicator to break level2 oplock holders
on write.  This information is now being held in brlock.tdb, which makes
the FAKE_LEVEL_II_OPLOCK type unnecessary.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2013-10-15 01:52:29 +02:00
Volker Lendecke
0cc212385c smbd: Simplify set_share_mode
With the find_share_mode simplification we don't need fill_share_mode anymore.
So this coalesces add_share_mode as well.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2013-10-08 14:42:40 -07:00
Volker Lendecke
b8b7e855ce smbd: Simplify find_share_mode_entry callers
All callers used fill_share_mode_entry before calling
find_share_mode_entry. Remove that requirement.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2013-10-08 14:42:29 -07:00
Volker Lendecke
e0e5f67da5 smbd: Convert set_share_mode to return bool for success
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2013-10-08 14:42:25 -07:00
Volker Lendecke
ad2ba58f53 smbd: Make add_share_mode return bool
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2013-10-08 14:42:17 -07:00
Volker Lendecke
f9554a993e smbd: Change parameter from unsigned to uint32_t
share_mode_stale_pid internally only has to deal with uint32_t. Make
the parameter match this.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2013-10-08 14:42:02 -07:00
Volker Lendecke
4cde5bf1a4 smbd: Avoid calling serverid_exists twice
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-10-06 13:54:14 +02:00
Volker Lendecke
e2bb3b0c4a smbd: Fix a typo 2013-09-11 08:27:11 +02:00
Volker Lendecke
e6542683ca smbd: Apply some const to find_share_mode_entry
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2013-09-06 13:34:28 +02:00
Volker Lendecke
aee0f2ccf7 smbd: Apply some const to share_modes_identical
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2013-09-06 13:34:06 +02:00
Volker Lendecke
a7d7429376 smbd: Simplify find_share_mode_entry
There's no point checking the validity of the "entry" argument more
than once

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2013-09-06 13:33:39 +02:00
Volker Lendecke
7d91ffc6fd smbd: Fix flawed share_mode_stale_pid API
The comment for this routine said:

> Modifies d->num_share_modes, watch out in routines iterating over
> that array.

Well, it turns out that *every* caller of this API got it wrong. So I
think it's better to change the routine.

This leaves the array untouched while iterating but filters out the
deleted ones while saving them back to disk.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2013-09-03 17:13:53 +02:00
Volker Lendecke
5006db98aa smbd: Rename parameter "i" to "idx"
We'll need "i" in a later checkin ... :-)

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2013-09-03 17:13:53 +02:00
Volker Lendecke
a7e803485d smbd: We don't use DEFERRED_OPEN_ENTRY anymore
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-26 15:17:22 -07:00
Stefan Metzmacher
9a81f8ee17 s3:locking: add mark_share_mode_disconnected()
Pair-Programmed-With: Michael Adam <obnox@samba.org>
2012-09-08 03:39:06 +02:00
Jeremy Allison
90881da685 Move copy_unix_token() from locking/locking.c to lib/util.c.
Make public.
2012-07-03 15:34:22 -07:00
Michael Adam
73b200064f s3:util: rename procid_equal() to serverid_equal()
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-21 08:27:32 +02:00
Volker Lendecke
ca9a734e19 s3: Remove a user of procid_is_me
Signed-off-by: Michael Adam <obnox@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-21 08:27:30 +02:00
Michael Adam
959c10e612 s3:locking: change locking.c to use fsp_fnum_dbg() for fsp->fnum logging.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-15 03:28:14 +02:00
Michael Adam
1c01cb4510 s3:include: change lock_struct->fnum to uint64_t
Note: this changes the format of brlock.tdb!

Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>

Autobuild-User: Michael Adam <obnox@samba.org>
Autobuild-Date: Wed Jun  6 23:22:00 CEST 2012 on sn-devel-104
2012-06-06 23:21:59 +02:00
Volker Lendecke
dec08b8041 s3: Simplify get_delete_on_close_token more
All remaining callers actually want the token

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-03 17:23:28 +02:00
Volker Lendecke
103b89fb07 s3: Simplify get_delete_on_close_token slightly
Introduce find_delete_on_close_token. Thus is_delete_on_close_set
does not have to call get_delete_on_close_token anymore.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-03 17:23:28 +02:00
Volker Lendecke
29a51a22df s3: Avoid a lot of calls to serverid_exists()
Signed-off-by: Stefan Metzmacher <metze@samba.org>

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Fri Jun  1 18:58:30 CEST 2012 on sn-devel-104
2012-06-01 18:58:30 +02:00
Volker Lendecke
bc3b7d76a8 s3: Be less picky on stale share mode entries
If a process died, the share mode entry might be bogus. Ignore those entries.

Signed-off-by: Jeremy Allison <jra@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-05-25 09:19:38 -07:00
Volker Lendecke
6666de1975 s3: Check for serverid_exists in rename_share_filename
Signed-off-by: Jeremy Allison <jra@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-05-25 09:19:38 -07:00
Jeremy Allison
6526432682 Fix an invalid state only reachable on server crash/abort.
Remove any delete-on-close tokens and clear the count if there are no
valid share modes.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-05-25 09:19:37 -07:00
Volker Lendecke
5842d4e025 s3: Add "share_mode_stale_pid"
This is a helper routine that prunes a dead share mode entry on demand. This
prepares for removing the serverids_exist call in parse_share_modes.

Signed-off-by: Jeremy Allison <jra@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-05-25 09:19:37 -07:00
Volker Lendecke
f5ca3f11e4 s3: Revert the serverid changes, they need more work
Autobuild-User: Volker Lendecke <vl@samba.org>
Autobuild-Date: Fri May 18 13:12:14 CEST 2012 on sn-devel-104
2012-05-18 13:12:14 +02:00
Volker Lendecke
43296090f9 s3: Be less picky on stale share mode entries
If a process died, the share mode entry might be bogus. Ignore those entries.

Signed-off-by: Jeremy Allison <jra@samba.org>
2012-05-17 13:17:22 -07:00
Volker Lendecke
4e1656a782 s3: Check for serverid_exists in rename_share_filename
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-05-17 13:17:22 -07:00
Volker Lendecke
f45966d169 s3: Add "share_mode_stale_server"
This is a helper routine that prunes a dead share mode entry on demand. This
prepares for removing the serverids_exist call in parse_share_modes.

Signed-off-by: Jeremy Allison <jra@samba.org>
2012-05-17 13:17:21 -07:00
Jeremy Allison
989fc20fc3 Found whilst back-porting the fix for bug 8837 - smbd crashes when deleting directory and veto files are enabled.
The delete tokens are unique to each name hash representing a pathname,
if we don't correctly return here we'll add duplicate tokens for a
given pasname hash.

Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Sat Apr  7 02:13:58 CEST 2012 on sn-devel-104
2012-04-07 02:13:58 +02:00
Jeremy Allison
c10ed730d4 Second part of bugfix for bug #8837 - smbd crashes when deleting directory and veto files are enabled.
Store the 'struct security_token' as well as the 'struct security_unix_token'
inside the locking db when setting a delete on close.
2012-04-04 14:58:42 -07:00
Volker Lendecke
f217faef1a s3: get_share_mode_lock_fresh->get_share_mode_lock
get_share_mode_lock_fresh is just a confusing name

Autobuild-User: Volker Lendecke <vl@samba.org>
Autobuild-Date: Sun Feb 19 19:16:41 CET 2012 on sn-devel-104
2012-02-19 19:16:41 +01:00
Volker Lendecke
e5c8484073 s3: get_share_mode_lock->get_existing_share_mode_lock 2012-02-19 17:44:26 +01:00
Jeremy Allison
6c1d98eac0 Add comments to all functions (to help me understand it better).
Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Fri Jan 13 01:35:03 CET 2012 on sn-devel-104
2012-01-13 01:35:03 +01:00
Volker Lendecke
6f9442a705 s3: Move the share_mode_lock handling to its own file
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-01-12 23:59:22 +01:00
Volker Lendecke
cfebba96bd s3: Put an indirection layer into share_mode_lock
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-01-12 23:59:22 +01:00
Volker Lendecke
9cf6d735d4 s3: Introduce get_share_mode_lock_fresh()
This slightly simplifies the code path for all callers which assume
that a share mode exists already. Only the callers in open_file_ntcreate
and open_directory will ever create new share modes.

Signed-off-by: Jeremy Allison <jra@samba.org>
2012-01-12 23:59:22 +01:00
Volker Lendecke
540e51f77e s3: Replace fill_share_mode_lock()
This replaces fill_share_mode_lock() with the two routines
fresh_share_mode_lock() and parse_share_modes(). This lifts the
decision whether a share mode already existed on level up.

Signed-off-by: Jeremy Allison <jra@samba.org>
2012-01-12 23:59:22 +01:00
Jeremy Allison
5cddd22cd8 Fix format warning message. 2012-01-06 14:25:06 -08:00
Volker Lendecke
2b75e877fb s3: Fix a 64-bit warning 2011-12-25 13:31:58 +01:00
Stefan Metzmacher
fe7c5198a2 s3:locking: avoid using sconn_server_id()
metze
2011-12-16 13:19:32 +01:00
Volker Lendecke
1355f0ac8c s3: Fix a typo
Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Thu Dec 15 23:35:28 CET 2011 on sn-devel-104
2011-12-15 23:35:28 +01:00
Volker Lendecke
f7e84f2809 s3: Remove UNUSED_SHARE_MODE_ENTRY 2011-12-14 17:34:21 +01:00
Volker Lendecke
34d58c9d92 s3: Move can_set_delete_on_close to smbd/ 2011-12-13 17:27:26 +01:00
Volker Lendecke
1cf54ef4a6 s3: Use talloc_tos() in set_write_time()
Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Tue Dec 13 15:44:58 CET 2011 on sn-devel-104
2011-12-13 15:44:58 +01:00