* [PATCH 0/2] remove EXT4_GET_BLOCKS_KEEP_SIZE flag, etc. @ 2020-04-15 20:31 Eric Whitney 2020-04-15 20:31 ` [PATCH 1/2] ext4: remove EXT4_GET_BLOCKS_KEEP_SIZE flag Eric Whitney 2020-04-15 20:31 ` [PATCH 2/2] ext4: translate a few more map flags to strings in tracepoints Eric Whitney 0 siblings, 2 replies; 7+ messages in thread From: Eric Whitney @ 2020-04-15 20:31 UTC (permalink / raw) To: linux-ext4; +Cc: tytso, Eric Whitney Some code was left behind after removing EXT4_EOFBLOCKS_FL and the code associated with it in order to minimize the amount of change in that earlier patch and to make it easier to revert in the event that proved necessary. The first patch in this series cleans that up. While writing that patch I noticed that there were some ext4_map_blocks() flag translations missing, and the second patch in the series fixes that. I've bundled them together here to aid merging, as there's a common dependency in ext4.h. Eric Whitney (2): ext4: remove EXT4_GET_BLOCKS_KEEP_SIZE flag ext4: translate a few more map flags to strings in tracepoints fs/ext4/ext4.h | 2 -- fs/ext4/extents.c | 4 ---- fs/ext4/inode.c | 12 ++++-------- include/trace/events/ext4.h | 6 ++++-- 4 files changed, 8 insertions(+), 16 deletions(-) -- 2.11.0 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/2] ext4: remove EXT4_GET_BLOCKS_KEEP_SIZE flag 2020-04-15 20:31 [PATCH 0/2] remove EXT4_GET_BLOCKS_KEEP_SIZE flag, etc Eric Whitney @ 2020-04-15 20:31 ` Eric Whitney 2020-04-22 16:12 ` Jan Kara 2020-04-15 20:31 ` [PATCH 2/2] ext4: translate a few more map flags to strings in tracepoints Eric Whitney 1 sibling, 1 reply; 7+ messages in thread From: Eric Whitney @ 2020-04-15 20:31 UTC (permalink / raw) To: linux-ext4; +Cc: tytso, Eric Whitney The eofblocks code was removed in the 5.7 release by "ext4: remove EOFBLOCKS_FL and associated code" (4337ecd1fe99). The ext4_map_blocks() flag used to trigger it can now be removed as well. Signed-off-by: Eric Whitney <enwlinux@gmail.com> --- fs/ext4/ext4.h | 2 -- fs/ext4/extents.c | 4 ---- fs/ext4/inode.c | 12 ++++-------- include/trace/events/ext4.h | 1 - 4 files changed, 4 insertions(+), 15 deletions(-) diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index 91eb4381cae5..c8d060627448 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h @@ -609,8 +609,6 @@ enum { #define EXT4_GET_BLOCKS_METADATA_NOFAIL 0x0020 /* Don't normalize allocation size (used for fallocate) */ #define EXT4_GET_BLOCKS_NO_NORMALIZE 0x0040 - /* Request will not result in inode size update (user for fallocate) */ -#define EXT4_GET_BLOCKS_KEEP_SIZE 0x0080 /* Convert written extents to unwritten */ #define EXT4_GET_BLOCKS_CONVERT_UNWRITTEN 0x0100 /* Write zeros to newly created written extents */ diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c index 031752cfb6f7..18ede2f9e4ad 100644 --- a/fs/ext4/extents.c +++ b/fs/ext4/extents.c @@ -4507,8 +4507,6 @@ static long ext4_zero_range(struct file *file, loff_t offset, } flags = EXT4_GET_BLOCKS_CREATE_UNWRIT_EXT; - if (mode & FALLOC_FL_KEEP_SIZE) - flags |= EXT4_GET_BLOCKS_KEEP_SIZE; /* Wait all existing dio workers, newcomers will block on i_mutex */ inode_dio_wait(inode); @@ -4647,8 +4645,6 @@ long ext4_fallocate(struct file *file, int mode, loff_t offset, loff_t len) max_blocks = EXT4_MAX_BLOCKS(len, offset, blkbits); flags = EXT4_GET_BLOCKS_CREATE_UNWRIT_EXT; - if (mode & FALLOC_FL_KEEP_SIZE) - flags |= EXT4_GET_BLOCKS_KEEP_SIZE; inode_lock(inode); diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index e416096fc081..97562c51c1c9 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -432,11 +432,9 @@ static void ext4_map_blocks_es_recheck(handle_t *handle, */ down_read(&EXT4_I(inode)->i_data_sem); if (ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS)) { - retval = ext4_ext_map_blocks(handle, inode, map, flags & - EXT4_GET_BLOCKS_KEEP_SIZE); + retval = ext4_ext_map_blocks(handle, inode, map, 0); } else { - retval = ext4_ind_map_blocks(handle, inode, map, flags & - EXT4_GET_BLOCKS_KEEP_SIZE); + retval = ext4_ind_map_blocks(handle, inode, map, 0); } up_read((&EXT4_I(inode)->i_data_sem)); @@ -541,11 +539,9 @@ int ext4_map_blocks(handle_t *handle, struct inode *inode, */ down_read(&EXT4_I(inode)->i_data_sem); if (ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS)) { - retval = ext4_ext_map_blocks(handle, inode, map, flags & - EXT4_GET_BLOCKS_KEEP_SIZE); + retval = ext4_ext_map_blocks(handle, inode, map, 0); } else { - retval = ext4_ind_map_blocks(handle, inode, map, flags & - EXT4_GET_BLOCKS_KEEP_SIZE); + retval = ext4_ind_map_blocks(handle, inode, map, 0); } if (retval > 0) { unsigned int status; diff --git a/include/trace/events/ext4.h b/include/trace/events/ext4.h index 19c87661eeec..40ff8a2fc763 100644 --- a/include/trace/events/ext4.h +++ b/include/trace/events/ext4.h @@ -45,7 +45,6 @@ struct partial_cluster; { 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_ZERO, "ZERO" }) /* -- 2.11.0 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] ext4: remove EXT4_GET_BLOCKS_KEEP_SIZE flag 2020-04-15 20:31 ` [PATCH 1/2] ext4: remove EXT4_GET_BLOCKS_KEEP_SIZE flag Eric Whitney @ 2020-04-22 16:12 ` Jan Kara 2020-05-14 14:43 ` Theodore Y. Ts'o 0 siblings, 1 reply; 7+ messages in thread From: Jan Kara @ 2020-04-22 16:12 UTC (permalink / raw) To: Eric Whitney; +Cc: linux-ext4, tytso On Wed 15-04-20 16:31:39, Eric Whitney wrote: > The eofblocks code was removed in the 5.7 release by "ext4: remove > EOFBLOCKS_FL and associated code" (4337ecd1fe99). The ext4_map_blocks() > flag used to trigger it can now be removed as well. > > Signed-off-by: Eric Whitney <enwlinux@gmail.com> Looks good to me. You can add: Reviewed-by: Jan Kara <jack@suse.cz> Honza > --- > fs/ext4/ext4.h | 2 -- > fs/ext4/extents.c | 4 ---- > fs/ext4/inode.c | 12 ++++-------- > include/trace/events/ext4.h | 1 - > 4 files changed, 4 insertions(+), 15 deletions(-) > > diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h > index 91eb4381cae5..c8d060627448 100644 > --- a/fs/ext4/ext4.h > +++ b/fs/ext4/ext4.h > @@ -609,8 +609,6 @@ enum { > #define EXT4_GET_BLOCKS_METADATA_NOFAIL 0x0020 > /* Don't normalize allocation size (used for fallocate) */ > #define EXT4_GET_BLOCKS_NO_NORMALIZE 0x0040 > - /* Request will not result in inode size update (user for fallocate) */ > -#define EXT4_GET_BLOCKS_KEEP_SIZE 0x0080 > /* Convert written extents to unwritten */ > #define EXT4_GET_BLOCKS_CONVERT_UNWRITTEN 0x0100 > /* Write zeros to newly created written extents */ > diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c > index 031752cfb6f7..18ede2f9e4ad 100644 > --- a/fs/ext4/extents.c > +++ b/fs/ext4/extents.c > @@ -4507,8 +4507,6 @@ static long ext4_zero_range(struct file *file, loff_t offset, > } > > flags = EXT4_GET_BLOCKS_CREATE_UNWRIT_EXT; > - if (mode & FALLOC_FL_KEEP_SIZE) > - flags |= EXT4_GET_BLOCKS_KEEP_SIZE; > > /* Wait all existing dio workers, newcomers will block on i_mutex */ > inode_dio_wait(inode); > @@ -4647,8 +4645,6 @@ long ext4_fallocate(struct file *file, int mode, loff_t offset, loff_t len) > > max_blocks = EXT4_MAX_BLOCKS(len, offset, blkbits); > flags = EXT4_GET_BLOCKS_CREATE_UNWRIT_EXT; > - if (mode & FALLOC_FL_KEEP_SIZE) > - flags |= EXT4_GET_BLOCKS_KEEP_SIZE; > > inode_lock(inode); > > diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c > index e416096fc081..97562c51c1c9 100644 > --- a/fs/ext4/inode.c > +++ b/fs/ext4/inode.c > @@ -432,11 +432,9 @@ static void ext4_map_blocks_es_recheck(handle_t *handle, > */ > down_read(&EXT4_I(inode)->i_data_sem); > if (ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS)) { > - retval = ext4_ext_map_blocks(handle, inode, map, flags & > - EXT4_GET_BLOCKS_KEEP_SIZE); > + retval = ext4_ext_map_blocks(handle, inode, map, 0); > } else { > - retval = ext4_ind_map_blocks(handle, inode, map, flags & > - EXT4_GET_BLOCKS_KEEP_SIZE); > + retval = ext4_ind_map_blocks(handle, inode, map, 0); > } > up_read((&EXT4_I(inode)->i_data_sem)); > > @@ -541,11 +539,9 @@ int ext4_map_blocks(handle_t *handle, struct inode *inode, > */ > down_read(&EXT4_I(inode)->i_data_sem); > if (ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS)) { > - retval = ext4_ext_map_blocks(handle, inode, map, flags & > - EXT4_GET_BLOCKS_KEEP_SIZE); > + retval = ext4_ext_map_blocks(handle, inode, map, 0); > } else { > - retval = ext4_ind_map_blocks(handle, inode, map, flags & > - EXT4_GET_BLOCKS_KEEP_SIZE); > + retval = ext4_ind_map_blocks(handle, inode, map, 0); > } > if (retval > 0) { > unsigned int status; > diff --git a/include/trace/events/ext4.h b/include/trace/events/ext4.h > index 19c87661eeec..40ff8a2fc763 100644 > --- a/include/trace/events/ext4.h > +++ b/include/trace/events/ext4.h > @@ -45,7 +45,6 @@ struct partial_cluster; > { 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_ZERO, "ZERO" }) > > /* > -- > 2.11.0 > -- Jan Kara <jack@suse.com> SUSE Labs, CR ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] ext4: remove EXT4_GET_BLOCKS_KEEP_SIZE flag 2020-04-22 16:12 ` Jan Kara @ 2020-05-14 14:43 ` Theodore Y. Ts'o 0 siblings, 0 replies; 7+ messages in thread From: Theodore Y. Ts'o @ 2020-05-14 14:43 UTC (permalink / raw) To: Jan Kara; +Cc: Eric Whitney, linux-ext4 On Wed, Apr 22, 2020 at 06:12:14PM +0200, Jan Kara wrote: > On Wed 15-04-20 16:31:39, Eric Whitney wrote: > > The eofblocks code was removed in the 5.7 release by "ext4: remove > > EOFBLOCKS_FL and associated code" (4337ecd1fe99). The ext4_map_blocks() > > flag used to trigger it can now be removed as well. > > > > Signed-off-by: Eric Whitney <enwlinux@gmail.com> > > Looks good to me. You can add: > > Reviewed-by: Jan Kara <jack@suse.cz> Applied, thanks. - Ted ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/2] ext4: translate a few more map flags to strings in tracepoints 2020-04-15 20:31 [PATCH 0/2] remove EXT4_GET_BLOCKS_KEEP_SIZE flag, etc Eric Whitney 2020-04-15 20:31 ` [PATCH 1/2] ext4: remove EXT4_GET_BLOCKS_KEEP_SIZE flag Eric Whitney @ 2020-04-15 20:31 ` Eric Whitney 2020-04-22 16:14 ` Jan Kara 1 sibling, 1 reply; 7+ messages in thread From: Eric Whitney @ 2020-04-15 20:31 UTC (permalink / raw) To: linux-ext4; +Cc: tytso, Eric Whitney As new ext4_map_blocks() flags have been added, not all have gotten flag bit to string translations to make tracepoint output more readable. Fix that, and go one step further by adding a translation for the EXT4_EX_NOCACHE flag as well. The EXT4_EX_FORCE_CACHE flag can never be set in a tracepoint in the current code, so there's no need to bother with a translation for it right now. Signed-off-by: Eric Whitney <enwlinux@gmail.com> --- include/trace/events/ext4.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/include/trace/events/ext4.h b/include/trace/events/ext4.h index 40ff8a2fc763..280475c1cecc 100644 --- a/include/trace/events/ext4.h +++ b/include/trace/events/ext4.h @@ -45,7 +45,10 @@ struct partial_cluster; { EXT4_GET_BLOCKS_CONVERT, "CONVERT" }, \ { EXT4_GET_BLOCKS_METADATA_NOFAIL, "METADATA_NOFAIL" }, \ { EXT4_GET_BLOCKS_NO_NORMALIZE, "NO_NORMALIZE" }, \ - { EXT4_GET_BLOCKS_ZERO, "ZERO" }) + { EXT4_GET_BLOCKS_CONVERT_UNWRITTEN, "CONVERT_UNWRITTEN" }, \ + { EXT4_GET_BLOCKS_ZERO, "ZERO" }, \ + { EXT4_GET_BLOCKS_IO_SUBMIT, "IO_SUBMIT" }, \ + { EXT4_EX_NOCACHE, "EX_NOCACHE" }) /* * __print_flags() requires that all enum values be wrapped in the -- 2.11.0 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] ext4: translate a few more map flags to strings in tracepoints 2020-04-15 20:31 ` [PATCH 2/2] ext4: translate a few more map flags to strings in tracepoints Eric Whitney @ 2020-04-22 16:14 ` Jan Kara 2020-05-14 14:43 ` Theodore Y. Ts'o 0 siblings, 1 reply; 7+ messages in thread From: Jan Kara @ 2020-04-22 16:14 UTC (permalink / raw) To: Eric Whitney; +Cc: linux-ext4, tytso On Wed 15-04-20 16:31:40, Eric Whitney wrote: > As new ext4_map_blocks() flags have been added, not all have gotten flag > bit to string translations to make tracepoint output more readable. > Fix that, and go one step further by adding a translation for the > EXT4_EX_NOCACHE flag as well. The EXT4_EX_FORCE_CACHE flag can never > be set in a tracepoint in the current code, so there's no need to > bother with a translation for it right now. > > Signed-off-by: Eric Whitney <enwlinux@gmail.com> Looks good to me. You can add: Reviewed-by: Jan Kara <jack@suse.cz> Honza > --- > include/trace/events/ext4.h | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/include/trace/events/ext4.h b/include/trace/events/ext4.h > index 40ff8a2fc763..280475c1cecc 100644 > --- a/include/trace/events/ext4.h > +++ b/include/trace/events/ext4.h > @@ -45,7 +45,10 @@ struct partial_cluster; > { EXT4_GET_BLOCKS_CONVERT, "CONVERT" }, \ > { EXT4_GET_BLOCKS_METADATA_NOFAIL, "METADATA_NOFAIL" }, \ > { EXT4_GET_BLOCKS_NO_NORMALIZE, "NO_NORMALIZE" }, \ > - { EXT4_GET_BLOCKS_ZERO, "ZERO" }) > + { EXT4_GET_BLOCKS_CONVERT_UNWRITTEN, "CONVERT_UNWRITTEN" }, \ > + { EXT4_GET_BLOCKS_ZERO, "ZERO" }, \ > + { EXT4_GET_BLOCKS_IO_SUBMIT, "IO_SUBMIT" }, \ > + { EXT4_EX_NOCACHE, "EX_NOCACHE" }) > > /* > * __print_flags() requires that all enum values be wrapped in the > -- > 2.11.0 > -- Jan Kara <jack@suse.com> SUSE Labs, CR ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] ext4: translate a few more map flags to strings in tracepoints 2020-04-22 16:14 ` Jan Kara @ 2020-05-14 14:43 ` Theodore Y. Ts'o 0 siblings, 0 replies; 7+ messages in thread From: Theodore Y. Ts'o @ 2020-05-14 14:43 UTC (permalink / raw) To: Jan Kara; +Cc: Eric Whitney, linux-ext4 On Wed, Apr 22, 2020 at 06:14:13PM +0200, Jan Kara wrote: > On Wed 15-04-20 16:31:40, Eric Whitney wrote: > > As new ext4_map_blocks() flags have been added, not all have gotten flag > > bit to string translations to make tracepoint output more readable. > > Fix that, and go one step further by adding a translation for the > > EXT4_EX_NOCACHE flag as well. The EXT4_EX_FORCE_CACHE flag can never > > be set in a tracepoint in the current code, so there's no need to > > bother with a translation for it right now. > > > > Signed-off-by: Eric Whitney <enwlinux@gmail.com> > > Looks good to me. You can add: > > Reviewed-by: Jan Kara <jack@suse.cz> Applied, thanks. - Ted ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2020-05-14 14:43 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-04-15 20:31 [PATCH 0/2] remove EXT4_GET_BLOCKS_KEEP_SIZE flag, etc Eric Whitney 2020-04-15 20:31 ` [PATCH 1/2] ext4: remove EXT4_GET_BLOCKS_KEEP_SIZE flag Eric Whitney 2020-04-22 16:12 ` Jan Kara 2020-05-14 14:43 ` Theodore Y. Ts'o 2020-04-15 20:31 ` [PATCH 2/2] ext4: translate a few more map flags to strings in tracepoints Eric Whitney 2020-04-22 16:14 ` Jan Kara 2020-05-14 14:43 ` Theodore Y. Ts'o
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.