return 0;
}
+/*
+ * We have to close all fd's in open files, we might incorrectly hold a system
+ * level share mode on a file.
+ */
+
+static struct files_struct *close_fsp_fd(struct files_struct *fsp,
+ void *private_data)
+{
+ if ((fsp->fh != NULL) && (fsp->fh->fd != -1)) {
+ close(fsp->fh->fd);
+ fsp->fh->fd = -1;
+ }
+ return NULL;
+}
+
static NTSTATUS create_aio_child(struct aio_child_list *children,
size_t map_size,
struct aio_child **presult)
if (result->pid == 0) {
close(fdpair[0]);
result->sockfd = fdpair[1];
+ file_walk_table(close_fsp_fd, NULL);
aio_child_loop(result->sockfd, result->map);
}