From: Chengguang Xu <cgxu519@mykernel.net> To: miklos@szeredi.hu, amir73il@gmail.com, jack@suse.cz Cc: linux-unionfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, Chengguang Xu <cgxu519@mykernel.net> Subject: [RFC PATCH v2 0/8] implement containerized syncfs for overlayfs Date: Sun, 25 Oct 2020 11:41:09 +0800 Message-ID: <20201025034117.4918-1-cgxu519@mykernel.net> (raw) Current syncfs(2) syscall on overlayfs just calls sync_filesystem() on upper_sb to synchronize whole dirty inodes in upper filesystem regardless of the overlay ownership of the inode. In the use case of container, when multiple containers using the same underlying upper filesystem, it has some shortcomings as below. (1) Performance Synchronization is probably heavy because it actually syncs unnecessary inodes for target overlayfs. (2) Interference Unplanned synchronization will probably impact IO performance of unrelated container processes on the other overlayfs. This series try to implement containerized syncfs for overlayfs so that only sync target dirty upper inodes which are belong to specific overlayfs instance. By doing this, it is able to reduce cost of synchronization and will not seriously impact IO performance of unrelated processes. v1->v2: - Mark overlayfs' inode dirty itself instead of adding notification mechanism to vfs inode. Chengguang Xu (8): ovl: setup overlayfs' private bdi ovl: implement ->writepages operation ovl: implement overlayfs' ->evict_inode operation ovl: mark overlayfs' inode dirty on modification ovl: mark overlayfs' inode dirty on shared writable mmap ovl: implement overlayfs' ->write_inode operation ovl: cache dirty overlayfs' inode ovl: implement containerized syncfs for overlayfs fs/overlayfs/file.c | 4 +++ fs/overlayfs/inode.c | 27 +++++++++++++++++++ fs/overlayfs/overlayfs.h | 4 +++ fs/overlayfs/super.c | 57 +++++++++++++++++++++++++++++++++++++--- fs/overlayfs/util.c | 14 ++++++++++ 5 files changed, 102 insertions(+), 4 deletions(-) -- 2.26.2
next reply index Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-10-25 3:41 Chengguang Xu [this message] 2020-10-25 3:41 ` [RFC PATCH v2 1/8] ovl: setup overlayfs' private bdi Chengguang Xu 2020-10-25 3:41 ` [RFC PATCH v2 2/8] ovl: implement ->writepages operation Chengguang Xu 2020-11-02 17:17 ` Jan Kara 2020-11-04 12:18 ` Chengguang Xu 2020-11-05 13:55 ` Jan Kara 2020-11-06 5:57 ` Chengguang Xu 2020-10-25 3:41 ` [RFC PATCH v2 3/8] ovl: implement overlayfs' ->evict_inode operation Chengguang Xu 2020-10-25 3:41 ` [RFC PATCH v2 4/8] ovl: mark overlayfs' inode dirty on modification Chengguang Xu 2020-10-25 3:41 ` [RFC PATCH v2 5/8] ovl: mark overlayfs' inode dirty on shared writable mmap Chengguang Xu 2020-11-02 17:30 ` Jan Kara 2020-11-04 11:54 ` Chengguang Xu 2020-11-05 14:03 ` Jan Kara 2020-11-05 14:21 ` Amir Goldstein 2020-11-05 15:54 ` Jan Kara 2020-11-06 2:41 ` Chengguang Xu 2020-11-06 8:50 ` Jan Kara 2020-11-06 9:47 ` Chengguang Xu 2020-10-25 3:41 ` [RFC PATCH v2 6/8] ovl: implement overlayfs' ->write_inode operation Chengguang Xu 2020-10-25 3:41 ` [RFC PATCH v2 7/8] ovl: cache dirty overlayfs' inode Chengguang Xu 2020-10-25 3:41 ` [RFC PATCH v2 8/8] ovl: implement containerized syncfs for overlayfs Chengguang Xu 2020-10-30 15:46 ` [RFC PATCH v2 0/8] " Miklos Szeredi 2020-10-31 12:22 ` Chengguang Xu
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20201025034117.4918-1-cgxu519@mykernel.net \ --to=cgxu519@mykernel.net \ --cc=amir73il@gmail.com \ --cc=jack@suse.cz \ --cc=linux-fsdevel@vger.kernel.org \ --cc=linux-unionfs@vger.kernel.org \ --cc=miklos@szeredi.hu \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Linux-Fsdevel Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-fsdevel/0 linux-fsdevel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-fsdevel linux-fsdevel/ https://lore.kernel.org/linux-fsdevel \ linux-fsdevel@vger.kernel.org public-inbox-index linux-fsdevel Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-fsdevel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git