Re: [PATCH v3 4/4] ext4: perform dax_device lookup at mount
From: Jan Kara <jack@suse.cz>
Date: 2017-08-31 08:24:57
Also in:
linux-xfs, nvdimm
On Wed 30-08-17 12:44:08, Dan Williams wrote:
The ->iomap_begin() operation is a hot path, so cache the fs_dax_get_by_host() result at mount time to avoid the incurring the hash lookup overhead on a per-i/o basis. Cc: "Theodore Ts'o" <tytso@mit.edu> Cc: Andreas Dilger <adilger.kernel@dilger.ca> Cc: Jan Kara <jack@suse.cz> Reported-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Dan Williams <redacted>
Looks good to me. You can add: Reviewed-by: Jan Kara <jack@suse.cz> With the same nit as for ext2:
quoted hunk ↗ jump to hunk
diff --git a/fs/ext4/super.c b/fs/ext4/super.c index d61a70e2193a..0b3d94e25efb 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c@@ -864,6 +864,7 @@ static inline void ext4_quota_off_umount(struct super_block *sb) static void ext4_put_super(struct super_block *sb) { struct ext4_sb_info *sbi = EXT4_SB(sb); + struct dax_device *dax_dev = sbi->s_daxdev; struct ext4_super_block *es = sbi->s_es; int aborted = 0; int i, err;@@ -952,6 +953,7 @@ static void ext4_put_super(struct super_block *sb) crypto_free_shash(sbi->s_chksum_driver); kfree(sbi->s_blockgroup_lock); kfree(sbi); + fs_put_dax(dax_dev);
Just remove dax_dev local variable... Honza -- Jan Kara [off-list ref] SUSE Labs, CR