diff options
Diffstat (limited to 'fs/ext4/extents.c')
-rw-r--r-- | fs/ext4/extents.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c index 9a3844adb1cb..4444317d141a 100644 --- a/fs/ext4/extents.c +++ b/fs/ext4/extents.c | |||
@@ -2035,6 +2035,7 @@ ext4_ext_in_cache(struct inode *inode, ext4_lblk_t block, | |||
2035 | struct ext4_extent *ex) | 2035 | struct ext4_extent *ex) |
2036 | { | 2036 | { |
2037 | struct ext4_ext_cache *cex; | 2037 | struct ext4_ext_cache *cex; |
2038 | struct ext4_sb_info *sbi; | ||
2038 | int ret = 0; | 2039 | int ret = 0; |
2039 | 2040 | ||
2040 | /* | 2041 | /* |
@@ -2042,6 +2043,7 @@ ext4_ext_in_cache(struct inode *inode, ext4_lblk_t block, | |||
2042 | */ | 2043 | */ |
2043 | spin_lock(&EXT4_I(inode)->i_block_reservation_lock); | 2044 | spin_lock(&EXT4_I(inode)->i_block_reservation_lock); |
2044 | cex = &EXT4_I(inode)->i_cached_extent; | 2045 | cex = &EXT4_I(inode)->i_cached_extent; |
2046 | sbi = EXT4_SB(inode->i_sb); | ||
2045 | 2047 | ||
2046 | /* has cache valid data? */ | 2048 | /* has cache valid data? */ |
2047 | if (cex->ec_len == 0) | 2049 | if (cex->ec_len == 0) |
@@ -2057,6 +2059,10 @@ ext4_ext_in_cache(struct inode *inode, ext4_lblk_t block, | |||
2057 | ret = 1; | 2059 | ret = 1; |
2058 | } | 2060 | } |
2059 | errout: | 2061 | errout: |
2062 | if (!ret) | ||
2063 | sbi->extent_cache_misses++; | ||
2064 | else | ||
2065 | sbi->extent_cache_hits++; | ||
2060 | spin_unlock(&EXT4_I(inode)->i_block_reservation_lock); | 2066 | spin_unlock(&EXT4_I(inode)->i_block_reservation_lock); |
2061 | return ret; | 2067 | return ret; |
2062 | } | 2068 | } |
@@ -3901,4 +3907,3 @@ int ext4_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo, | |||
3901 | 3907 | ||
3902 | return error; | 3908 | return error; |
3903 | } | 3909 | } |
3904 | |||