All of lore.kernel.org
 help / color / mirror / Atom feed
* [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

* [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 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 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 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

* 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.