Revert "s3: VFS: vfs_glusterfs. Protect vfs_gluster_pwrite_done() from accessing...
authorJeremy Allison <jra@samba.org>
Fri, 13 Mar 2020 17:36:19 +0000 (10:36 -0700)
committerJeremy Allison <jra@samba.org>
Wed, 18 Mar 2020 18:03:30 +0000 (18:03 +0000)
This reverts commit 67910c751c9f5ce8cdd1e57b34e51e5b7163838b.

Now we wait for all aio to finish on all SHUTDOWN_CLOSE
cases, this is no longer needed.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14301

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
source3/modules/vfs_glusterfs.c

index 4e978f168d6bcc66507220841d148b0035b33c5e..52c33725b8d7d8eb5e0a8805190625e24dbefe52 100644 (file)
@@ -967,15 +967,6 @@ static void vfs_gluster_pwrite_do(void *private_data)
 
 static int vfs_gluster_pwrite_state_destructor(struct vfs_gluster_pwrite_state *state)
 {
-       /*
-        * This destructor only gets called if the request is still
-        * in flight, which is why we deny it by returning -1. We
-        * also set the req pointer to NULL so the _done function
-        * can detect the caller doesn't want the result anymore.
-        *
-        * Forcing the fsp closed by a SHUTDOWN_CLOSE can cause this.
-        */
-       state->req = NULL;
        return -1;
 }
 
@@ -990,17 +981,6 @@ static void vfs_gluster_pwrite_done(struct tevent_req *subreq)
        TALLOC_FREE(subreq);
        SMBPROFILE_BYTES_ASYNC_END(state->profile_bytes);
        talloc_set_destructor(state, NULL);
-       if (req == NULL) {
-               /*
-                * We were shutdown closed in flight. No one
-                * wants the result, and state has been reparented
-                * to the NULL context, so just free it so we
-                * don't leak memory.
-                */
-               DBG_NOTICE("gluster pwrite request abandoned in flight\n");
-               TALLOC_FREE(state);
-               return;
-       }
        if (ret != 0) {
                if (ret != EAGAIN) {
                        tevent_req_error(req, ret);