From 7cfcd8b79ab2472102d9229863e86ff208f959d4 Mon Sep 17 00:00:00 2001 From: Quorum Laval Date: Fri, 26 Aug 2016 15:40:40 +0100 Subject: [PATCH 1/2] jfs: jump to error_out when filemap_{fdatawait, write_and_wait} fails filemap_fdatawait/filemap_write_and_wait may fail, so check the return value and jump to error_out in the case of error. Signed-off-by: Quorum Laval Signed-off-by: Dave Kleikamp --- fs/jfs/resize.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/fs/jfs/resize.c b/fs/jfs/resize.c index 90b3bc21e9b0..bd9b641ada2c 100644 --- a/fs/jfs/resize.c +++ b/fs/jfs/resize.c @@ -379,8 +379,14 @@ int jfs_extendfs(struct super_block *sb, s64 newLVSize, int newLogSize) * cached in meta-data cache, and not written out * by txCommit(); */ - filemap_fdatawait(ipbmap->i_mapping); - filemap_write_and_wait(ipbmap->i_mapping); + rc = filemap_fdatawait(ipbmap->i_mapping); + if (rc) + goto error_out; + + rc = filemap_write_and_wait(ipbmap->i_mapping); + if (rc) + goto error_out; + diWriteSpecial(ipbmap, 0); newPage = nPages; /* first new page number */ From 240c5185c52d00725ae7da7d1ee82ad8b8306d52 Mon Sep 17 00:00:00 2001 From: Christophe JAILLET Date: Sat, 3 Sep 2016 07:35:29 +0200 Subject: [PATCH 2/2] jfs: Simplify code Calling 'list_splice' followed by 'INIT_LIST_HEAD' is equivalent to 'list_splice_init'. This has been spotted with the following coccinelle script: ///// @@ expression y,z; @@ - list_splice(y,z); - INIT_LIST_HEAD(y); + list_splice_init(y,z); Signed-off-by: Christophe JAILLET Signed-off-by: Dave Kleikamp --- fs/jfs/jfs_txnmgr.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/fs/jfs/jfs_txnmgr.c b/fs/jfs/jfs_txnmgr.c index 2e58978d6f45..4d973524c887 100644 --- a/fs/jfs/jfs_txnmgr.c +++ b/fs/jfs/jfs_txnmgr.c @@ -2893,8 +2893,7 @@ void txQuiesce(struct super_block *sb) * on anon_list2. Let's check. */ if (!list_empty(&TxAnchor.anon_list2)) { - list_splice(&TxAnchor.anon_list2, &TxAnchor.anon_list); - INIT_LIST_HEAD(&TxAnchor.anon_list2); + list_splice_init(&TxAnchor.anon_list2, &TxAnchor.anon_list); goto restart; } TXN_UNLOCK();