Patchwork [6/6] jfs: simplify lmLogSync() via list_last_entry_or_null()

login
register
mail settings
Submitter jeff.liu
Date Nov. 15, 2013, 4:35 a.m.
Message ID <5285A483.3040009@oracle.com>
Download mbox | patch
Permalink /patch/291454/
State Not Applicable
Headers show

Comments

jeff.liu - Nov. 15, 2013, 4:35 a.m.
From: Jie Liu <jeff.liu@oracle.com>

Simplify the code in lmLogSync() via list_last_entry_or_null().

Signed-off-by: Jie Liu <jeff.liu@oracle.com>
---
 fs/jfs/jfs_logmgr.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)
jeff.liu - Nov. 15, 2013, 4:50 a.m.
Hi Dave and all,

Please ignore this patch from this series.

On 11/15 2013 12:35 PM, Jeff Liu wrote:
> From: Jie Liu <jeff.liu@oracle.com>
> 
> Simplify the code in lmLogSync() via list_last_entry_or_null().
> 
> Signed-off-by: Jie Liu <jeff.liu@oracle.com>
> ---
>  fs/jfs/jfs_logmgr.c | 10 +++-------
>  1 file changed, 3 insertions(+), 7 deletions(-)
> 
> diff --git a/fs/jfs/jfs_logmgr.c b/fs/jfs/jfs_logmgr.c
> index 7b565d0..2f90779 100644
> --- a/fs/jfs/jfs_logmgr.c
> +++ b/fs/jfs/jfs_logmgr.c
> @@ -963,13 +963,9 @@ static int lmLogSync(struct jfs_log * log, int hard_sync)
>  
>  	if (log->sync == log->syncpt) {
>  		LOGSYNC_LOCK(log, flags);
> -		if (list_empty(&log->synclist))
> -			log->sync = log->lsn;
> -		else {
> -			lp = list_entry(log->synclist.next,
> -					struct logsyncblk, synclist);
> -			log->sync = lp->lsn;
> -		}
> +		lp = list_last_entry_or_null(&log->synclist, struct logsyncblk,
> +					     synclist);
Here it could be simplified via list_first_entry_or_null(), my apology for this mistake.
> +		log->sync = lp ? lp->lsn : log->lsn;
>  		LOGSYNC_UNLOCK(log, flags);
>  
>  	}
> 

Thanks,
-Jeff

Patch

diff --git a/fs/jfs/jfs_logmgr.c b/fs/jfs/jfs_logmgr.c
index 7b565d0..2f90779 100644
--- a/fs/jfs/jfs_logmgr.c
+++ b/fs/jfs/jfs_logmgr.c
@@ -963,13 +963,9 @@  static int lmLogSync(struct jfs_log * log, int hard_sync)
 
 	if (log->sync == log->syncpt) {
 		LOGSYNC_LOCK(log, flags);
-		if (list_empty(&log->synclist))
-			log->sync = log->lsn;
-		else {
-			lp = list_entry(log->synclist.next,
-					struct logsyncblk, synclist);
-			log->sync = lp->lsn;
-		}
+		lp = list_last_entry_or_null(&log->synclist, struct logsyncblk,
+					     synclist);
+		log->sync = lp ? lp->lsn : log->lsn;
 		LOGSYNC_UNLOCK(log, flags);
 
 	}