diff options
author | Amir Goldstein <amir73il@gmail.com> | 2023-08-22 19:50:59 +0200 |
---|---|---|
committer | Amir Goldstein <amir73il@gmail.com> | 2023-10-30 23:12:54 +0100 |
commit | 389a4a4a19851211bb9c40d31c664591fb206f69 (patch) | |
tree | 09e00f277c9026cb2a1a60dfae0a366cb2f06695 /fs/super.c | |
parent | ovl: propagate IOCB_APPEND flag on writes to realfile (diff) | |
download | linux-389a4a4a19851211bb9c40d31c664591fb206f69.tar.xz linux-389a4a4a19851211bb9c40d31c664591fb206f69.zip |
ovl: punt write aio completion to workqueue
We want to protect concurrent updates of ovl inode size and mtime
(i.e. ovl_copyattr()) from aio completion context.
Punt write aio completion to a workqueue so that we can protect
ovl_copyattr() with a spinlock.
Export sb_init_dio_done_wq(), so that overlayfs can use its own
dio workqueue to punt aio completions.
Suggested-by: Jens Axboe <axboe@kernel.dk>
Link: https://lore.kernel.org/r/8620dfd3-372d-4ae0-aa3f-2fe97dda1bca@kernel.dk/
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Diffstat (limited to 'fs/super.c')
-rw-r--r-- | fs/super.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/super.c b/fs/super.c index c7b452e12e4c..4cedeb7a7d79 100644 --- a/fs/super.c +++ b/fs/super.c @@ -2157,3 +2157,4 @@ int sb_init_dio_done_wq(struct super_block *sb) destroy_workqueue(wq); return 0; } +EXPORT_SYMBOL_GPL(sb_init_dio_done_wq); |