Thread (13 messages) 13 messages, 4 authors, 2017-08-31

Re: [PATCH v3 3/4] ext2: perform dax_device lookup at mount

From: Dan Williams <hidden>
Date: 2017-08-31 14:20:56
Also in: linux-xfs, nvdimm

On Thu, Aug 31, 2017 at 1:22 AM, Jan Kara [off-list ref] wrote:
On Wed 30-08-17 12:44:03, Dan Williams wrote:
quoted
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 (and it looks even cleaner than your previous approach).
Just one nit below. You can add:

Reviewed-by: Jan Kara <jack@suse.cz>
quoted
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).
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help