[Devel] [PATCH rh7 1/3] cfq-iosched: simplify control flow in cfq_get_queue()

2015-11-20 Thread Andrey Ryabinin
From: Tejun Heo cfq_get_queue()'s control flow looks like the following. async_cfqq = NULL; cfqq = NULL; if (!is_sync) { ... async_cfqq = ...; cfqq = *async_cfqq; } if (!cfqq) cfqq = ...;

[Devel] [PATCH rh7 2/3] cfq-iosched: fix async oom queue handling

2015-11-20 Thread Andrey Ryabinin
From: Tejun Heo Async cfqq's (cfq_queue's) are shared across cfq_data. When cfq_get_queue() obtains a new queue from cfq_find_alloc_queue(), it stashes the pointer in cfq_data and reuses it from then on; however, the function doesn't consider that cfq_find_alloc_queue() may return the oom_cfqq u

[Devel] [PATCH rh7 3/3] cfq-iosched: fix oom cfq_queue ref leak in cfq_set_request()

2015-11-20 Thread Andrey Ryabinin
From: Tejun Heo If the cfq_queue cached in cfq_io_cq is the oom one, cfq_set_request() replaces it by invoking cfq_get_queue() again without putting the oom queue leaking the reference it was holding. While oom queues are not released through reference counting, they're still reference counted a

[Devel] [PATCH rh7] fsnotify: fix check in inotify fdinfo printing

2015-11-20 Thread Cyrill Gorcunov
ML: 3c53e514212455db9923c203694a72007558b48f From: Jan Kara A check in inotify_fdinfo() checking whether mark is valid was always true due to a bug. Luckily we can never get to invalidated marks since we hold mark_mutex and invalidated marks get removed from the group list when they are invalid

[Devel] [PATCH rh7] kernel/freezer: don't freeze stopped & about to be ptraced task

2015-11-20 Thread Andrey Ryabinin
So, the ptrace() hangs if we try to attach to stopped task from freezing cgroup: Tracee: Tracer: static bool do_signal_stop(int signr) __set_current_state(TASK_STOPPED); freezable_schedule(); freezer_do_not_count();

Re: [Devel] bug#21790: [PATCH] coreutils/cp: handle EOF extents correctly

2015-11-20 Thread Pádraig Brady
On 30/10/15 18:54, Pádraig Brady wrote: > On 30/10/15 16:57, Pádraig Brady wrote: >> On 30/10/15 09:02, Dmitry Monakhov wrote: >>> fallocate can allocate extens beyond EOF via FALLOC_FL_KEEP_SIZE. >>> Currenly sparse engine tries to copy such extents which is wrong and >>> result in silent data cor