s3: Do not check the PIDs is parse_share_modes
authorVolker Lendecke <vl@samba.org>
Mon, 7 May 2012 14:34:11 +0000 (16:34 +0200)
committerJeremy Allison <jra@samba.org>
Thu, 17 May 2012 20:17:22 +0000 (13:17 -0700)
We do that when conflicts arise

Signed-off-by: Jeremy Allison <jra@samba.org>
source3/locking/share_mode_lock.c

index f28332c226773c757a0b87029dbb6bd1defcbdf4..1fea748e724f3a0358b641ae6a8c836036c99a66 100644 (file)
@@ -118,9 +118,6 @@ static struct share_mode_data *parse_share_modes(TALLOC_CTX *mem_ctx,
                                                 const TDB_DATA dbuf)
 {
        struct share_mode_data *d;
-       int i;
-       struct server_id *pids;
-       bool *pid_exists;
        enum ndr_err_code ndr_err;
        DATA_BLOB blob;
 
@@ -148,45 +145,6 @@ static struct share_mode_data *parse_share_modes(TALLOC_CTX *mem_ctx,
                NDR_PRINT_DEBUG(share_mode_data, d);
        }
 
-       /*
-        * Ensure that each entry has a real process attached.
-        */
-
-       pids = talloc_array(talloc_tos(), struct server_id,
-                           d->num_share_modes);
-       if (pids == NULL) {
-               DEBUG(0, ("talloc failed\n"));
-               goto fail;
-       }
-       pid_exists = talloc_array(talloc_tos(), bool, d->num_share_modes);
-       if (pid_exists == NULL) {
-               DEBUG(0, ("talloc failed\n"));
-               goto fail;
-       }
-
-       for (i=0; i<d->num_share_modes; i++) {
-               pids[i] = d->share_modes[i].pid;
-       }
-       if (!serverids_exist(pids, d->num_share_modes, pid_exists)) {
-               DEBUG(0, ("serverid_exists failed\n"));
-               goto fail;
-       }
-
-       i = 0;
-       while (i < d->num_share_modes) {
-               struct share_mode_entry *e = &d->share_modes[i];
-               if (!pid_exists[i]) {
-                       DEBUG(10, ("wipe non-existent pid %s\n",
-                                  procid_str_static(&e->pid)));
-                       *e = d->share_modes[d->num_share_modes-1];
-                       d->num_share_modes -= 1;
-                       d->modified = True;
-                       continue;
-               }
-               i += 1;
-       }
-       TALLOC_FREE(pid_exists);
-       TALLOC_FREE(pids);
        return d;
 fail:
        TALLOC_FREE(d);