From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx2.suse.de ([195.135.220.15]:53772 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751826AbdJJI4Z (ORCPT ); Tue, 10 Oct 2017 04:56:25 -0400 Date: Tue, 10 Oct 2017 10:56:21 +0200 From: Jan Kara To: Tejun Heo Cc: jack@suse.cz, axboe@kernel.dk, clm@fb.com, jbacik@fb.com, kernel-team@fb.com, linux-kernel@vger.kernel.org, linux-btrfs@vger.kernel.org, "Theodore Ts'o" , Andreas Dilger , linux-ext4@vger.kernel.org Subject: Re: [PATCH 1/3] cgroup, writeback: replace SB_I_CGROUPWB with per-inode S_CGROUPWB Message-ID: <20171010085621.GE775@quack2.suse.cz> References: <20171009212911.473208-1-tj@kernel.org> <20171009212911.473208-2-tj@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: <20171009212911.473208-2-tj@kernel.org> Sender: linux-btrfs-owner@vger.kernel.org List-ID: On Mon 09-10-17 14:29:09, Tejun Heo wrote: > Currently, filesystem can indiate cgroup writeback support per > superblock; however, depending on the filesystem, especially if inodes > are used to carry metadata, it can be useful to indicate cgroup > writeback support per inode. > > This patch replaces the superblock flag SB_I_CGROUPWB with per-inode > S_CGROUPWB, so that cgroup writeback can be enabled selectively. > > * block_dev sets the new flag in bdget() when initializing new inode. > > * ext2/4 set the new flag in ext?_set_inode_flags() function. > > * btrfs sets the new flag in btrfs_update_iflags() function. Note > that this automatically excludes btree_inode which doesn't use > btrfs_update_iflags() during initialization. This is an intended > behavior change. > > Signed-off-by: Tejun Heo > Cc: Jan Kara > Cc: Jens Axboe > Cc: Chris Mason > Cc: Josef Bacik > Cc: linux-btrfs@vger.kernel.org > Cc: "Theodore Ts'o" > Cc: Andreas Dilger > Cc: linux-ext4@vger.kernel.org ... > diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c > index 31db875..344f12b 100644 > --- a/fs/ext4/inode.c > +++ b/fs/ext4/inode.c > @@ -4591,8 +4591,11 @@ void ext4_set_inode_flags(struct inode *inode) > !ext4_should_journal_data(inode) && !ext4_has_inline_data(inode) && > !ext4_encrypted_inode(inode)) > new_fl |= S_DAX; > + if (test_opt(inode->i_sb, DATA_FLAGS) != EXT4_MOUNT_JOURNAL_DATA) > + new_fl |= S_CGROUPWB; Use ext4_should_journal_data(inode) here? Ext4 can be journalling data also because of per-inode flag. Otherwise the patch looks good. You can add: Reviewed-by: Jan Kara Honza -- Jan Kara SUSE Labs, CR