]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
smbd: Remove "share_mode_entry->lease"
authorVolker Lendecke <vl@samba.org>
Wed, 25 Jul 2018 15:05:34 +0000 (17:05 +0200)
committerJeremy Allison <jra@samba.org>
Thu, 26 Jul 2018 23:42:31 +0000 (01:42 +0200)
smbstatus was the only user, and this could be solved by adapting
share_entry_forall.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Fri Jul 27 01:42:31 CEST 2018 on sn-devel-144

source3/librpc/idl/open_files.idl
source3/locking/locking.c
source3/locking/share_mode_lock.c

index 8d652a9fa01239cf903a3086a360bb270b4a5d94..c07a903878e3c2ef7a7fd0961970581f9e6c33ce 100644 (file)
@@ -61,7 +61,6 @@ interface open_files
                 * to store this share_mode_entry on disk.
                 */
                [skip] boolean8 stale;
-               [ignore] share_mode_lease *lease;
        } share_mode_entry;
 
        typedef [public] struct {
index e962fee89abe32e34c87ff16f4887fe8c1f8b99c..208f7e2081d0fee4a76c2c8920739a226fe7b16c 100644 (file)
@@ -713,7 +713,6 @@ static void remove_share_mode_lease(struct share_mode_data *d,
        for (i=0; i<d->num_share_modes; i++) {
                if (d->share_modes[i].lease_idx == d->num_leases) {
                        d->share_modes[i].lease_idx = lease_idx;
-                       d->share_modes[i].lease = &d->leases[lease_idx];
                }
        }
 
@@ -816,14 +815,10 @@ bool set_share_mode(struct share_mode_lock *lck, struct files_struct *fsp,
 {
        struct share_mode_data *d = lck->data;
        struct share_mode_entry *tmp, *e;
-       struct share_mode_lease *lease = NULL;
 
-       if (lease_idx == UINT32_MAX) {
-               lease = NULL;
-       } else if (lease_idx >= d->num_leases) {
+       if ((lease_idx != UINT32_MAX) &&
+           (lease_idx >= d->num_leases)) {
                return false;
-       } else {
-               lease = &d->leases[lease_idx];
        }
 
        tmp = talloc_realloc(d, d->share_modes, struct share_mode_entry,
@@ -844,7 +839,6 @@ bool set_share_mode(struct share_mode_lock *lck, struct files_struct *fsp,
        e->op_mid = mid;
        e->op_type = op_type;
        e->lease_idx = lease_idx;
-       e->lease = lease;
        e->time.tv_sec = fsp->open_time.tv_sec;
        e->time.tv_usec = fsp->open_time.tv_usec;
        e->share_file_id = fsp->fh->gen_id;
index f62a3b4ff3d96096a64df181c2853279d33594be..9314735ceda05b61d5c075be19bff9404660502e 100644 (file)
@@ -329,17 +329,7 @@ static struct share_mode_data *parse_share_modes(TALLOC_CTX *mem_ctx,
         */
 
        for (i=0; i<d->num_share_modes; i++) {
-               struct share_mode_entry *e = &d->share_modes[i];
-
-               e->stale = false;
-               e->lease = NULL;
-               if (e->op_type != LEASE_OPLOCK) {
-                       continue;
-               }
-               if (e->lease_idx >= d->num_leases) {
-                       continue;
-               }
-               e->lease = &d->leases[e->lease_idx];
+               d->share_modes[i].stale = false;
        }
        d->modified = false;
        d->fresh = false;
@@ -836,9 +826,7 @@ static int share_mode_traverse_fn(struct db_record *rec, void *_state)
        }
 
        for (i=0; i<d->num_share_modes; i++) {
-               struct share_mode_entry *entry = &d->share_modes[i];
-               entry->stale = false; /* [skip] in idl */
-               entry->lease = &d->leases[entry->lease_idx];
+               d->share_modes[i].stale = false;
        }
 
        if (DEBUGLEVEL > 10) {