diff options
author | Dan Williams <dan.j.williams@intel.com> | 2017-08-24 16:42:48 -0700 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2017-08-31 11:12:13 -0700 |
commit | 5e405595e5bf4c09fab9ca1e7dbe5b62872757b5 (patch) | |
tree | d26852e38cf6c07551d0f42f1e03435e75067583 /fs/ext4/ext4.h | |
parent | 8cf037a8b22f71c6659bd0246bfaba9e79766f64 (diff) | |
download | talos-op-linux-5e405595e5bf4c09fab9ca1e7dbe5b62872757b5.tar.gz talos-op-linux-5e405595e5bf4c09fab9ca1e7dbe5b62872757b5.zip |
ext4: perform dax_device lookup at mount
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>
Reviewed-by: Jan Kara <jack@suse.cz>
Reported-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'fs/ext4/ext4.h')
-rw-r--r-- | fs/ext4/ext4.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index a2bb7d2870e4..194e622dc3dd 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h @@ -1528,6 +1528,7 @@ struct ext4_sb_info { /* Barrier between changing inodes' journal flags and writepages ops. */ struct percpu_rw_semaphore s_journal_flag_rwsem; + struct dax_device *s_daxdev; }; static inline struct ext4_sb_info *EXT4_SB(struct super_block *sb) |