]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3: smbd: Remove the 'close oldest' logic in SMB1search processing.
authorJeremy Allison <jra@samba.org>
Mon, 8 Jul 2019 22:23:57 +0000 (15:23 -0700)
committerJeremy Allison <jra@samba.org>
Tue, 9 Jul 2019 23:12:17 +0000 (23:12 +0000)
Expect the client to manage their handles properly.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
source3/smbd/dir.c

index d0c452ef5784bfacfbeeb234a846ddb39becd49c..a2e0687da50943a5aed5b3e755bd13fcc90ed6a5 100644 (file)
@@ -527,23 +527,12 @@ NTSTATUS dptr_create(connection_struct *conn,
                dptr->dnum = bitmap_find(sconn->searches.dptr_bmap, 0);
 
                if(dptr->dnum == -1 || dptr->dnum > 254) {
-
-                       /*
-                        * Try and close the oldest handle not marked for
-                        * expect close in the hope that the client has
-                        * finished with that one.
-                        */
-
-                       dptr_close_oldest(sconn, true);
-
-                       /* Now try again... */
-                       dptr->dnum = bitmap_find(sconn->searches.dptr_bmap, 0);
-                       if(dptr->dnum == -1 || dptr->dnum > 254) {
-                               DEBUG(0,("dptr_create: returned %d: Error - all old dirptrs in use ?\n", dptr->dnum));
-                               TALLOC_FREE(dptr);
-                               TALLOC_FREE(dir_hnd);
-                               return NT_STATUS_TOO_MANY_OPENED_FILES;
-                       }
+                       DBG_ERR("returned %d: Error - all old "
+                               "dirptrs in use ?\n",
+                               dptr->dnum);
+                       TALLOC_FREE(dptr);
+                       TALLOC_FREE(dir_hnd);
+                       return NT_STATUS_TOO_MANY_OPENED_FILES;
                }
        } else {