Lines Matching refs:new_fdt
202 struct fdtable *new_fdt, *cur_fdt;
205 new_fdt = alloc_fdtable(nr);
207 if (!new_fdt)
213 if (unlikely(new_fdt->max_fds <= nr)) {
214 __free_fdtable(new_fdt);
224 copy_fdtable(new_fdt, cur_fdt);
225 rcu_assign_pointer(files->fdt, new_fdt);
230 __free_fdtable(new_fdt);
292 struct fdtable *old_fdt, *new_fdt;
303 new_fdt = &newf->fdtab;
304 new_fdt->max_fds = NR_OPEN_DEFAULT;
305 new_fdt->close_on_exec = (fd_set *)&newf->close_on_exec_init;
306 new_fdt->open_fds = (fd_set *)&newf->open_fds_init;
307 new_fdt->fd = &newf->fd_array[0];
308 new_fdt->next = NULL;
317 while (unlikely(open_files > new_fdt->max_fds)) {
320 if (new_fdt != &newf->fdtab)
321 __free_fdtable(new_fdt);
323 new_fdt = alloc_fdtable(open_files - 1);
324 if (!new_fdt) {
330 if (unlikely(new_fdt->max_fds < open_files)) {
331 __free_fdtable(new_fdt);
347 new_fds = new_fdt->fd;
349 memcpy(new_fdt->open_fds->fds_bits,
351 memcpy(new_fdt->close_on_exec->fds_bits,
365 FD_CLR(open_files - i, new_fdt->open_fds);
372 size = (new_fdt->max_fds - open_files) * sizeof(struct file *);
377 if (new_fdt->max_fds > open_files) {
378 int left = (new_fdt->max_fds-open_files)/8;
381 memset(&new_fdt->open_fds->fds_bits[start], 0, left);
382 memset(&new_fdt->close_on_exec->fds_bits[start], 0, left);
385 rcu_assign_pointer(newf->fdt, new_fdt);