On Thu, Aug 31, 2017 at 1:22 AM, Jan Kara <jack@xxxxxxx> wrote: > On Wed 30-08-17 12:44:03, 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@xxxxxxx> >> Cc: Andreas Dilger <adilger.kernel@xxxxxxxxx> >> Cc: Jan Kara <jack@xxxxxxx> >> Reported-by: Christoph Hellwig <hch@xxxxxx> >> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> > > Looks good to me (and it looks even cleaner than your previous approach). > Just one nit below. You can add: > > Reviewed-by: Jan Kara <jack@xxxxxxx> > >> diff --git a/fs/ext2/super.c b/fs/ext2/super.c >> index 7b1bc9059863..d9dd999568c2 100644 >> --- a/fs/ext2/super.c >> +++ b/fs/ext2/super.c >> @@ -144,6 +144,7 @@ static void ext2_put_super (struct super_block * sb) >> int db_count; >> int i; >> struct ext2_sb_info *sbi = EXT2_SB(sb); >> + struct dax_device *dax_dev = sbi->s_daxdev; >> >> ext2_quota_off_umount(sb); >> >> @@ -172,6 +173,7 @@ static void ext2_put_super (struct super_block * sb) >> sb->s_fs_info = NULL; >> kfree(sbi->s_blockgroup_lock); >> kfree(sbi); >> + fs_put_dax(dax_dev); > > The local variable looks superfluous here. I'd just do > fs_put_dax(sbi->s_daxdev); Ok... and move that before the kfree(sbi).