linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2 v2] ext4: print 'flags' in ext4_ext_handle_uninitialized_extents
@ 2012-10-16 12:35 Zheng Liu
  2012-10-16 12:35 ` [PATCH 2/2 v2] ext4: add a variable to record the value of map->m_flags in tracepoint Zheng Liu
  2012-11-08 19:31 ` [PATCH 1/2 v2] ext4: print 'flags' in ext4_ext_handle_uninitialized_extents Theodore Ts'o
  0 siblings, 2 replies; 5+ messages in thread
From: Zheng Liu @ 2012-10-16 12:35 UTC (permalink / raw)
  To: linux-ext4; +Cc: Zheng Liu

From: Zheng Liu <wenqing.lz@taobao.com>

In trace_ext4_ext_handle_uninitialized_extents we don't care about the value of
map->m_flags because this value is probably 0, and we prefer to get the value of
flags because we can know how to handle this extent in this function.

Reviewed-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>
---
v2 <- v1:
	change format flag from '%d' to '%x'.

 fs/ext4/extents.c           | 4 ++--
 include/trace/events/ext4.h | 8 ++++----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
index 1c94cca..4ecc210 100644
--- a/fs/ext4/extents.c
+++ b/fs/ext4/extents.c
@@ -3628,8 +3628,8 @@ ext4_ext_handle_uninitialized_extents(handle_t *handle, struct inode *inode,
 		  flags, allocated);
 	ext4_ext_show_leaf(inode, path);
 
