summaryrefslogtreecommitdiffstats
path: root/include/trace/events/ext4.h
diff options
context:
space:
mode:
authorJan Kara <jack@suse.com>2015-12-07 15:04:57 -0500
committerTheodore Ts'o <tytso@mit.edu>2015-12-07 15:04:57 -0500
commit2dcba4781fa3842e28f47ab23056d58cd283fca6 (patch)
treeb544903601f7d249b398e309cecc818c3b4a1767 /include/trace/events/ext4.h
parente74031fd7ed0989da8a80364b4d269a57e9c164a (diff)
downloadop-kernel-dev-2dcba4781fa3842e28f47ab23056d58cd283fca6.zip
op-kernel-dev-2dcba4781fa3842e28f47ab23056d58cd283fca6.tar.gz
ext4: get rid of EXT4_GET_BLOCKS_NO_LOCK flag
When dioread_nolock mode is enabled, we grab i_data_sem in ext4_ext_direct_IO() and therefore we need to instruct _ext4_get_block() not to grab i_data_sem again using EXT4_GET_BLOCKS_NO_LOCK. However holding i_data_sem over overwrite direct IO isn't needed these days. We have exclusion against truncate / hole punching because we increase i_dio_count under i_mutex in ext4_ext_direct_IO() so once ext4_file_write_iter() verifies blocks are allocated & written, they are guaranteed to stay so during the whole direct IO even after we drop i_mutex. So we can just remove this locking abuse and the no longer necessary EXT4_GET_BLOCKS_NO_LOCK flag. Signed-off-by: Jan Kara <jack@suse.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'include/trace/events/ext4.h')
-rw-r--r--include/trace/events/ext4.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/include/trace/events/ext4.h b/include/trace/events/ext4.h
index 594b4b2..5f2ace5 100644
--- a/include/trace/events/ext4.h
+++ b/include/trace/events/ext4.h
@@ -42,8 +42,7 @@ struct extent_status;
{ EXT4_GET_BLOCKS_CONVERT, "CONVERT" }, \
{ EXT4_GET_BLOCKS_METADATA_NOFAIL, "METADATA_NOFAIL" }, \
{ EXT4_GET_BLOCKS_NO_NORMALIZE, "NO_NORMALIZE" }, \
- { EXT4_GET_BLOCKS_KEEP_SIZE, "KEEP_SIZE" }, \
- { EXT4_GET_BLOCKS_NO_LOCK, "NO_LOCK" })
+ { EXT4_GET_BLOCKS_KEEP_SIZE, "KEEP_SIZE" })
#define show_mflags(flags) __print_flags(flags, "", \
{ EXT4_MAP_NEW, "N" }, \
OpenPOWER on IntegriCloud