mirror of
https://github.com/samba-team/samba.git
synced 2025-01-12 09:18:10 +03:00
s3:share_mode_lock: consistently debug share_mode_entry records
share_mode_entry_do(), share_mode_forall_entries() and share_entry_forall() print the record before the callback is called and when it was modified or deleted. This makes it much easier to debug problems. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14428 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
This commit is contained in:
parent
deb2f782c9
commit
4d740ac208
@ -2023,6 +2023,11 @@ static bool share_mode_for_one_entry(
|
||||
(int)e.stale);
|
||||
|
||||
if (e.stale) {
|
||||
if (DEBUGLEVEL>=10) {
|
||||
DBG_DEBUG("share_mode_entry:\n");
|
||||
NDR_PRINT_DEBUG(share_mode_entry, &e);
|
||||
}
|
||||
|
||||
if (*i < *num_share_modes) {
|
||||
memmove(blob.data,
|
||||
blob.data + SHARE_MODE_ENTRY_SIZE,
|
||||
@ -2240,8 +2245,18 @@ static bool share_mode_entry_do(
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (DEBUGLEVEL>=10) {
|
||||
DBG_DEBUG("entry[%zu]:\n", idx);
|
||||
NDR_PRINT_DEBUG(share_mode_entry, &e);
|
||||
}
|
||||
|
||||
fn(&e, ltdb->num_share_entries, &modified, private_data);
|
||||
|
||||
DBG_DEBUG("entry[%zu]: modified=%d, e.stale=%d\n",
|
||||
idx,
|
||||
(int)modified,
|
||||
(int)e.stale);
|
||||
|
||||
if (!e.stale && !modified) {
|
||||
ret = true;
|
||||
goto done;
|
||||
@ -2252,9 +2267,8 @@ static bool share_mode_entry_do(
|
||||
|
||||
if (e.stale) {
|
||||
/*
|
||||
* Move the reset down one entry
|
||||
* Move the rest down one entry
|
||||
*/
|
||||
|
||||
size_t behind = ltdb->num_share_entries - idx - 1;
|
||||
if (behind != 0) {
|
||||
memmove(e_ptr,
|
||||
@ -2262,6 +2276,11 @@ static bool share_mode_entry_do(
|
||||
behind * SHARE_MODE_ENTRY_SIZE);
|
||||
}
|
||||
ltdb->num_share_entries -= 1;
|
||||
|
||||
if (DEBUGLEVEL>=10) {
|
||||
DBG_DEBUG("share_mode_entry:\n");
|
||||
NDR_PRINT_DEBUG(share_mode_entry, &e);
|
||||
}
|
||||
} else {
|
||||
struct share_mode_entry_buf buf;
|
||||
bool ok;
|
||||
|
Loading…
Reference in New Issue
Block a user