-	trace_ext4_ext_handle_uninitialized_extents(inode, map, allocated,
-						    newblock);
+	trace_ext4_ext_handle_uninitialized_extents(inode, map, flags,
+						    allocated, newblock);
 
 	/* get_block() before submit the IO, split the extent */
 	if ((flags & EXT4_GET_BLOCKS_PRE_IO)) {
diff --git a/include/trace/events/ext4.h b/include/trace/events/ext4.h
index d49b285..25914e3 100644
--- a/include/trace/events/ext4.h
+++ b/include/trace/events/ext4.h
@@ -1680,10 +1680,10 @@ DEFINE_EVENT(ext4__trim, ext4_trim_all_free,
 );
 
 TRACE_EVENT(ext4_ext_handle_uninitialized_extents,
-	TP_PROTO(struct inode *inode, struct ext4_map_blocks *map,
+	TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, int flags,
 		 unsigned int allocated, ext4_fsblk_t newblock),
 
-	TP_ARGS(inode, map, allocated, newblock),
+	TP_ARGS(inode, map, flags, allocated, newblock),
 
 	TP_STRUCT__entry(
 		__field(	dev_t,		dev		)
@@ -1699,7 +1699,7 @@ TRACE_EVENT(ext4_ext_handle_uninitialized_extents,
 	TP_fast_assign(
 		__entry->dev		= inode->i_sb->s_dev;
 		__entry->ino		= inode->i_ino;
-		__entry->flags		= map->m_flags;
+		__entry->flags		= flags;
 		__entry->lblk		= map->m_lblk;
 		__entry->pblk		= map->m_pblk;
 		__entry->len		= map->m_len;
@@ -1707,7 +1707,7 @@ TRACE_EVENT(ext4_ext_handle_uninitialized_extents,
 		__entry->newblk		= newblock;
 	),
 
-	TP_printk("dev %d,%d ino %lu m_lblk %u m_pblk %llu m_len %u flags %d"
+	TP_printk("dev %d,%d ino %lu m_lblk %u m_pblk %llu m_len %u flags %x "
 		  "allocated %d newblock %llu",
 		  MAJOR(__entry->dev), MINOR(__entry->dev),
 		  (unsigned long) __entry->ino,
-- 
1.7.12.rc2.18.g61b472e


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/2 v2] ext4: add a variable to record the value of map->m_flags in tracepoint
  2012-10-16 12:35 [PATCH 1/2 v2] ext4: print 'flags' in ext4_ext_handle_uninitialized_extents Zheng Liu
@ 2012-10-16 12:35 ` Zheng Liu
  2012-10-16 12:44   ` Lukáš Czerner
  2012-11-08 19:34   ` Theodore Ts'o
  2012-11-08 19:31 ` [PATCH 1/2 v2] ext4: print 'flags' in ext4_ext_handle_uninitialized_extents Theodore Ts'o
  1 sibling, 2 replies; 5+ messages in thread
From: Zheng Liu @ 2012-10-16 12:35 UTC (permalink / raw)
  To: linux-ext4; +Cc: Lukas Czerner, Zheng Liu

From: Zheng Liu <wenqing.lz@taobao.com>

When we use trace_ext4_ext/ind_map_blocks_exit, we will print the value of
map->m_flags in order that we can understand what currently status is.

CC: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>
---
v2 <- v1:
	pass the whole ext4_map_blocks instead of lblk, pblk, flags and len
	change type of 'flags' from 'int' to 'unsigned int'

 fs/ext4/extents.c           |  3 +--
 fs/ext4/indirect.c          |  3 +--
 include/trace/events/ext4.h | 27 +++++++++++++--------------
 3 files changed, 15 insertions(+), 18 deletions(-)

diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
index 4ecc210..a29b3f8 100644
--- a/fs/ext4/extents.c
+++ b/fs/ext4/extents.c
@@ -4249,8 +4249,7 @@ out2:
 		kfree(path);
 	}
 
-	trace_ext4_ext_map_blocks_exit(inode, map->m_lblk,
-		newblock, map->m_len, err ? err : allocated);
+	trace_ext4_ext_map_blocks_exit(inode, map, err ? err : allocated);
 
 	return err ? err : allocated;
 }
diff --git a/fs/ext4/indirect.c b/fs/ext4/indirect.c
index 792e388..292337f 100644
--- a/fs/ext4/indirect.c
+++ b/fs/ext4/indirect.c
@@ -755,8 +755,7 @@ cleanup:
 		partial--;
 	}
 out:
-	trace_ext4_ind_map_blocks_exit(inode, map->m_lblk,
-				map->m_pblk, map->m_len, err);
+	trace_ext4_ind_map_blocks_exit(inode, map, err);
 	return err;
 }
 
diff --git a/include/trace/events/ext4.h b/include/trace/events/ext4.h
index 25914e3..d2a125a 100644
--- a/include/trace/events/ext4.h
+++ b/include/trace/events/ext4.h
@@ -1519,10 +1519,9 @@ DEFINE_EVENT(ext4__map_blocks_enter, ext4_ind_map_blocks_enter,
 );
 
 DECLARE_EVENT_CLASS(ext4__map_blocks_exit,
-	TP_PROTO(struct inode *inode, ext4_lblk_t lblk,
-		 ext4_fsblk_t pblk, unsigned int len, int ret),
+	TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, int ret),
 
-	TP_ARGS(inode, lblk, pblk, len, ret),
+	TP_ARGS(inode, map, ret),
 
 	TP_STRUCT__entry(
 		__field(	dev_t,		dev		)
@@ -1530,37 +1529,37 @@ DECLARE_EVENT_CLASS(ext4__map_blocks_exit,
 		__field(	ext4_fsblk_t,	pblk		)
 		__field(	ext4_lblk_t,	lblk		)
 		__field(	unsigned int,	len		)
+		__field(	unsigned int,	flags		)
 		__field(	int,		ret		)
 	),
 
 	TP_fast_assign(
 		__entry->dev    = inode->i_sb->s_dev;
 		__entry->ino    = inode->i_ino;
-		__entry->pblk	= pblk;
-		__entry->lblk	= lblk;
-		__entry->len	= len;
+		__entry->pblk	= map->m_pblk;
+		__entry->lblk	= map->m_lblk;
+		__entry->len	= map->m_len;
+		__entry->flags	= map->m_flags;
 		__entry->ret	= ret;
 	),
 
-	TP_printk("dev %d,%d ino %lu lblk %u pblk %llu len %u ret %d",
+	TP_printk("dev %d,%d ino %lu lblk %u pblk %llu len %u flags %x ret %d",
 		  MAJOR(__entry->dev), MINOR(__entry->dev),
 		  (unsigned long) __entry->ino,
 		  __entry->lblk, __entry->pblk,
-		  __entry->len, __entry->ret)
+		  __entry->len, __entry->flags, __entry->ret)
 );
 
 DEFINE_EVENT(ext4__map_blocks_exit, ext4_ext_map_blocks_exit,
-	TP_PROTO(struct inode *inode, ext4_lblk_t lblk,
-		 ext4_fsblk_t pblk, unsigned len, int ret),
+	TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, int ret),
 
-	TP_ARGS(inode, lblk, pblk, len, ret)
+	TP_ARGS(inode, map, ret)
 );
 
 DEFINE_EVENT(ext4__map_blocks_exit, ext4_ind_map_blocks_exit,
-	TP_PROTO(struct inode *inode, ext4_lblk_t lblk,
-		 ext4_fsblk_t pblk, unsigned len, int ret),
+	TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, int ret),
 
-	TP_ARGS(inode, lblk, pblk, len, ret)
+	TP_ARGS(inode, map, ret)
 );
 
 TRACE_EVENT(ext4_ext_load_extent,
-- 
1.7.12.rc2.18.g61b472e


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 2/2 v2] ext4: add a variable to record the value of map->m_flags in tracepoint
  2012-10-16 12:35 ` [PATCH 2/2 v2] ext4: add a variable to record the value of map->m_flags in tracepoint Zheng Liu
@ 2012-10-16 12:44   ` Lukáš Czerner
  2012-11-08 19:34   ` Theodore Ts'o
  1 sibling, 0 replies; 5+ messages in thread
From: Lukáš Czerner @ 2012-10-16 12:44 UTC (permalink / raw)
  To: Zheng Liu; +Cc: linux-ext4, Lukas Czerner, Zheng Liu

On Tue, 16 Oct 2012, Zheng Liu wrote:

> Date: Tue, 16 Oct 2012 20:35:34 +0800
> From: Zheng Liu <gnehzuil.liu@gmail.com>
> To: linux-ext4@vger.kernel.org
> Cc: Lukas Czerner <lczerner@redhat.com>, Zheng Liu <wenqing.lz@taobao.com>
> Subject: [PATCH 2/2 v2] ext4: add a variable to record the value of
>     map->m_flags in tracepoint
> 
> From: Zheng Liu <wenqing.lz@taobao.com>
> 
> When we use trace_ext4_ext/ind_map_blocks_exit, we will print the value of
> map->m_flags in order that we can understand what currently status is.
> 
> CC: Lukas Czerner <lczerner@redhat.com>
> Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>

Looks good, thanks!

Reviewed-by: Lukas Czerner <lczerner@redhat.com>

> ---
> v2 <- v1:
> 	pass the whole ext4_map_blocks instead of lblk, pblk, flags and len
> 	change type of 'flags' from 'int' to 'unsigned int'
> 
>  fs/ext4/extents.c           |  3 +--
>  fs/ext4/indirect.c          |  3 +--
>  include/trace/events/ext4.h | 27 +++++++++++++--------------
>  3 files changed, 15 insertions(+), 18 deletions(-)
> 
> diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
> index 4ecc210..a29b3f8 100644
> --- a/fs/ext4/extents.c
> +++ b/fs/ext4/extents.c
> @@ -4249,8 +4249,7 @@ out2:
>  		kfree(path);
>  	}
>  
> -	trace_ext4_ext_map_blocks_exit(inode, map->m_lblk,
> -		newblock, map->m_len, err ? err : allocated);
> +	trace_ext4_ext_map_blocks_exit(inode, map, err ? err : allocated);
>  
>  	return err ? err : allocated;
>  }
> diff --git a/fs/ext4/indirect.c b/fs/ext4/indirect.c
> index 792e388..292337f 100644
> --- a/fs/ext4/indirect.c
> +++ b/fs/ext4/indirect.c
> @@ -755,8 +755,7 @@ cleanup:
>  		partial--;
>  	}
>  out:
> -	trace_ext4_ind_map_blocks_exit(inode, map->m_lblk,
> -				map->m_pblk, map->m_len, err);
> +	trace_ext4_ind_map_blocks_exit(inode, map, err);
>  	return err;
>  }
>  
> diff --git a/include/trace/events/ext4.h b/include/trace/events/ext4.h
> index 25914e3..d2a125a 100644
> --- a/include/trace/events/ext4.h
> +++ b/include/trace/events/ext4.h
> @@ -1519,10 +1519,9 @@ DEFINE_EVENT(ext4__map_blocks_enter, ext4_ind_map_blocks_enter,
>  );
>  
>  DECLARE_EVENT_CLASS(ext4__map_blocks_exit,
> -	TP_PROTO(struct inode *inode, ext4_lblk_t lblk,
> -		 ext4_fsblk_t pblk, unsigned int len, int ret),
> +	TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, int ret),
>  
> -	TP_ARGS(inode, lblk, pblk, len, ret),
> +	TP_ARGS(inode, map, ret),
>  
>  	TP_STRUCT__entry(
>  		__field(	dev_t,		dev		)
> @@ -1530,37 +1529,37 @@ DECLARE_EVENT_CLASS(ext4__map_blocks_exit,
>  		__field(	ext4_fsblk_t,	pblk		)
>  		__field(	ext4_lblk_t,	lblk		)
>  		__field(	unsigned int,	len		)
> +		__field(	unsigned int,	flags		)
>  		__field(	int,		ret		)
>  	),
>  
>  	TP_fast_assign(
>  		__entry->dev    = inode->i_sb->s_dev;
>  		__entry->ino    = inode->i_ino;
> -		__entry->pblk	= pblk;
> -		__entry->lblk	= lblk;
> -		__entry->len	= len;
> +		__entry->pblk	= map->m_pblk;
> +		__entry->lblk	= map->m_lblk;
> +		__entry->len	= map->m_len;
> +		__entry->flags	= map->m_flags;
>  		__entry->ret	= ret;
>  	),
>  
> -	TP_printk("dev %d,%d ino %lu lblk %u pblk %llu len %u ret %d",
> +	TP_printk("dev %d,%d ino %lu lblk %u pblk %llu len %u flags %x ret %d",
>  		  MAJOR(__entry->dev), MINOR(__entry->dev),
>  		  (unsigned long) __entry->ino,
>  		  __entry->lblk, __entry->pblk,
> -		  __entry->len, __entry->ret)
> +		  __entry->len, __entry->flags, __entry->ret)
>  );
>  
>  DEFINE_EVENT(ext4__map_blocks_exit, ext4_ext_map_blocks_exit,
> -	TP_PROTO(struct inode *inode, ext4_lblk_t lblk,
> -		 ext4_fsblk_t pblk, unsigned len, int ret),
> +	TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, int ret),
>  
> -	TP_ARGS(inode, lblk, pblk, len, ret)
> +	TP_ARGS(inode, map, ret)
>  );
>  
>  DEFINE_EVENT(ext4__map_blocks_exit, ext4_ind_map_blocks_exit,
> -	TP_PROTO(struct inode *inode, ext4_lblk_t lblk,
> -		 ext4_fsblk_t pblk, unsigned len, int ret),
> +	TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, int ret),
>  
> -	TP_ARGS(inode, lblk, pblk, len, ret)
> +	TP_ARGS(inode, map, ret)
>  );
>  
>  TRACE_EVENT(ext4_ext_load_extent,
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2 v2] ext4: print 'flags' in ext4_ext_handle_uninitialized_extents
  2012-10-16 12:35 [PATCH 1/2 v2] ext4: print 'flags' in ext4_ext_handle_uninitialized_extents Zheng Liu
  2012-10-16 12:35 ` [PATCH 2/2 v2] ext4: add a variable to record the value of map->m_flags in tracepoint Zheng Liu
