public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] xfs: Simplify xfs_ail_min() with list_first_entry_or_null()
@ 2013-08-15  5:08 Jeff Liu
  2013-08-23 18:06 ` Ben Myers
  0 siblings, 1 reply; 2+ messages in thread
From: Jeff Liu @ 2013-08-15  5:08 UTC (permalink / raw)
  To: xfs@oss.sgi.com

From: Jie Liu <jeff.liu@oracle.com>

At xfs_ail_min(), we do check if the AIL list is empty or not before
returning the first item in it with list_empty() and list_first_entry().

This can be simplified a bit with a new list operation routine that is
the list_first_entry_or_null() which has been introduced by:

commit 6d7581e62f8be462440d7b22c6361f7c9fa4902b
    list: introduce list_first_entry_or_null

v2: make xfs_ail_min() as a static inline function and move it to
    xfs_trans_priv.h as per Dave Chinner's comments.

Signed-off-by: Jie Liu <jeff.liu@oracle.com>
---
 fs/xfs/xfs_trans_ail.c  |   14 --------------
 fs/xfs/xfs_trans_priv.h |   12 ++++++++++++
 2 files changed, 12 insertions(+), 14 deletions(-)

diff --git a/fs/xfs/xfs_trans_ail.c b/fs/xfs/xfs_trans_ail.c
index 0eda725..0e7df03 100644
--- a/fs/xfs/xfs_trans_ail.c
+++ b/fs/xfs/xfs_trans_ail.c
@@ -61,20 +61,6 @@ xfs_ail_check(
 #endif /* DEBUG */
 
 /*
- * Return a pointer to the first item in the AIL.  If the AIL is empty, then
- * return NULL.
- */
-xfs_log_item_t *
-xfs_ail_min(
-	struct xfs_ail  *ailp)
-{
-	if (list_empty(&ailp->xa_ail))
-		return NULL;
-
-	return list_first_entry(&ailp->xa_ail, xfs_log_item_t, li_ail);
-}
-
- /*
  * Return a pointer to the last item in the AIL.  If the AIL is empty, then
  * return NULL.
  */
diff --git a/fs/xfs/xfs_trans_priv.h b/fs/xfs/xfs_trans_priv.h
index d43b130..c52def0 100644
--- a/fs/xfs/xfs_trans_priv.h
+++ b/fs/xfs/xfs_trans_priv.h
@@ -86,6 +86,18 @@ void	xfs_trans_ail_update_bulk(struct xfs_ail *ailp,
 				struct xfs_ail_cursor *cur,
 				struct xfs_log_item **log_items, int nr_items,
 				xfs_lsn_t lsn) __releases(ailp->xa_lock);
+/*
+ * Return a pointer to the first item in the AIL.  If the AIL is empty, then
+ * return NULL.
+ */
+static inline struct xfs_log_item *
+xfs_ail_min(
+	struct xfs_ail  *ailp)
+{
+	return list_first_entry_or_null(&ailp->xa_ail, struct xfs_log_item,
+					li_ail);
+}
+
 static inline void
 xfs_trans_ail_update(
 	struct xfs_ail		*ailp,
-- 
1.7.9.5

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

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

* Re: [PATCH v2] xfs: Simplify xfs_ail_min() with list_first_entry_or_null()
  2013-08-15  5:08 [PATCH v2] xfs: Simplify xfs_ail_min() with list_first_entry_or_null() Jeff Liu
@ 2013-08-23 18:06 ` Ben Myers
  0 siblings, 0 replies; 2+ messages in thread
From: Ben Myers @ 2013-08-23 18:06 UTC (permalink / raw)
  To: Jeff Liu; +Cc: xfs@oss.sgi.com

On Thu, Aug 15, 2013 at 01:08:35PM +0800, Jeff Liu wrote:
> From: Jie Liu <jeff.liu@oracle.com>
> 
> At xfs_ail_min(), we do check if the AIL list is empty or not before
> returning the first item in it with list_empty() and list_first_entry().
> 
> This can be simplified a bit with a new list operation routine that is
> the list_first_entry_or_null() which has been introduced by:
> 
> commit 6d7581e62f8be462440d7b22c6361f7c9fa4902b
>     list: introduce list_first_entry_or_null
> 
> v2: make xfs_ail_min() as a static inline function and move it to
>     xfs_trans_priv.h as per Dave Chinner's comments.
> 
> Signed-off-by: Jie Liu <jeff.liu@oracle.com>

Reviewed-by: Ben Myers <bpm@sgi.com>

Applied.  Thanks Jeff.

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

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

end of thread, other threads:[~2013-08-23 18:06 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-15  5:08 [PATCH v2] xfs: Simplify xfs_ail_min() with list_first_entry_or_null() Jeff Liu
2013-08-23 18:06 ` Ben Myers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox