From: Jens Axboe Date: Fri, 30 Oct 2020 15:36:41 +0000 (-0600) Subject: io-wq: cancel request if it's asking for files and we don't have them X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=3dd1680d1418f22f7ddaf98a4eab66285a099b3e;p=linux.git io-wq: cancel request if it's asking for files and we don't have them This can't currently happen, but will be possible shortly. Handle missing files just like we do not being able to grab a needed mm, and mark the request as needing cancelation. Signed-off-by: Jens Axboe --- diff --git a/fs/io-wq.c b/fs/io-wq.c index 02894df7656dd..b53c055bea6a3 100644 --- a/fs/io-wq.c +++ b/fs/io-wq.c @@ -482,6 +482,10 @@ static void io_impersonate_work(struct io_worker *worker, current->files = work->identity->files; current->nsproxy = work->identity->nsproxy; task_unlock(current); + if (!work->identity->files) { + /* failed grabbing files, ensure work gets cancelled */ + work->flags |= IO_WQ_WORK_CANCEL; + } } if ((work->flags & IO_WQ_WORK_FS) && current->fs != work->identity->fs) current->fs = work->identity->fs;