@ 2012-11-08 19:31 ` Theodore Ts'o
  1 sibling, 0 replies; 5+ messages in thread
From: Theodore Ts'o @ 2012-11-08 19:31 UTC (permalink / raw)
  To: Zheng Liu; +Cc: linux-ext4, Zheng Liu

On Tue, Oct 16, 2012 at 08:35:33PM +0800, Zheng Liu wrote:
> From: Zheng Liu <wenqing.lz@taobao.com>
> 
> In trace_ext4_ext_handle_uninitialized_extents we don't care about the value of
> map->m_flags because this value is probably 0, and we prefer to get the value of
> flags because we can know how to handle this extent in this function.
> 
> Reviewed-by: Lukas Czerner <lczerner@redhat.com>
> Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>

Applied, thanks.

						- Ted

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 2/2 v2] ext4: add a variable to record the value of map->m_flags in tracepoint
  2012-10-16 12:35 ` [PATCH 2/2 v2] ext4: add a variable to record the value of map->m_flags in tracepoint Zheng Liu
  2012-10-16 12:44   ` Lukáš Czerner
@ 2012-11-08 19:34   ` Theodore Ts'o
  1 sibling, 0 replies; 5+ messages in thread
From: Theodore Ts'o @ 2012-11-08 19:34 UTC (permalink / raw)
  To: Zheng Liu; +Cc: linux-ext4, Lukas Czerner, Zheng Liu

On Tue, Oct 16, 2012 at 08:35:34PM +0800, Zheng Liu wrote:
> From: Zheng Liu <wenqing.lz@taobao.com>
> 
> When we use trace_ext4_ext/ind_map_blocks_exit, we will print the value of
> map->m_flags in order that we can understand what currently status is.
> 
> CC: Lukas Czerner <lczerner@redhat.com>
> Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>

Applied, thanks.

					- Ted

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-11-08 22:11 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-16 12:35 [PATCH 1/2 v2] ext4: print 'flags' in ext4_ext_handle_uninitialized_extents Zheng Liu
2012-10-16 12:35 ` [PATCH 2/2 v2] ext4: add a variable to record the value of map->m_flags in tracepoint Zheng Liu
2012-10-16 12:44   ` Lukáš Czerner
2012-11-08 19:34   ` Theodore Ts'o
2012-11-08 19:31 ` [PATCH 1/2 v2] ext4: print 'flags' in ext4_ext_handle_uninitialized_extents Theodore Ts'o

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).