X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=fs%2Ffile.c;h=ab3eb6a8823940643ab376782cd9a1e47c583c98;hb=ef161ea1ff96337cbe2253afb72636474d90598e;hp=66923fe3176e49b03617e2f5477bb8e05fc89dc3;hpb=ce4747963252a30613ebf1c1df3d83b9526a342e;p=deliverable%2Flinux.git diff --git a/fs/file.c b/fs/file.c index 66923fe3176e..ab3eb6a88239 100644 --- a/fs/file.c +++ b/fs/file.c @@ -367,7 +367,7 @@ static struct fdtable *close_files(struct files_struct * files) struct file * file = xchg(&fdt->fd[i], NULL); if (file) { filp_close(file, files); - cond_resched(); + cond_resched_rcu_qs(); } } i++; @@ -750,6 +750,7 @@ bool get_close_on_exec(unsigned int fd) static int do_dup2(struct files_struct *files, struct file *file, unsigned fd, unsigned flags) +__releases(&files->file_lock) { struct file *tofree; struct fdtable *fdt;