public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Alexey Shvetsov" <alexxy@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/sci:master commit in: sys-cluster/lustre/files/, sys-cluster/lustre/
Date: Mon, 13 Jun 2016 10:38:38 +0000 (UTC)	[thread overview]
Message-ID: <1465814306.91cef20bb91beb8672770f6337f5f37b94045b39.alexxy@gentoo> (raw)

commit:     91cef20bb91beb8672770f6337f5f37b94045b39
Author:     Alexey Shvetsov <alexxy <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 13 10:38:26 2016 +0000
Commit:     Alexey Shvetsov <alexxy <AT> gentoo <DOT> org>
CommitDate: Mon Jun 13 10:38:26 2016 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=91cef20b

sys-cluster/lustre: Move to 2.8.54

Package-Manager: portage-2.3.0_rc1

 ...6215-lprocfs-handle-seq_printf-api-change.patch | 4126 --------------------
 ...056-libcfs-Support-for-linux-4.2-kernels.patch} |   10 +-
 ...-cache_head-is-now-on-a-hlist-in-4.3-kern.patch |  192 -
 ...6-o2iblnd-ib_query_device-removed-in-4.5.patch} |  107 +-
 ...te-handle-locks-API-change-in-4.4-kernels.patch |   90 -
 ...lnd-NETIF_F_ALL_CSUM-renamed-to-NETIF_F_.patch} |   10 +-
 ...te-make_request_fn-returns-blk_qc_t-in-ke.patch |   95 -
 ...6-llite-use-inode_lock-to-access-i_mutex.patch} |   81 +-
 ...-key-payload.data-is-an-array-in-4.4-kern.patch |  229 --
 ...e-inode_operations-interface-changed-in-.patch} |   15 +-
 ...blnd-rdma_create_id-takes-extra-parameter.patch |  106 -
 ...e-POSIX_ACL_XATTR_-ACCESS-DEFAULT-remove.patch} |    4 +-
 ...0007-LU-6215-lnet-split-struct-ib_send_wr.patch |  451 ---
 ...p-fix-bio_for_each_segment_all-for-newer.patch} |   18 +-
 ...iblnd-ib_alloc_fast_reg_mr-removed-in-4.3.patch |  199 -
 ...blnd-port-to-new-fast-reg-API-introduced-.patch |  332 --
 ...blnd-rdma_create_id-takes-extra-parameter.patch |   46 -
 ...15-llite-remove-obsolete-conditional-code.patch |   97 -
 ...0012-LU-6215-lnet-split-struct-ib_send_wr.patch |  169 -
 .../{lustre-2.8.0.ebuild => lustre-2.8.54.ebuild}  |   30 +-
 sys-cluster/lustre/lustre-9999.ebuild              |   23 +-
 21 files changed, 113 insertions(+), 6317 deletions(-)

diff --git a/sys-cluster/lustre/files/0001-LU-6215-lprocfs-handle-seq_printf-api-change.patch b/sys-cluster/lustre/files/0001-LU-6215-lprocfs-handle-seq_printf-api-change.patch
deleted file mode 100644
index 744b9d2..0000000
--- a/sys-cluster/lustre/files/0001-LU-6215-lprocfs-handle-seq_printf-api-change.patch
+++ /dev/null
@@ -1,4126 +0,0 @@
-From cd60eb450f58589c39568507215e6366b41aa154 Mon Sep 17 00:00:00 2001
-From: James Simmons <uja.ornl@yahoo.com>
-Date: Wed, 23 Mar 2016 18:37:27 -0400
-Subject: [PATCH 01/19] LU-6215 lprocfs: handle seq_printf api change
-
-Starting with the 4.3 linux kernel seq_printf is a void
-function not returning the character count. This work
-updates lustre to treat seq_printf as a void function.
-Fixed alignment issues and ran this patch against the
-Linux kernels checkpatch to make it compliant to
-upstream standards.
-
-Change-Id: I0cfd71252322038c1b54da624fce48b37a6f30b6
-Signed-off-by: James Simmons <uja.ornl@yahoo.com>
-Reviewed-on: http://review.whamcloud.com/16933
-Tested-by: Jenkins
-Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
-Tested-by: Maloo <hpdd-maloo@intel.com>
-Reviewed-by: Bob Glossman <bob.glossman@intel.com>
-Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
----
- contrib/scripts/checkpatch.pl           |   2 +
- libcfs/include/libcfs/libcfs_hash.h     |   4 +-
- libcfs/libcfs/hash.c                    |  55 ++++----
- lustre/fid/lproc_fid.c                  |  47 +++----
- lustre/fld/lproc_fld.c                  |   2 +-
- lustre/ldlm/ldlm_pool.c                 |  21 ++-
- lustre/ldlm/ldlm_resource.c             |   8 +-
- lustre/lfsck/lfsck_internal.h           |  14 +-
- lustre/lfsck/lfsck_layout.c             | 157 ++++++++++-----------
- lustre/lfsck/lfsck_lib.c                |  66 ++++-----
- lustre/lfsck/lfsck_namespace.c          | 234 +++++++++++++++-----------------
- lustre/llite/lproc_llite.c              | 147 ++++++++++----------
- lustre/lmv/lproc_lmv.c                  |  17 ++-
- lustre/lod/lproc_lod.c                  |  50 ++++---
- lustre/lov/lproc_lov.c                  |  30 ++--
- lustre/mdc/lproc_mdc.c                  |  15 +-
- lustre/mdd/mdd_lproc.c                  |   6 +-
- lustre/mdt/mdt_coordinator.c            |  15 +-
- lustre/mdt/mdt_hsm_cdt_actions.c        |  54 ++++----
- lustre/mdt/mdt_lproc.c                  |  45 +++---
- lustre/mgc/mgc_request.c                |   4 +-
- lustre/obdclass/genops.c                |   4 +-
- lustre/obdclass/linux/linux-module.c    |  29 ++--
- lustre/obdclass/lprocfs_jobstats.c      |   3 +-
- lustre/obdclass/lprocfs_status.c        | 176 ++++++++++++------------
- lustre/obdclass/lprocfs_status_server.c |  36 ++---
- lustre/obdclass/lu_object.c             |  27 ++--
- lustre/ofd/lproc_ofd.c                  |  65 +++++----
- lustre/osc/lproc_osc.c                  |  95 +++++++------
- lustre/osd-ldiskfs/osd_lproc.c          |  35 +++--
- lustre/osd-ldiskfs/osd_scrub.c          | 160 +++++++++-------------
- lustre/osd-zfs/osd_lproc.c              |   9 +-
- lustre/osp/lproc_osp.c                  |  60 +++++---
- lustre/ptlrpc/gss/lproc_gss.c           |  42 +++---
- lustre/ptlrpc/lproc_ptlrpc.c            |  47 ++++---
- lustre/ptlrpc/nodemap_lproc.c           |  36 +++--
- lustre/ptlrpc/nrs_tbf.c                 |   6 +-
- lustre/ptlrpc/sec_bulk.c                |  84 ++++++------
- lustre/quota/qsd_lib.c                  |  45 +++---
- 39 files changed, 974 insertions(+), 978 deletions(-)
-
-diff --git a/contrib/scripts/checkpatch.pl b/contrib/scripts/checkpatch.pl
-index dc85c7c..372ed4c 100755
---- a/contrib/scripts/checkpatch.pl
-+++ b/contrib/scripts/checkpatch.pl
-@@ -472,6 +472,8 @@ my %dep_functions = (
- 	'strcat',			'strncat',
- 	'tempnam',			'mkstemp',
- 	'f_dentry',			'f_path.dentry',
-+	'= seq_printf',			'seq_printf',
-+	'return seq_printf',		'seq_printf',
- );
- 
- my @rawlines = ();
-diff --git a/libcfs/include/libcfs/libcfs_hash.h b/libcfs/include/libcfs/libcfs_hash.h
-index f076b37..6285c66 100644
---- a/libcfs/include/libcfs/libcfs_hash.h
-+++ b/libcfs/include/libcfs/libcfs_hash.h
-@@ -803,8 +803,8 @@ __cfs_hash_set_theta(struct cfs_hash *hs, int min, int max)
- 
- /* Generic debug formatting routines mainly for proc handler */
- struct seq_file;
--int cfs_hash_debug_header(struct seq_file *m);
--int cfs_hash_debug_str(struct cfs_hash *hs, struct seq_file *m);
-+void cfs_hash_debug_header(struct seq_file *m);
-+void cfs_hash_debug_str(struct cfs_hash *hs, struct seq_file *m);
- 
- /*
-  * Generic djb2 hash algorithm for character arrays.
-diff --git a/libcfs/libcfs/hash.c b/libcfs/libcfs/hash.c
-index 02575fb..7afa6cc 100644
---- a/libcfs/libcfs/hash.c
-+++ b/libcfs/libcfs/hash.c
-@@ -2043,13 +2043,10 @@ void cfs_hash_rehash_key(struct cfs_hash *hs, const void *old_key,
- }
- EXPORT_SYMBOL(cfs_hash_rehash_key);
- 
--int cfs_hash_debug_header(struct seq_file *m)
-+void cfs_hash_debug_header(struct seq_file *m)
- {
--	return seq_printf(m, "%-*s%6s%6s%6s%6s%6s%6s%6s%7s%8s%8s%8s%s\n",
--			CFS_HASH_BIGNAME_LEN,
--			"name", "cur", "min", "max", "theta", "t-min", "t-max",
--			"flags", "rehash", "count", "maxdep", "maxdepb",
--			" distribution");
-+	seq_printf(m, "%-*s   cur   min   max theta t-min t-max flags rehash   count  maxdep maxdepb distribution\n",
-+		   CFS_HASH_BIGNAME_LEN, "name");
- }
- EXPORT_SYMBOL(cfs_hash_debug_header);
- 
-@@ -2077,31 +2074,28 @@ cfs_hash_full_nbkt(struct cfs_hash *hs)
-                CFS_HASH_RH_NBKT(hs) : CFS_HASH_NBKT(hs);
- }
- 
--int cfs_hash_debug_str(struct cfs_hash *hs, struct seq_file *m)
-+void cfs_hash_debug_str(struct cfs_hash *hs, struct seq_file *m)
- {
--	int	dist[8]	= { 0, };
--	int	maxdep	= -1;
--	int	maxdepb	= -1;
--	int	total	= 0;
--	int	c	= 0;
--	int	theta;
--	int	i;
-+	int dist[8] = { 0, };
-+	int maxdep = -1;
-+	int maxdepb = -1;
-+	int total = 0;
-+	int theta;
-+	int i;
- 
- 	cfs_hash_lock(hs, 0);
- 	theta = __cfs_hash_theta(hs);
- 
--	c += seq_printf(m, "%-*s ", CFS_HASH_BIGNAME_LEN, hs->hs_name);
--	c += seq_printf(m, "%5d ",  1 << hs->hs_cur_bits);
--	c += seq_printf(m, "%5d ",  1 << hs->hs_min_bits);
--	c += seq_printf(m, "%5d ",  1 << hs->hs_max_bits);
--	c += seq_printf(m, "%d.%03d ", __cfs_hash_theta_int(theta),
--			__cfs_hash_theta_frac(theta));
--	c += seq_printf(m, "%d.%03d ", __cfs_hash_theta_int(hs->hs_min_theta),
--			__cfs_hash_theta_frac(hs->hs_min_theta));
--	c += seq_printf(m, "%d.%03d ", __cfs_hash_theta_int(hs->hs_max_theta),
--			__cfs_hash_theta_frac(hs->hs_max_theta));
--	c += seq_printf(m, " 0x%02x ", hs->hs_flags);
--	c += seq_printf(m, "%6d ", hs->hs_rehash_count);
-+	seq_printf(m, "%-*s %5d %5d %5d %d.%03d %d.%03d %d.%03d  0x%02x %6d ",
-+		   CFS_HASH_BIGNAME_LEN, hs->hs_name,
-+		   1 << hs->hs_cur_bits, 1 << hs->hs_min_bits,
-+		   1 << hs->hs_max_bits,
-+		   __cfs_hash_theta_int(theta), __cfs_hash_theta_frac(theta),
-+		   __cfs_hash_theta_int(hs->hs_min_theta),
-+		   __cfs_hash_theta_frac(hs->hs_min_theta),
-+		   __cfs_hash_theta_int(hs->hs_max_theta),
-+		   __cfs_hash_theta_frac(hs->hs_max_theta),
-+		   hs->hs_flags, hs->hs_rehash_count);
- 
- 	/*
- 	 * The distribution is a summary of the chained hash depth in
-@@ -2126,17 +2120,14 @@ int cfs_hash_debug_str(struct cfs_hash *hs, struct seq_file *m)
- 			maxdepb = ffz(~maxdep);
- 		}
- 		total += bd.bd_bucket->hsb_count;
--		dist[min(fls(bd.bd_bucket->hsb_count/max(theta,1)),7)]++;
-+		dist[min(fls(bd.bd_bucket->hsb_count / max(theta, 1)), 7)]++;
- 		cfs_hash_bd_unlock(hs, &bd, 0);
- 	}
- 
--	c += seq_printf(m, "%7d ", total);
--	c += seq_printf(m, "%7d ", maxdep);
--	c += seq_printf(m, "%7d ", maxdepb);
-+	seq_printf(m, "%7d %7d %7d ", total, maxdep, maxdepb);
- 	for (i = 0; i < 8; i++)
--		c += seq_printf(m, "%d%c",  dist[i], (i == 7) ? '\n' : '/');
-+		seq_printf(m, "%d%c",  dist[i], (i == 7) ? '\n' : '/');
- 
- 	cfs_hash_unlock(hs, 0);
--	return c;
- }
- EXPORT_SYMBOL(cfs_hash_debug_str);
-diff --git a/lustre/fid/lproc_fid.c b/lustre/fid/lproc_fid.c
-index 078df00..00b2c7b 100644
---- a/lustre/fid/lproc_fid.c
-+++ b/lustre/fid/lproc_fid.c
-@@ -127,17 +127,15 @@ static int
- lprocfs_server_fid_space_seq_show(struct seq_file *m, void *unused)
- {
- 	struct lu_server_seq *seq = (struct lu_server_seq *)m->private;
--	int rc;
- 	ENTRY;
- 
- 	LASSERT(seq != NULL);
- 
- 	mutex_lock(&seq->lss_mutex);
--	rc = seq_printf(m, "["LPX64" - "LPX64"]:%x:%s\n",
--			PRANGE(&seq->lss_space));
-+	seq_printf(m, "["LPX64" - "LPX64"]:%x:%s\n", PRANGE(&seq->lss_space));
- 	mutex_unlock(&seq->lss_mutex);
- 
--	RETURN(rc);
-+	RETURN(0);
- }
- 
- static int
-@@ -145,7 +143,6 @@ lprocfs_server_fid_server_seq_show(struct seq_file *m, void *unused)
- {
- 	struct lu_server_seq *seq = (struct lu_server_seq *)m->private;
- 	struct client_obd *cli;
--	int rc;
- 	ENTRY;
- 
- 	LASSERT(seq != NULL);
-@@ -153,16 +150,15 @@ lprocfs_server_fid_server_seq_show(struct seq_file *m, void *unused)
- 	if (seq->lss_cli) {
- 		if (seq->lss_cli->lcs_exp != NULL) {
- 			cli = &seq->lss_cli->lcs_exp->exp_obd->u.cli;
--			rc = seq_printf(m, "%s\n", cli->cl_target_uuid.uuid);
-+			seq_printf(m, "%s\n", cli->cl_target_uuid.uuid);
- 		} else {
--			rc = seq_printf(m, "%s\n",
--					seq->lss_cli->lcs_srv->lss_name);
-+			seq_printf(m, "%s\n", seq->lss_cli->lcs_srv->lss_name);
-                 }
- 	} else {
--		rc = seq_printf(m, "<none>\n");
-+		seq_puts(m, "<none>\n");
- 	}
- 
--	RETURN(rc);
-+	RETURN(0);
- }
- 
- static ssize_t
-@@ -197,16 +193,15 @@ static int
- lprocfs_server_fid_width_seq_show(struct seq_file *m, void *unused)
- {
- 	struct lu_server_seq *seq = (struct lu_server_seq *)m->private;
--	int rc;
- 	ENTRY;
- 
- 	LASSERT(seq != NULL);
- 
- 	mutex_lock(&seq->lss_mutex);
--	rc = seq_printf(m, LPU64"\n", seq->lss_width);
-+	seq_printf(m, LPU64"\n", seq->lss_width);
- 	mutex_unlock(&seq->lss_mutex);
- 
--	RETURN(rc);
-+	RETURN(0);
- }
- 
- LPROC_SEQ_FOPS(lprocfs_server_fid_space);
-@@ -334,7 +329,7 @@ static int fldb_seq_show(struct seq_file *p, void *v)
- 		       fld->lsf_name, rc);
- 	} else if (fld_rec.lsr_start != 0) {
- 		range_be_to_cpu(&fld_rec, &fld_rec);
--		rc = seq_printf(p, DRANGE"\n", PRANGE(&fld_rec));
-+		seq_printf(p, DRANGE"\n", PRANGE(&fld_rec));
- 	}
- 
- 	return rc;
-@@ -533,17 +528,16 @@ static int
- lprocfs_client_fid_space_seq_show(struct seq_file *m, void *unused)
- {
- 	struct lu_client_seq *seq = (struct lu_client_seq *)m->private;
--	int rc;
- 	ENTRY;
- 
- 	LASSERT(seq != NULL);
- 
- 	mutex_lock(&seq->lcs_mutex);
--	rc = seq_printf(m, "["LPX64" - "LPX64"]:%x:%s\n",
--			PRANGE(&seq->lcs_space));
-+	seq_printf(m, "["LPX64" - "LPX64"]:%x:%s\n",
-+		   PRANGE(&seq->lcs_space));
- 	mutex_unlock(&seq->lcs_mutex);
- 
--	RETURN(rc);
-+	RETURN(0);
- }
- 
- static ssize_t
-@@ -585,32 +579,30 @@ static int
- lprocfs_client_fid_width_seq_show(struct seq_file *m, void *unused)
- {
- 	struct lu_client_seq *seq = (struct lu_client_seq *)m->private;
--	int rc;
- 	ENTRY;
- 
- 	LASSERT(seq != NULL);
- 
- 	mutex_lock(&seq->lcs_mutex);
--	rc = seq_printf(m, LPU64"\n", seq->lcs_width);
-+	seq_printf(m, LPU64"\n", seq->lcs_width);
- 	mutex_unlock(&seq->lcs_mutex);
- 
--	RETURN(rc);
-+	RETURN(0);
- }
- 
- static int
- lprocfs_client_fid_fid_seq_show(struct seq_file *m, void *unused)
- {
- 	struct lu_client_seq *seq = (struct lu_client_seq *)m->private;
--	int rc;
- 	ENTRY;
- 
- 	LASSERT(seq != NULL);
- 
- 	mutex_lock(&seq->lcs_mutex);
--	rc = seq_printf(m, DFID"\n", PFID(&seq->lcs_fid));
-+	seq_printf(m, DFID"\n", PFID(&seq->lcs_fid));
- 	mutex_unlock(&seq->lcs_mutex);
- 
--	RETURN(rc);
-+	RETURN(0);
- }
- 
- static int
-@@ -618,18 +610,17 @@ lprocfs_client_fid_server_seq_show(struct seq_file *m, void *unused)
- {
- 	struct lu_client_seq *seq = (struct lu_client_seq *)m->private;
- 	struct client_obd *cli;
--	int rc;
- 	ENTRY;
- 
- 	LASSERT(seq != NULL);
- 
- 	if (seq->lcs_exp != NULL) {
- 		cli = &seq->lcs_exp->exp_obd->u.cli;
--		rc = seq_printf(m, "%s\n", cli->cl_target_uuid.uuid);
-+		seq_printf(m, "%s\n", cli->cl_target_uuid.uuid);
- 	} else {
--		rc = seq_printf(m, "%s\n", seq->lcs_srv->lss_name);
-+		seq_printf(m, "%s\n", seq->lcs_srv->lss_name);
- 	}
--	RETURN(rc);
-+	RETURN(0);
- }
- 
- LPROC_SEQ_FOPS(lprocfs_client_fid_space);
-diff --git a/lustre/fld/lproc_fld.c b/lustre/fld/lproc_fld.c
-index 4ae4f26..24e336c 100644
---- a/lustre/fld/lproc_fld.c
-+++ b/lustre/fld/lproc_fld.c
-@@ -263,7 +263,7 @@ static int fldb_seq_show(struct seq_file *p, void *v)
- 		       fld->lsf_name, rc);
- 	} else if (fld_rec->lsr_start != 0) {
- 		range_be_to_cpu(fld_rec, fld_rec);
--		rc = seq_printf(p, DRANGE"\n", PRANGE(fld_rec));
-+		seq_printf(p, DRANGE"\n", PRANGE(fld_rec));
- 	}
- 
- 	return rc;
-diff --git a/lustre/ldlm/ldlm_pool.c b/lustre/ldlm/ldlm_pool.c
-index 5292266..5ed717c 100644
---- a/lustre/ldlm/ldlm_pool.c
-+++ b/lustre/ldlm/ldlm_pool.c
-@@ -685,20 +685,19 @@ static int lprocfs_pool_state_seq_show(struct seq_file *m, void *unused)
- 	spin_unlock(&pl->pl_lock);
- 
- 	seq_printf(m, "LDLM pool state (%s):\n"
--		      "  SLV: "LPU64"\n"
--		      "  CLV: "LPU64"\n"
--		      "  LVF: %d\n",
--		      pl->pl_name, slv, clv, lvf);
-+		   "  SLV: "LPU64"\n"
-+		   "  CLV: "LPU64"\n"
-+		   "  LVF: %d\n",
-+		   pl->pl_name, slv, clv, lvf);
- 
- 	if (ns_is_server(ldlm_pl2ns(pl))) {
--		seq_printf(m, "  GSP: %d%%\n"
--			      "  GP:  %d\n",
--			      grant_step, grant_plan);
-+		seq_printf(m, "  GSP: %d%%\n", grant_step);
-+		seq_printf(m, "  GP:  %d\n", grant_plan);
- 	}
--	seq_printf(m, "  GR:  %d\n" "  CR:  %d\n" "  GS:  %d\n"
--		      "  G:   %d\n" "  L:   %d\n",
--		      grant_rate, cancel_rate, grant_speed,
--		      granted, limit);
-+
-+	seq_printf(m, "  GR:  %d\n  CR:  %d\n  GS:  %d\n  G:   %d\n  L:   %d\n",
-+		   grant_rate, cancel_rate, grant_speed,
-+		   granted, limit);
- 	return 0;
- }
- LPROC_SEQ_FOPS_RO(lprocfs_pool_state);
-diff --git a/lustre/ldlm/ldlm_resource.c b/lustre/ldlm/ldlm_resource.c
-index 7ed21e3..7abcaaa 100644
---- a/lustre/ldlm/ldlm_resource.c
-+++ b/lustre/ldlm/ldlm_resource.c
-@@ -88,7 +88,8 @@ LPROC_SEQ_FOPS_RO_TYPE(ldlm, uint);
- 
- static int seq_watermark_show(struct seq_file *m, void *data)
- {
--	return seq_printf(m, LPU64"\n", *(__u64 *)m->private);
-+	seq_printf(m, LPU64"\n", *(__u64 *)m->private);
-+	return 0;
- }
- 
- static ssize_t seq_watermark_write(struct file *file,
-@@ -161,8 +162,9 @@ static const struct file_operations ldlm_watermark_fops = {
- 
- static int seq_granted_show(struct seq_file *m, void *data)
- {
--	return seq_printf(m, LPU64"\n", percpu_counter_sum_positive(
--				(struct percpu_counter *)m->private));
-+	seq_printf(m, LPU64"\n", percpu_counter_sum_positive(
-+		   (struct percpu_counter *)m->private));
-+	return 0;
- }
- 
- static int seq_granted_open(struct inode *inode, struct file *file)
-diff --git a/lustre/lfsck/lfsck_internal.h b/lustre/lfsck/lfsck_internal.h
-index 281643e..a75e948 100644
---- a/lustre/lfsck/lfsck_internal.h
-+++ b/lustre/lfsck/lfsck_internal.h
-@@ -411,9 +411,9 @@ struct lfsck_operations {
- 			  int result,
- 			  bool init);
- 
--	int (*lfsck_dump)(const struct lu_env *env,
--			  struct lfsck_component *com,
--			  struct seq_file *m);
-+	void (*lfsck_dump)(const struct lu_env *env,
-+			   struct lfsck_component *com,
-+			   struct seq_file *m);
- 
- 	int (*lfsck_double_scan)(const struct lu_env *env,
- 				 struct lfsck_component *com);
-@@ -917,11 +917,11 @@ void lfsck_component_cleanup(const struct lu_env *env,
- 			     struct lfsck_component *com);
- void lfsck_instance_cleanup(const struct lu_env *env,
- 			    struct lfsck_instance *lfsck);
--int lfsck_bits_dump(struct seq_file *m, int bits, const char *names[],
-+void lfsck_bits_dump(struct seq_file *m, int bits, const char *names[],
-+		     const char *prefix);
-+void lfsck_time_dump(struct seq_file *m, __u64 time, const char *name);
-+void lfsck_pos_dump(struct seq_file *m, struct lfsck_position *pos,
- 		    const char *prefix);
--int lfsck_time_dump(struct seq_file *m, __u64 time, const char *name);
--int lfsck_pos_dump(struct seq_file *m, struct lfsck_position *pos,
--		   const char *prefix);
- void lfsck_pos_fill(const struct lu_env *env, struct lfsck_instance *lfsck,
- 		    struct lfsck_position *pos, bool init);
- bool __lfsck_set_speed(struct lfsck_instance *lfsck, __u32 limit);
-diff --git a/lustre/lfsck/lfsck_layout.c b/lustre/lfsck/lfsck_layout.c
-index 66732d5..e40c311 100644
---- a/lustre/lfsck/lfsck_layout.c
-+++ b/lustre/lfsck/lfsck_layout.c
-@@ -4747,73 +4747,59 @@ static int lfsck_layout_slave_post(const struct lu_env *env,
- 	return rc;
- }
- 
--static int lfsck_layout_dump(const struct lu_env *env,
--			     struct lfsck_component *com, struct seq_file *m)
-+static void lfsck_layout_dump(const struct lu_env *env,
-+			      struct lfsck_component *com, struct seq_file *m)
- {
- 	struct lfsck_instance	*lfsck = com->lc_lfsck;
- 	struct lfsck_bookmark	*bk    = &lfsck->li_bookmark_ram;
- 	struct lfsck_layout	*lo    = com->lc_file_ram;
--	int			 rc;
- 
- 	down_read(&com->lc_sem);
- 	seq_printf(m, "name: lfsck_layout\n"
--		      "magic: %#x\n"
--		      "version: %d\n"
--		      "status: %s\n",
--		      lo->ll_magic,
--		      bk->lb_version,
--		      lfsck_status2names(lo->ll_status));
--
--	rc = lfsck_bits_dump(m, lo->ll_flags, lfsck_flags_names, "flags");
--	if (rc < 0)
--		goto out;
-+		   "magic: %#x\n"
-+		   "version: %d\n"
-+		   "status: %s\n",
-+		   lo->ll_magic,
-+		   bk->lb_version,
-+		   lfsck_status2name(lo->ll_status));
- 
--	rc = lfsck_bits_dump(m, bk->lb_param, lfsck_param_names, "param");
--	if (rc < 0)
--		goto out;
-+	lfsck_bits_dump(m, lo->ll_flags, lfsck_flags_names, "flags");
- 
--	rc = lfsck_time_dump(m, lo->ll_time_last_complete,
--			     "last_completed");
--	if (rc < 0)
--		goto out;
-+	lfsck_bits_dump(m, bk->lb_param, lfsck_param_names, "param");
- 
--	rc = lfsck_time_dump(m, lo->ll_time_latest_start,
--			     "latest_start");
--	if (rc < 0)
--		goto out;
-+	lfsck_time_dump(m, lo->ll_time_last_complete, "last_completed");
- 
--	rc = lfsck_time_dump(m, lo->ll_time_last_checkpoint,
--			     "last_checkpoint");
--	if (rc < 0)
--		goto out;
-+	lfsck_time_dump(m, lo->ll_time_latest_start, "latest_start");
-+
-+	lfsck_time_dump(m, lo->ll_time_last_checkpoint, "last_checkpoint");
- 
- 	seq_printf(m, "latest_start_position: "LPU64"\n"
--		      "last_checkpoint_position: "LPU64"\n"
--		      "first_failure_position: "LPU64"\n",
--		      lo->ll_pos_latest_start,
--		      lo->ll_pos_last_checkpoint,
--		      lo->ll_pos_first_inconsistent);
-+		   "last_checkpoint_position: "LPU64"\n"
-+		   "first_failure_position: "LPU64"\n",
-+		   lo->ll_pos_latest_start,
-+		   lo->ll_pos_last_checkpoint,
-+		   lo->ll_pos_first_inconsistent);
- 
- 	seq_printf(m, "success_count: %u\n"
--		      "repaired_dangling: "LPU64"\n"
--		      "repaired_unmatched_pair: "LPU64"\n"
--		      "repaired_multiple_referenced: "LPU64"\n"
--		      "repaired_orphan: "LPU64"\n"
--		      "repaired_inconsistent_owner: "LPU64"\n"
--		      "repaired_others: "LPU64"\n"
--		      "skipped: "LPU64"\n"
--		      "failed_phase1: "LPU64"\n"
--		      "failed_phase2: "LPU64"\n",
--		      lo->ll_success_count,
--		      lo->ll_objs_repaired[LLIT_DANGLING - 1],
--		      lo->ll_objs_repaired[LLIT_UNMATCHED_PAIR - 1],
--		      lo->ll_objs_repaired[LLIT_MULTIPLE_REFERENCED - 1],
--		      lo->ll_objs_repaired[LLIT_ORPHAN - 1],
--		      lo->ll_objs_repaired[LLIT_INCONSISTENT_OWNER - 1],
--		      lo->ll_objs_repaired[LLIT_OTHERS - 1],
--		      lo->ll_objs_skipped,
--		      lo->ll_objs_failed_phase1,
--		      lo->ll_objs_failed_phase2);
-+		   "repaired_dangling: "LPU64"\n"
-+		   "repaired_unmatched_pair: "LPU64"\n"
-+		   "repaired_multiple_referenced: "LPU64"\n"
-+		   "repaired_orphan: "LPU64"\n"
-+		   "repaired_inconsistent_owner: "LPU64"\n"
-+		   "repaired_others: "LPU64"\n"
-+		   "skipped: "LPU64"\n"
-+		   "failed_phase1: "LPU64"\n"
-+		   "failed_phase2: "LPU64"\n",
-+		   lo->ll_success_count,
-+		   lo->ll_objs_repaired[LLIT_DANGLING - 1],
-+		   lo->ll_objs_repaired[LLIT_UNMATCHED_PAIR - 1],
-+		   lo->ll_objs_repaired[LLIT_MULTIPLE_REFERENCED - 1],
-+		   lo->ll_objs_repaired[LLIT_ORPHAN - 1],
-+		   lo->ll_objs_repaired[LLIT_INCONSISTENT_OWNER - 1],
-+		   lo->ll_objs_repaired[LLIT_OTHERS - 1],
-+		   lo->ll_objs_skipped,
-+		   lo->ll_objs_failed_phase1,
-+		   lo->ll_objs_failed_phase2);
- 
- 	if (lo->ll_status == LS_SCANNING_PHASE1) {
- 		__u64 pos;
-@@ -4833,19 +4819,19 @@ static int lfsck_layout_dump(const struct lu_env *env,
- 		if (rtime != 0)
- 			do_div(speed, rtime);
- 		seq_printf(m, "checked_phase1: "LPU64"\n"
--			      "checked_phase2: "LPU64"\n"
--			      "run_time_phase1: %u seconds\n"
--			      "run_time_phase2: %u seconds\n"
--			      "average_speed_phase1: "LPU64" items/sec\n"
--			      "average_speed_phase2: N/A\n"
--			      "real-time_speed_phase1: "LPU64" items/sec\n"
--			      "real-time_speed_phase2: N/A\n",
--			      checked,
--			      lo->ll_objs_checked_phase2,
--			      rtime,
--			      lo->ll_run_time_phase2,
--			      speed,
--			      new_checked);
-+			   "checked_phase2: "LPU64"\n"
-+			   "run_time_phase1: %u seconds\n"
-+			   "run_time_phase2: %u seconds\n"
-+			   "average_speed_phase1: "LPU64" items/sec\n"
-+			   "average_speed_phase2: N/A\n"
-+			   "real-time_speed_phase1: "LPU64" items/sec\n"
-+			   "real-time_speed_phase2: N/A\n",
-+			   checked,
-+			   lo->ll_objs_checked_phase2,
-+			   rtime,
-+			   lo->ll_run_time_phase2,
-+			   speed,
-+			   new_checked);
- 
- 		LASSERT(lfsck->li_di_oit != NULL);
- 
-@@ -4878,26 +4864,23 @@ static int lfsck_layout_dump(const struct lu_env *env,
- 			do_div(speed1, lo->ll_run_time_phase1);
- 		if (rtime != 0)
- 			do_div(speed2, rtime);
--		rc = seq_printf(m, "checked_phase1: "LPU64"\n"
--				"checked_phase2: "LPU64"\n"
--				"run_time_phase1: %u seconds\n"
--				"run_time_phase2: %u seconds\n"
--				"average_speed_phase1: "LPU64" items/sec\n"
--				"average_speed_phase2: "LPU64" items/sec\n"
--				"real-time_speed_phase1: N/A\n"
--				"real-time_speed_phase2: "LPU64" items/sec\n"
--				"current_position: "DFID"\n",
--				lo->ll_objs_checked_phase1,
--				checked,
--				lo->ll_run_time_phase1,
--				rtime,
--				speed1,
--				speed2,
--				new_checked,
--				PFID(&com->lc_fid_latest_scanned_phase2));
--		if (rc <= 0)
--			goto out;
--
-+		seq_printf(m, "checked_phase1: "LPU64"\n"
-+			   "checked_phase2: "LPU64"\n"
-+			   "run_time_phase1: %u seconds\n"
-+			   "run_time_phase2: %u seconds\n"
-+			   "average_speed_phase1: "LPU64" items/sec\n"
-+			   "average_speed_phase2: "LPU64" items/sec\n"
-+			   "real-time_speed_phase1: N/A\n"
-+			   "real-time_speed_phase2: "LPU64" items/sec\n"
-+			   "current_position: "DFID"\n",
-+			   lo->ll_objs_checked_phase1,
-+			   checked,
-+			   lo->ll_run_time_phase1,
-+			   rtime,
-+			   speed1,
-+			   speed2,
-+			   new_checked,
-+			   PFID(&com->lc_fid_latest_scanned_phase2));
- 	} else {
- 		__u64 speed1 = lo->ll_objs_checked_phase1;
- 		__u64 speed2 = lo->ll_objs_checked_phase2;
-@@ -4922,10 +4905,8 @@ static int lfsck_layout_dump(const struct lu_env *env,
- 			   speed1,
- 			   speed2);
- 	}
--out:
--	up_read(&com->lc_sem);
- 
--	return rc;
-+	up_read(&com->lc_sem);
- }
- 
- static int lfsck_layout_master_double_scan(const struct lu_env *env,
-diff --git a/lustre/lfsck/lfsck_lib.c b/lustre/lfsck/lfsck_lib.c
-index 139c95b..1064392 100644
---- a/lustre/lfsck/lfsck_lib.c
-+++ b/lustre/lfsck/lfsck_lib.c
-@@ -1749,17 +1749,14 @@ static inline int lfsck_instance_add(struct lfsck_instance *lfsck)
- 	return 0;
- }
- 
--int lfsck_bits_dump(struct seq_file *m, int bits, const char *names[],
--		    const char *prefix)
-+void lfsck_bits_dump(struct seq_file *m, int bits, const char *names[],
-+		     const char *prefix)
- {
- 	int flag;
- 	int i;
- 	bool newline = (bits != 0 ? false : true);
--	int rc;
- 
--	rc = seq_printf(m, "%s:%c", prefix, bits != 0 ? ' ' : '\n');
--	if (rc < 0)
--		return rc;
-+	seq_printf(m, "%s:%c", prefix, bits != 0 ? ' ' : '\n');
- 
- 	for (i = 0, flag = 1; bits != 0; i++, flag = 1 << i) {
- 		if (flag & bits) {
-@@ -1768,54 +1765,43 @@ int lfsck_bits_dump(struct seq_file *m, int bits, const char *names[],
- 				if (bits == 0)
- 					newline = true;
- 
--				rc = seq_printf(m, "%s%c", names[i],
--						newline ? '\n' : ',');
--				if (rc < 0)
--					return rc;
-+				seq_printf(m, "%s%c", names[i],
-+					   newline ? '\n' : ',');
- 			}
- 		}
- 	}
- 
- 	if (!newline)
--		rc = seq_printf(m, "\n");
--
--	return rc;
-+		seq_putc(m, '\n');
- }
- 
--int lfsck_time_dump(struct seq_file *m, __u64 time, const char *name)
-+void lfsck_time_dump(struct seq_file *m, __u64 time, const char *name)
- {
--	int rc;
--
- 	if (time == 0) {
--		rc = seq_printf(m, "%s_time: N/A\n", name);
--		if (rc == 0)
--			rc = seq_printf(m, "time_since_%s: N/A\n", name);
--
--		return rc;
-+		seq_printf(m, "%s_time: N/A\n", name);
-+		seq_printf(m, "time_since_%s: N/A\n", name);
-+	} else {
-+		seq_printf(m, "%s_time: "LPU64"\n", name, time);
-+		seq_printf(m, "time_since_%s: "LPU64" seconds\n",
-+			   name, cfs_time_current_sec() - time);
- 	}
--
--	rc = seq_printf(m, "%s_time: "LPU64"\n", name, time);
--	if (rc == 0)
--		rc = seq_printf(m, "time_since_%s: "LPU64" seconds\n",
--				name, cfs_time_current_sec() - time);
--
--	return rc;
- }
- 
--int lfsck_pos_dump(struct seq_file *m, struct lfsck_position *pos,
--		   const char *prefix)
-+void lfsck_pos_dump(struct seq_file *m, struct lfsck_position *pos,
-+		    const char *prefix)
- {
- 	if (fid_is_zero(&pos->lp_dir_parent)) {
--		if (pos->lp_oit_cookie == 0)
--			return seq_printf(m, "%s: N/A, N/A, N/A\n", prefix);
--
--		return seq_printf(m, "%s: "LPU64", N/A, N/A\n",
--				  prefix, pos->lp_oit_cookie);
-+		if (pos->lp_oit_cookie == 0) {
-+			seq_printf(m, "%s: N/A, N/A, N/A\n", prefix);
-+			return;
-+		}
-+		seq_printf(m, "%s: "LPU64", N/A, N/A\n",
-+			   prefix, pos->lp_oit_cookie);
-+	} else {
-+		seq_printf(m, "%s: "LPU64", "DFID", "LPX64"\n",
-+			   prefix, pos->lp_oit_cookie,
-+			   PFID(&pos->lp_dir_parent), pos->lp_dir_cookie);
- 	}
--
--	return seq_printf(m, "%s: "LPU64", "DFID", "LPX64"\n",
--			  prefix, pos->lp_oit_cookie,
--			  PFID(&pos->lp_dir_parent), pos->lp_dir_cookie);
- }
- 
- void lfsck_pos_fill(const struct lu_env *env, struct lfsck_instance *lfsck,
-@@ -2696,7 +2682,7 @@ int lfsck_dump(struct seq_file *m, struct dt_device *key, enum lfsck_type type)
- 	if (likely(lfsck != NULL)) {
- 		com = lfsck_component_find(lfsck, type);
- 		if (likely(com != NULL)) {
--			rc = com->lc_ops->lfsck_dump(&env, com, m);
-+			com->lc_ops->lfsck_dump(&env, com, m);
- 			lfsck_component_put(&env, com);
- 		} else {
- 			rc = -ENOTSUPP;
-diff --git a/lustre/lfsck/lfsck_namespace.c b/lustre/lfsck/lfsck_namespace.c
-index fa448bb..a97fa17 100644
---- a/lustre/lfsck/lfsck_namespace.c
-+++ b/lustre/lfsck/lfsck_namespace.c
-@@ -3611,75 +3611,75 @@ static void lfsck_namespace_dump_statistics(struct seq_file *m,
- 					    __u32 time_phase2)
- {
- 	seq_printf(m, "checked_phase1: "LPU64"\n"
--		      "checked_phase2: "LPU64"\n"
--		      "updated_phase1: "LPU64"\n"
--		      "updated_phase2: "LPU64"\n"
--		      "failed_phase1: "LPU64"\n"
--		      "failed_phase2: "LPU64"\n"
--		      "directories: "LPU64"\n"
--		      "dirent_repaired: "LPU64"\n"
--		      "linkea_repaired: "LPU64"\n"
--		      "nlinks_repaired: "LPU64"\n"
--		      "multiple_linked_checked: "LPU64"\n"
--		      "multiple_linked_repaired: "LPU64"\n"
--		      "unknown_inconsistency: "LPU64"\n"
--		      "unmatched_pairs_repaired: "LPU64"\n"
--		      "dangling_repaired: "LPU64"\n"
--		      "multiple_referenced_repaired: "LPU64"\n"
--		      "bad_file_type_repaired: "LPU64"\n"
--		      "lost_dirent_repaired: "LPU64"\n"
--		      "local_lost_found_scanned: "LPU64"\n"
--		      "local_lost_found_moved: "LPU64"\n"
--		      "local_lost_found_skipped: "LPU64"\n"
--		      "local_lost_found_failed: "LPU64"\n"
--		      "striped_dirs_scanned: "LPU64"\n"
--		      "striped_dirs_repaired: "LPU64"\n"
--		      "striped_dirs_failed: "LPU64"\n"
--		      "striped_dirs_disabled: "LPU64"\n"
--		      "striped_dirs_skipped: "LPU64"\n"
--		      "striped_shards_scanned: "LPU64"\n"
--		      "striped_shards_repaired: "LPU64"\n"
--		      "striped_shards_failed: "LPU64"\n"
--		      "striped_shards_skipped: "LPU64"\n"
--		      "name_hash_repaired: "LPU64"\n"
--		      "success_count: %u\n"
--		      "run_time_phase1: %u seconds\n"
--		      "run_time_phase2: %u seconds\n",
--		      checked_phase1,
--		      checked_phase2,
--		      ns->ln_items_repaired,
--		      ns->ln_objs_repaired_phase2,
--		      ns->ln_items_failed,
--		      ns->ln_objs_failed_phase2,
--		      ns->ln_dirs_checked,
--		      ns->ln_dirent_repaired,
--		      ns->ln_linkea_repaired,
--		      ns->ln_objs_nlink_repaired,
--		      ns->ln_mul_linked_checked,
--		      ns->ln_mul_linked_repaired,
--		      ns->ln_unknown_inconsistency,
--		      ns->ln_unmatched_pairs_repaired,
--		      ns->ln_dangling_repaired,
--		      ns->ln_mul_ref_repaired,
--		      ns->ln_bad_type_repaired,
--		      ns->ln_lost_dirent_repaired,
--		      ns->ln_local_lpf_scanned,
--		      ns->ln_local_lpf_moved,
--		      ns->ln_local_lpf_skipped,
--		      ns->ln_local_lpf_failed,
--		      ns->ln_striped_dirs_scanned,
--		      ns->ln_striped_dirs_repaired,
--		      ns->ln_striped_dirs_failed,
--		      ns->ln_striped_dirs_disabled,
--		      ns->ln_striped_dirs_skipped,
--		      ns->ln_striped_shards_scanned,
--		      ns->ln_striped_shards_repaired,
--		      ns->ln_striped_shards_failed,
--		      ns->ln_striped_shards_skipped,
--		      ns->ln_name_hash_repaired,
--		      ns->ln_success_count,
--		      time_phase1,
--		      time_phase2);
-+		   "checked_phase2: "LPU64"\n"
-+		   "updated_phase1: "LPU64"\n"
-+		   "updated_phase2: "LPU64"\n"
-+		   "failed_phase1: "LPU64"\n"
-+		   "failed_phase2: "LPU64"\n"
-+		   "directories: "LPU64"\n"
-+		   "dirent_repaired: "LPU64"\n"
-+		   "linkea_repaired: "LPU64"\n"
-+		   "nlinks_repaired: "LPU64"\n"
-+		   "multiple_linked_checked: "LPU64"\n"
-+		   "multiple_linked_repaired: "LPU64"\n"
-+		   "unknown_inconsistency: "LPU64"\n"
-+		   "unmatched_pairs_repaired: "LPU64"\n"
-+		   "dangling_repaired: "LPU64"\n"
-+		   "multiple_referenced_repaired: "LPU64"\n"
-+		   "bad_file_type_repaired: "LPU64"\n"
-+		   "lost_dirent_repaired: "LPU64"\n"
-+		   "local_lost_found_scanned: "LPU64"\n"
-+		   "local_lost_found_moved: "LPU64"\n"
-+		   "local_lost_found_skipped: "LPU64"\n"
-+		   "local_lost_found_failed: "LPU64"\n"
-+		   "striped_dirs_scanned: "LPU64"\n"
-+		   "striped_dirs_repaired: "LPU64"\n"
-+		   "striped_dirs_failed: "LPU64"\n"
-+		   "striped_dirs_disabled: "LPU64"\n"
-+		   "striped_dirs_skipped: "LPU64"\n"
-+		   "striped_shards_scanned: "LPU64"\n"
-+		   "striped_shards_repaired: "LPU64"\n"
-+		   "striped_shards_failed: "LPU64"\n"
-+		   "striped_shards_skipped: "LPU64"\n"
-+		   "name_hash_repaired: "LPU64"\n"
-+		   "success_count: %u\n"
-+		   "run_time_phase1: %u seconds\n"
-+		   "run_time_phase2: %u seconds\n",
-+		   checked_phase1,
-+		   checked_phase2,
-+		   ns->ln_items_repaired,
-+		   ns->ln_objs_repaired_phase2,
-+		   ns->ln_items_failed,
-+		   ns->ln_objs_failed_phase2,
-+		   ns->ln_dirs_checked,
-+		   ns->ln_dirent_repaired,
-+		   ns->ln_linkea_repaired,
-+		   ns->ln_objs_nlink_repaired,
-+		   ns->ln_mul_linked_checked,
-+		   ns->ln_mul_linked_repaired,
-+		   ns->ln_unknown_inconsistency,
-+		   ns->ln_unmatched_pairs_repaired,
-+		   ns->ln_dangling_repaired,
-+		   ns->ln_mul_ref_repaired,
-+		   ns->ln_bad_type_repaired,
-+		   ns->ln_lost_dirent_repaired,
-+		   ns->ln_local_lpf_scanned,
-+		   ns->ln_local_lpf_moved,
-+		   ns->ln_local_lpf_skipped,
-+		   ns->ln_local_lpf_failed,
-+		   ns->ln_striped_dirs_scanned,
-+		   ns->ln_striped_dirs_repaired,
-+		   ns->ln_striped_dirs_failed,
-+		   ns->ln_striped_dirs_disabled,
-+		   ns->ln_striped_dirs_skipped,
-+		   ns->ln_striped_shards_scanned,
-+		   ns->ln_striped_shards_repaired,
-+		   ns->ln_striped_shards_failed,
-+		   ns->ln_striped_shards_skipped,
-+		   ns->ln_name_hash_repaired,
-+		   ns->ln_success_count,
-+		   time_phase1,
-+		   time_phase2);
- }
- 
- static void lfsck_namespace_release_lmv(const struct lu_env *env,
-@@ -4243,14 +4243,13 @@ static int lfsck_namespace_post(const struct lu_env *env,
- 	RETURN(rc);
- }
- 
--static int
-+static void
- lfsck_namespace_dump(const struct lu_env *env, struct lfsck_component *com,
- 		     struct seq_file *m)
- {
- 	struct lfsck_instance	*lfsck = com->lc_lfsck;
- 	struct lfsck_bookmark	*bk    = &lfsck->li_bookmark_ram;
- 	struct lfsck_namespace	*ns    = com->lc_file_ram;
--	int			 rc;
- 
- 	down_read(&com->lc_sem);
- 	seq_printf(m, "name: lfsck_namespace\n"
-@@ -4261,43 +4260,23 @@ lfsck_namespace_dump(const struct lu_env *env, struct lfsck_component *com,
- 		   bk->lb_version,
- 		   lfsck_status2names(ns->ln_status));
- 
--	rc = lfsck_bits_dump(m, ns->ln_flags, lfsck_flags_names, "flags");
--	if (rc < 0)
--		goto out;
-+	lfsck_bits_dump(m, ns->ln_flags, lfsck_flags_names, "flags");
- 
--	rc = lfsck_bits_dump(m, bk->lb_param, lfsck_param_names, "param");
--	if (rc < 0)
--		goto out;
-+	lfsck_bits_dump(m, bk->lb_param, lfsck_param_names, "param");
- 
--	rc = lfsck_time_dump(m, ns->ln_time_last_complete,
--			     "last_completed");
--	if (rc < 0)
--		goto out;
-+	lfsck_time_dump(m, ns->ln_time_last_complete, "last_completed");
- 
--	rc = lfsck_time_dump(m, ns->ln_time_latest_start,
--			     "latest_start");
--	if (rc < 0)
--		goto out;
-+	lfsck_time_dump(m, ns->ln_time_latest_start, "latest_start");
- 
--	rc = lfsck_time_dump(m, ns->ln_time_last_checkpoint,
--			     "last_checkpoint");
--	if (rc < 0)
--		goto out;
-+	lfsck_time_dump(m, ns->ln_time_last_checkpoint, "last_checkpoint");
- 
--	rc = lfsck_pos_dump(m, &ns->ln_pos_latest_start,
--			    "latest_start_position");
--	if (rc < 0)
--		goto out;
-+	lfsck_pos_dump(m, &ns->ln_pos_latest_start, "latest_start_position");
- 
--	rc = lfsck_pos_dump(m, &ns->ln_pos_last_checkpoint,
--			    "last_checkpoint_position");
--	if (rc < 0)
--		goto out;
-+	lfsck_pos_dump(m, &ns->ln_pos_last_checkpoint,
-+		       "last_checkpoint_position");
- 
--	rc = lfsck_pos_dump(m, &ns->ln_pos_first_inconsistent,
--			    "first_failure_position");
--	if (rc < 0)
--		goto out;
-+	lfsck_pos_dump(m, &ns->ln_pos_first_inconsistent,
-+		       "first_failure_position");
- 
- 	if (ns->ln_status == LS_SCANNING_PHASE1) {
- 		struct lfsck_position pos;
-@@ -4319,13 +4298,13 @@ lfsck_namespace_dump(const struct lu_env *env, struct lfsck_component *com,
- 
- 		lfsck_namespace_dump_statistics(m, ns, checked, 0, rtime, 0);
- 		seq_printf(m, "average_speed_phase1: "LPU64" items/sec\n"
--			      "average_speed_phase2: N/A\n"
--			      "average_speed_total: "LPU64" items/sec\n"
--			      "real_time_speed_phase1: "LPU64" items/sec\n"
--			      "real_time_speed_phase2: N/A\n",
--			      speed,
--			      speed,
--			      new_checked);
-+			   "average_speed_phase2: N/A\n"
-+			   "average_speed_total: "LPU64" items/sec\n"
-+			   "real_time_speed_phase1: "LPU64" items/sec\n"
-+			   "real_time_speed_phase2: N/A\n",
-+			   speed,
-+			   speed,
-+			   new_checked);
- 
- 		LASSERT(lfsck->li_di_oit != NULL);
- 
-@@ -4389,16 +4368,16 @@ lfsck_namespace_dump(const struct lu_env *env, struct lfsck_component *com,
- 						checked,
- 						ns->ln_run_time_phase1, rtime);
- 		seq_printf(m, "average_speed_phase1: "LPU64" items/sec\n"
--			      "average_speed_phase2: "LPU64" objs/sec\n"
--			      "average_speed_total: "LPU64" items/sec\n"
--			      "real_time_speed_phase1: N/A\n"
--			      "real_time_speed_phase2: "LPU64" objs/sec\n"
--			      "current_position: "DFID"\n",
--			      speed1,
--			      speed2,
--			      speed0,
--			      new_checked,
--			      PFID(&ns->ln_fid_latest_scanned_phase2));
-+			   "average_speed_phase2: "LPU64" objs/sec\n"
-+			   "average_speed_total: "LPU64" items/sec\n"
-+			   "real_time_speed_phase1: N/A\n"
-+			   "real_time_speed_phase2: "LPU64" objs/sec\n"
-+			   "current_position: "DFID"\n",
-+			   speed1,
-+			   speed2,
-+			   speed0,
-+			   new_checked,
-+			   PFID(&ns->ln_fid_latest_scanned_phase2));
- 	} else {
- 		__u64 speed1 = ns->ln_items_checked;
- 		__u64 speed2 = ns->ln_objs_checked_phase2;
-@@ -4423,18 +4402,17 @@ lfsck_namespace_dump(const struct lu_env *env, struct lfsck_component *com,
- 						ns->ln_run_time_phase1,
- 						ns->ln_run_time_phase2);
- 		seq_printf(m, "average_speed_phase1: "LPU64" items/sec\n"
--			      "average_speed_phase2: "LPU64" objs/sec\n"
--			      "average_speed_total: "LPU64" items/sec\n"
--			      "real_time_speed_phase1: N/A\n"
--			      "real_time_speed_phase2: N/A\n"
--			      "current_position: N/A\n",
--			      speed1,
--			      speed2,
--			      speed0);
-+			   "average_speed_phase2: "LPU64" objs/sec\n"
-+			   "average_speed_total: "LPU64" items/sec\n"
-+			   "real_time_speed_phase1: N/A\n"
-+			   "real_time_speed_phase2: N/A\n"
-+			   "current_position: N/A\n",
-+			   speed1,
-+			   speed2,
-+			   speed0);
- 	}
--out:
-+
- 	up_read(&com->lc_sem);
--	return 0;
- }
- 
- static int lfsck_namespace_double_scan(const struct lu_env *env,
-diff --git a/lustre/llite/lproc_llite.c b/lustre/llite/lproc_llite.c
-index e631f50..1767a00 100644
---- a/lustre/llite/lproc_llite.c
-+++ b/lustre/llite/lproc_llite.c
-@@ -66,7 +66,7 @@ static int ll_blksize_seq_show(struct seq_file *m, void *v)
- 				cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS),
- 				OBD_STATFS_NODELAY);
- 	if (!rc)
--		rc = seq_printf(m, "%u\n", osfs.os_bsize);
-+		seq_printf(m, "%u\n", osfs.os_bsize);
- 	return rc;
- }
- LPROC_SEQ_FOPS_RO(ll_blksize);
-@@ -88,7 +88,7 @@ static int ll_kbytestotal_seq_show(struct seq_file *m, void *v)
- 		while (blk_size >>= 1)
- 			result <<= 1;
- 
--		rc = seq_printf(m, LPU64"\n", result);
-+		seq_printf(m, LPU64"\n", result);
- 	}
- 	return rc;
- }
-@@ -111,7 +111,7 @@ static int ll_kbytesfree_seq_show(struct seq_file *m, void *v)
- 		while (blk_size >>= 1)
- 			result <<= 1;
- 
--		rc = seq_printf(m, LPU64"\n", result);
-+		seq_printf(m, LPU64"\n", result);
- 	}
- 	return rc;
- }
-@@ -134,7 +134,7 @@ static int ll_kbytesavail_seq_show(struct seq_file *m, void *v)
- 		while (blk_size >>= 1)
- 			result <<= 1;
- 
--		rc = seq_printf(m, LPU64"\n", result);
-+		seq_printf(m, LPU64"\n", result);
- 	}
- 	return rc;
- }
-@@ -151,7 +151,7 @@ static int ll_filestotal_seq_show(struct seq_file *m, void *v)
- 				cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS),
- 				OBD_STATFS_NODELAY);
- 	if (!rc)
--		rc = seq_printf(m, LPU64"\n", osfs.os_files);
-+		seq_printf(m, LPU64"\n", osfs.os_files);
- 	return rc;
- }
- LPROC_SEQ_FOPS_RO(ll_filestotal);
-@@ -167,7 +167,7 @@ static int ll_filesfree_seq_show(struct seq_file *m, void *v)
- 				cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS),
- 				OBD_STATFS_NODELAY);
- 	if (!rc)
--		rc = seq_printf(m, LPU64"\n", osfs.os_ffree);
-+		seq_printf(m, LPU64"\n", osfs.os_ffree);
- 	return rc;
- }
- LPROC_SEQ_FOPS_RO(ll_filesfree);
-@@ -175,15 +175,14 @@ LPROC_SEQ_FOPS_RO(ll_filesfree);
- static int ll_client_type_seq_show(struct seq_file *m, void *v)
- {
- 	struct ll_sb_info *sbi = ll_s2sbi((struct super_block *)m->private);
--	int rc;
- 
- 	LASSERT(sbi != NULL);
- 
- 	if (sbi->ll_flags & LL_SBI_RMT_CLIENT)
--		rc = seq_printf(m, "remote client\n");
-+		seq_puts(m, "remote client\n");
- 	else
--		rc = seq_printf(m, "local client\n");
--	return rc;
-+		seq_puts(m, "local client\n");
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(ll_client_type);
- 
-@@ -192,7 +191,8 @@ static int ll_fstype_seq_show(struct seq_file *m, void *v)
- 	struct super_block *sb = m->private;
- 
- 	LASSERT(sb != NULL);
--	return seq_printf(m, "%s\n", sb->s_type->name);
-+	seq_printf(m, "%s\n", sb->s_type->name);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(ll_fstype);
- 
-@@ -201,7 +201,8 @@ static int ll_sb_uuid_seq_show(struct seq_file *m, void *v)
- 	struct super_block *sb = m->private;
- 
- 	LASSERT(sb != NULL);
--	return seq_printf(m, "%s\n", ll_s2sbi(sb)->ll_sb_uuid.uuid);
-+	seq_printf(m, "%s\n", ll_s2sbi(sb)->ll_sb_uuid.uuid);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(ll_sb_uuid);
- 
-@@ -209,7 +210,8 @@ static int ll_xattr_cache_seq_show(struct seq_file *m, void *v)
- {
- 	struct ll_sb_info *sbi = ll_s2sbi((struct super_block *)m->private);
- 
--	return seq_printf(m, "%u\n", sbi->ll_xattr_cache_enabled);
-+	seq_printf(m, "%u\n", sbi->ll_xattr_cache_enabled);
-+	return 0;
- }
- 
- static ssize_t ll_xattr_cache_seq_write(struct file *file,
-@@ -407,17 +409,17 @@ static int ll_max_cached_mb_seq_show(struct seq_file *m, void *v)
- 
- 	max_cached_mb = cache->ccc_lru_max >> shift;
- 	unused_mb = atomic_long_read(&cache->ccc_lru_left) >> shift;
--	return seq_printf(m,
--			"users: %d\n"
--			"max_cached_mb: %ld\n"
--			"used_mb: %ld\n"
--			"unused_mb: %ld\n"
--			"reclaim_count: %u\n",
--			atomic_read(&cache->ccc_users),
--			max_cached_mb,
--			max_cached_mb - unused_mb,
--			unused_mb,
--			cache->ccc_lru_shrinkers);
-+	seq_printf(m, "users: %d\n"
-+		   "max_cached_mb: %ld\n"
-+		   "used_mb: %ld\n"
-+		   "unused_mb: %ld\n"
-+		   "reclaim_count: %u\n",
-+		   atomic_read(&cache->ccc_users),
-+		   max_cached_mb,
-+		   max_cached_mb - unused_mb,
-+		   unused_mb,
-+		   cache->ccc_lru_shrinkers);
-+	return 0;
- }
- 
- static ssize_t
-@@ -538,7 +540,8 @@ static int ll_checksum_seq_show(struct seq_file *m, void *v)
- 	struct super_block *sb = m->private;
- 	struct ll_sb_info *sbi = ll_s2sbi(sb);
- 
--	return seq_printf(m, "%u\n", (sbi->ll_flags & LL_SBI_CHECKSUM) ? 1 : 0);
-+	seq_printf(m, "%u\n", (sbi->ll_flags & LL_SBI_CHECKSUM) ? 1 : 0);
-+	return 0;
- }
- 
- static ssize_t ll_checksum_seq_write(struct file *file,
-@@ -575,13 +578,14 @@ static int ll_rd_track_id(struct seq_file *m, enum stats_track_type type)
- 	struct super_block *sb = m->private;
- 
- 	if (ll_s2sbi(sb)->ll_stats_track_type == type) {
--		return seq_printf(m, "%d\n",
--				  ll_s2sbi(sb)->ll_stats_track_id);
-+		seq_printf(m, "%d\n",
-+			   ll_s2sbi(sb)->ll_stats_track_id);
- 	} else if (ll_s2sbi(sb)->ll_stats_track_type == STATS_TRACK_ALL) {
--		return seq_printf(m, "0 (all)\n");
-+		seq_puts(m, "0 (all)\n");
- 	} else {
--		return seq_printf(m, "untracked\n");
-+		seq_puts(m, "untracked\n");
- 	}
-+	return 0;
- }
- 
- static int ll_wr_track_id(const char __user *buffer, unsigned long count,
-@@ -649,7 +653,8 @@ static int ll_statahead_max_seq_show(struct seq_file *m, void *v)
- 	struct super_block *sb = m->private;
- 	struct ll_sb_info *sbi = ll_s2sbi(sb);
- 
--	return seq_printf(m, "%u\n", sbi->ll_sa_max);
-+	seq_printf(m, "%u\n", sbi->ll_sa_max);
-+	return 0;
- }
- 
- static ssize_t ll_statahead_max_seq_write(struct file *file,
-@@ -679,8 +684,9 @@ static int ll_statahead_agl_seq_show(struct seq_file *m, void *v)
- 	struct super_block *sb = m->private;
- 	struct ll_sb_info *sbi = ll_s2sbi(sb);
- 
--	return seq_printf(m, "%u\n",
--			  sbi->ll_flags & LL_SBI_AGL_ENABLED ? 1 : 0);
-+	seq_printf(m, "%u\n",
-+		   sbi->ll_flags & LL_SBI_AGL_ENABLED ? 1 : 0);
-+	return 0;
- }
- 
- static ssize_t ll_statahead_agl_seq_write(struct file *file,
-@@ -709,13 +715,13 @@ static int ll_statahead_stats_seq_show(struct seq_file *m, void *v)
- 	struct super_block *sb = m->private;
- 	struct ll_sb_info *sbi = ll_s2sbi(sb);
- 
--	return seq_printf(m,
--                        "statahead total: %u\n"
--                        "statahead wrong: %u\n"
--                        "agl total: %u\n",
--                        atomic_read(&sbi->ll_sa_total),
--                        atomic_read(&sbi->ll_sa_wrong),
--                        atomic_read(&sbi->ll_agl_total));
-+	seq_printf(m, "statahead total: %u\n"
-+		    "statahead wrong: %u\n"
-+		    "agl total: %u\n",
-+		    atomic_read(&sbi->ll_sa_total),
-+		    atomic_read(&sbi->ll_sa_wrong),
-+		    atomic_read(&sbi->ll_agl_total));
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(ll_statahead_stats);
- 
-@@ -724,8 +730,9 @@ static int ll_lazystatfs_seq_show(struct seq_file *m, void *v)
- 	struct super_block *sb = m->private;
- 	struct ll_sb_info *sbi = ll_s2sbi(sb);
- 
--	return seq_printf(m, "%u\n",
--			  (sbi->ll_flags & LL_SBI_LAZYSTATFS) ? 1 : 0);
-+	seq_printf(m, "%u\n",
-+		   (sbi->ll_flags & LL_SBI_LAZYSTATFS) ? 1 : 0);
-+	return 0;
- }
- 
- static ssize_t ll_lazystatfs_seq_write(struct file *file,
-@@ -760,7 +767,8 @@ static int ll_max_easize_seq_show(struct seq_file *m, void *v)
- 	if (rc)
- 		return rc;
- 
--	return seq_printf(m, "%u\n", ealen);
-+	seq_printf(m, "%u\n", ealen);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(ll_max_easize);
- 
-@@ -786,7 +794,8 @@ static int ll_default_easize_seq_show(struct seq_file *m, void *v)
- 	if (rc)
- 		return rc;
- 
--	return seq_printf(m, "%u\n", ealen);
-+	seq_printf(m, "%u\n", ealen);
-+	return 0;
- }
- 
- /**
-@@ -865,10 +874,11 @@ static int ll_unstable_stats_seq_show(struct seq_file *m, void *v)
- 	pages = atomic_long_read(&cache->ccc_unstable_nr);
- 	mb    = (pages * PAGE_CACHE_SIZE) >> 20;
- 
--	return seq_printf(m, "unstable_check:     %8d\n"
--			     "unstable_pages: %12ld\n"
--			     "unstable_mb:        %8d\n",
--			  cache->ccc_unstable_check, pages, mb);
-+	seq_printf(m, "unstable_check:     %8d\n"
-+		   "unstable_pages: %12ld\n"
-+		   "unstable_mb:        %8d\n",
-+		   cache->ccc_unstable_check, pages, mb);
-+	return 0;
- }
- 
- static ssize_t ll_unstable_stats_seq_write(struct file *file,
-@@ -910,7 +920,8 @@ static int ll_root_squash_seq_show(struct seq_file *m, void *v)
- 	struct ll_sb_info *sbi = ll_s2sbi(sb);
- 	struct root_squash_info *squash = &sbi->ll_squash;
- 
--	return seq_printf(m, "%u:%u\n", squash->rsi_uid, squash->rsi_gid);
-+	seq_printf(m, "%u:%u\n", squash->rsi_uid, squash->rsi_gid);
-+	return 0;
- }
- 
- static ssize_t ll_root_squash_seq_write(struct file *file,
-@@ -932,20 +943,20 @@ static int ll_nosquash_nids_seq_show(struct seq_file *m, void *v)
- 	struct super_block *sb = m->private;
- 	struct ll_sb_info *sbi = ll_s2sbi(sb);
- 	struct root_squash_info *squash = &sbi->ll_squash;
--	int len, rc;
-+	int len;
- 
- 	down_read(&squash->rsi_sem);
- 	if (!list_empty(&squash->rsi_nosquash_nids)) {
- 		len = cfs_print_nidlist(m->buf + m->count, m->size - m->count,
- 					&squash->rsi_nosquash_nids);
- 		m->count += len;
--		rc = seq_printf(m, "\n");
-+		seq_putc(m, '\n');
- 	} else {
--		rc = seq_printf(m, "NONE\n");
-+		seq_puts(m, "NONE\n");
- 	}
- 	up_read(&squash->rsi_sem);
- 
--	return rc;
-+	return 0;
- }
- 
- static ssize_t ll_nosquash_nids_seq_write(struct file *file,
-@@ -1333,9 +1344,7 @@ static int ll_rw_extents_stats_pp_seq_show(struct seq_file *seq, void *v)
- 	do_gettimeofday(&now);
- 
- 	if (!sbi->ll_rw_stats_on) {
--		seq_printf(seq, "disabled\n"
--                                "write anything in this file to activate, "
--                                "then 0 or \"[D/d]isabled\" to deactivate\n");
-+		seq_puts(seq, "disabled\n write anything in this file to activate, then 0 or \[D/d]isabled\" to deactivate\n");
-                 return 0;
-         }
-         seq_printf(seq, "snapshot_time:         %lu.%lu (secs.usecs)\n",
-@@ -1412,18 +1421,16 @@ static int ll_rw_extents_stats_seq_show(struct seq_file *seq, void *v)
- 	do_gettimeofday(&now);
- 
- 	if (!sbi->ll_rw_stats_on) {
--                seq_printf(seq, "disabled\n"
--                                "write anything in this file to activate, "
--                                "then 0 or \"[D/d]isabled\" to deactivate\n");
--                return 0;
--        }
--        seq_printf(seq, "snapshot_time:         %lu.%lu (secs.usecs)\n",
--                   now.tv_sec, now.tv_usec);
-+		seq_puts(seq, "disabled\n write anything in this file to activate, then 0 or \"[D/d]isabled\" to deactivate\n");
-+		return 0;
-+	}
-+	seq_printf(seq, "snapshot_time:         %lu.%lu (secs.usecs)\n",
-+		   now.tv_sec, now.tv_usec);
- 
--        seq_printf(seq, "%15s %19s       | %20s\n", " ", "read", "write");
--        seq_printf(seq, "%13s   %14s %4s %4s  | %14s %4s %4s\n",
--                   "extents", "calls", "%", "cum%",
--                   "calls", "%", "cum%");
-+	seq_printf(seq, "%15s %19s       | %20s\n", " ", "read", "write");
-+	seq_printf(seq, "%13s   %14s %4s %4s  | %14s %4s %4s\n",
-+		   "extents", "calls", "%", "cum%",
-+		   "calls", "%", "cum%");
- 	spin_lock(&sbi->ll_lock);
- 	ll_display_extents_info(io_extents, seq, LL_PROCESS_HIST_MAX);
- 	spin_unlock(&sbi->ll_lock);
-@@ -1591,11 +1598,9 @@ static int ll_rw_offset_stats_seq_show(struct seq_file *seq, void *v)
- 	do_gettimeofday(&now);
- 
- 	if (!sbi->ll_rw_stats_on) {
--                seq_printf(seq, "disabled\n"
--                                "write anything in this file to activate, "
--                                "then 0 or \"[D/d]isabled\" to deactivate\n");
--                return 0;
--        }
-+		seq_puts(seq, "disabled\n write anything in this file to activate, then 0 or \"[D/d]isabled\" to deactivate\n");
-+		return 0;
-+	}
- 	spin_lock(&sbi->ll_process_lock);
- 
-         seq_printf(seq, "snapshot_time:         %lu.%lu (secs.usecs)\n",
-diff --git a/lustre/lmv/lproc_lmv.c b/lustre/lmv/lproc_lmv.c
-index 1f8b5a6..251dd93 100644
---- a/lustre/lmv/lproc_lmv.c
-+++ b/lustre/lmv/lproc_lmv.c
-@@ -55,7 +55,8 @@ static int lmv_numobd_seq_show(struct seq_file *m, void *v)
- 
-         LASSERT(dev != NULL);
-         desc = &dev->u.lmv.desc;
--	return seq_printf(m, "%u\n", desc->ld_tgt_count);
-+	seq_printf(m, "%u\n", desc->ld_tgt_count);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(lmv_numobd);
- 
-@@ -89,7 +90,8 @@ static int lmv_placement_seq_show(struct seq_file *m, void *v)
- 
-         LASSERT(dev != NULL);
-         lmv = &dev->u.lmv;
--	return seq_printf(m, "%s\n", placement_policy2name(lmv->lmv_placement));
-+	seq_printf(m, "%s\n", placement_policy2name(lmv->lmv_placement));
-+	return 0;
- }
- 
- #define MAX_POLICY_STRING_SIZE 64
-@@ -137,7 +139,8 @@ static int lmv_activeobd_seq_show(struct seq_file *m, void *v)
- 
-         LASSERT(dev != NULL);
-         desc = &dev->u.lmv.desc;
--	return seq_printf(m, "%u\n", desc->ld_active_tgt_count);
-+	seq_printf(m, "%u\n", desc->ld_active_tgt_count);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(lmv_activeobd);
- 
-@@ -148,7 +151,8 @@ static int lmv_desc_uuid_seq_show(struct seq_file *m, void *v)
- 
-         LASSERT(dev != NULL);
-         lmv = &dev->u.lmv;
--	return seq_printf(m, "%s\n", lmv->desc.ld_uuid.uuid);
-+	seq_printf(m, "%s\n", lmv->desc.ld_uuid.uuid);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(lmv_desc_uuid);
- 
-@@ -178,8 +182,9 @@ static int lmv_tgt_seq_show(struct seq_file *p, void *v)
- 
- 	if (tgt == NULL)
- 		return 0;
--	return seq_printf(p, "%u: %s %sACTIVE\n", tgt->ltd_idx,
--			  tgt->ltd_uuid.uuid, tgt->ltd_active ? "" : "IN");
-+	seq_printf(p, "%u: %s %sACTIVE\n", tgt->ltd_idx,
-+		  tgt->ltd_uuid.uuid, tgt->ltd_active ? "" : "IN");
-+	return 0;
- }
- 
- static const struct seq_operations lmv_tgt_sops = {
-diff --git a/lustre/lod/lproc_lod.c b/lustre/lod/lproc_lod.c
-index b02697f..06e2314 100644
---- a/lustre/lod/lproc_lod.c
-+++ b/lustre/lod/lproc_lod.c
-@@ -65,8 +65,9 @@ static int lod_stripesize_seq_show(struct seq_file *m, void *v)
- 
- 	LASSERT(dev != NULL);
- 	lod  = lu2lod_dev(dev->obd_lu_dev);
--	return seq_printf(m, LPU64"\n",
--			lod->lod_desc.ld_default_stripe_size);
-+	seq_printf(m, LPU64"\n",
-+		   lod->lod_desc.ld_default_stripe_size);
-+	return 0;
- }
- 
- /**
-@@ -120,8 +121,9 @@ static int lod_stripeoffset_seq_show(struct seq_file *m, void *v)
- 
- 	LASSERT(dev != NULL);
- 	lod  = lu2lod_dev(dev->obd_lu_dev);
--	return seq_printf(m, LPU64"\n",
--			lod->lod_desc.ld_default_stripe_offset);
-+	seq_printf(m, LPU64"\n",
-+		   lod->lod_desc.ld_default_stripe_offset);
-+	return 0;
- }
- 
- /**
-@@ -175,7 +177,8 @@ static int lod_stripetype_seq_show(struct seq_file *m, void *v)
- 
- 	LASSERT(dev != NULL);
- 	lod  = lu2lod_dev(dev->obd_lu_dev);
--	return seq_printf(m, "%u\n", lod->lod_desc.ld_pattern);
-+	seq_printf(m, "%u\n", lod->lod_desc.ld_pattern);
-+	return 0;
- }
- 
- /**
-@@ -227,8 +230,9 @@ static int lod_stripecount_seq_show(struct seq_file *m, void *v)
- 
- 	LASSERT(dev != NULL);
- 	lod  = lu2lod_dev(dev->obd_lu_dev);
--	return seq_printf(m, "%d\n",
--			(__s16)(lod->lod_desc.ld_default_stripe_count + 1) - 1);
-+	seq_printf(m, "%d\n",
-+		   (__s16)(lod->lod_desc.ld_default_stripe_count + 1) - 1);
-+	return 0;
- }
- 
- /**
-@@ -280,7 +284,8 @@ static int lod_numobd_seq_show(struct seq_file *m, void *v)
- 
- 	LASSERT(dev != NULL);
- 	lod  = lu2lod_dev(dev->obd_lu_dev);
--	return seq_printf(m, "%u\n", lod->lod_desc.ld_tgt_count);
-+	seq_printf(m, "%u\n", lod->lod_desc.ld_tgt_count);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(lod_numobd);
- 
-@@ -300,7 +305,8 @@ static int lod_activeobd_seq_show(struct seq_file *m, void *v)
- 
- 	LASSERT(dev != NULL);
- 	lod  = lu2lod_dev(dev->obd_lu_dev);
--	return seq_printf(m, "%u\n", lod->lod_desc.ld_active_tgt_count);
-+	seq_printf(m, "%u\n", lod->lod_desc.ld_active_tgt_count);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(lod_activeobd);
- 
-@@ -320,7 +326,8 @@ static int lod_desc_uuid_seq_show(struct seq_file *m, void *v)
- 
- 	LASSERT(dev != NULL);
- 	lod  = lu2lod_dev(dev->obd_lu_dev);
--	return seq_printf(m, "%s\n", lod->lod_desc.ld_uuid.uuid);
-+	seq_printf(m, "%s\n", lod->lod_desc.ld_uuid.uuid);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(lod_desc_uuid);
- 
-@@ -344,8 +351,9 @@ static int lod_qos_priofree_seq_show(struct seq_file *m, void *v)
- 	struct lod_device *lod = lu2lod_dev(dev->obd_lu_dev);
- 
- 	LASSERT(lod != NULL);
--	return seq_printf(m, "%d%%\n",
--			(lod->lod_qos.lq_prio_free * 100 + 255) >> 8);
-+	seq_printf(m, "%d%%\n",
-+		   (lod->lod_qos.lq_prio_free * 100 + 255) >> 8);
-+	return 0;
- }
- 
- /**
-@@ -405,8 +413,9 @@ static int lod_qos_thresholdrr_seq_show(struct seq_file *m, void *v)
- 
- 	LASSERT(dev != NULL);
- 	lod = lu2lod_dev(dev->obd_lu_dev);
--	return seq_printf(m, "%d%%\n",
--			(lod->lod_qos.lq_threshold_rr * 100 + 255) >> 8);
-+	seq_printf(m, "%d%%\n",
-+		   (lod->lod_qos.lq_threshold_rr * 100 + 255) >> 8);
-+	return 0;
- }
- 
- /**
-@@ -468,7 +477,8 @@ static int lod_qos_maxage_seq_show(struct seq_file *m, void *v)
- 
- 	LASSERT(dev != NULL);
- 	lod = lu2lod_dev(dev->obd_lu_dev);
--	return seq_printf(m, "%u Sec\n", lod->lod_desc.ld_qos_maxage);
-+	seq_printf(m, "%u Sec\n", lod->lod_desc.ld_qos_maxage);
-+	return 0;
- }
- 
- /**
-@@ -612,9 +622,10 @@ static int lod_osts_seq_show(struct seq_file *p, void *v)
- 	} else if (rc)
- 		return rc;
- 
--	return seq_printf(p, "%d: %s %sACTIVE\n", idx,
--			  obd_uuid2str(&ost_desc->ltd_uuid),
--			  active ? "" : "IN");
-+	seq_printf(p, "%d: %s %sACTIVE\n", idx,
-+		   obd_uuid2str(&ost_desc->ltd_uuid),
-+		   active ? "" : "IN");
-+	return 0;
- }
- 
- static const struct seq_operations lod_osts_sops = {
-@@ -664,7 +675,8 @@ static int lod_lmv_failout_seq_show(struct seq_file *m, void *v)
- 	LASSERT(dev != NULL);
- 	lod = lu2lod_dev(dev->obd_lu_dev);
- 
--	return seq_printf(m, "%d\n", lod->lod_lmv_failout ? 1 : 0);
-+	seq_printf(m, "%d\n", lod->lod_lmv_failout ? 1 : 0);
-+	return 0;
- }
- 
- /**
-diff --git a/lustre/lov/lproc_lov.c b/lustre/lov/lproc_lov.c
-index 386ee62..4732a35 100644
---- a/lustre/lov/lproc_lov.c
-+++ b/lustre/lov/lproc_lov.c
-@@ -51,7 +51,8 @@ static int lov_stripesize_seq_show(struct seq_file *m, void *v)
- 	LASSERT(dev != NULL);
- 	desc = &dev->u.lov.desc;
- 
--	return seq_printf(m, LPU64"\n", desc->ld_default_stripe_size);
-+	seq_printf(m, LPU64"\n", desc->ld_default_stripe_size);
-+	return 0;
- }
- 
- static ssize_t lov_stripesize_seq_write(struct file *file,
-@@ -82,7 +83,8 @@ static int lov_stripeoffset_seq_show(struct seq_file *m, void *v)
- 
- 	LASSERT(dev != NULL);
- 	desc = &dev->u.lov.desc;
--	return seq_printf(m, LPU64"\n", desc->ld_default_stripe_offset);
-+	seq_printf(m, LPU64"\n", desc->ld_default_stripe_offset);
-+	return 0;
- }
- 
- static ssize_t lov_stripeoffset_seq_write(struct file *file,
-@@ -112,7 +114,8 @@ static int lov_stripetype_seq_show(struct seq_file *m, void *v)
- 
- 	LASSERT(dev != NULL);
- 	desc = &dev->u.lov.desc;
--	return seq_printf(m, "%u\n", desc->ld_pattern);
-+	seq_printf(m, "%u\n", desc->ld_pattern);
-+	return 0;
- }
- 
- static ssize_t lov_stripetype_seq_write(struct file *file,
-@@ -142,8 +145,9 @@ static int lov_stripecount_seq_show(struct seq_file *m, void *v)
- 
- 	LASSERT(dev != NULL);
- 	desc = &dev->u.lov.desc;
--	return seq_printf(m, "%d\n",
--			  (__s16)(desc->ld_default_stripe_count + 1) - 1);
-+	seq_printf(m, "%d\n",
-+		  (__s16)(desc->ld_default_stripe_count + 1) - 1);
-+	return 0;
- }
- 
- static ssize_t lov_stripecount_seq_write(struct file *file,
-@@ -173,7 +177,8 @@ static int lov_numobd_seq_show(struct seq_file *m, void *v)
- 
- 	LASSERT(dev != NULL);
- 	desc = &dev->u.lov.desc;
--	return seq_printf(m, "%u\n", desc->ld_tgt_count);
-+	seq_printf(m, "%u\n", desc->ld_tgt_count);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(lov_numobd);
- 
-@@ -184,7 +189,8 @@ static int lov_activeobd_seq_show(struct seq_file *m, void *v)
- 
- 	LASSERT(dev != NULL);
- 	desc = &dev->u.lov.desc;
--	return seq_printf(m, "%u\n", desc->ld_active_tgt_count);
-+	seq_printf(m, "%u\n", desc->ld_active_tgt_count);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(lov_activeobd);
- 
-@@ -195,7 +201,8 @@ static int lov_desc_uuid_seq_show(struct seq_file *m, void *v)
- 
- 	LASSERT(dev != NULL);
- 	lov = &dev->u.lov;
--	return seq_printf(m, "%s\n", lov->desc.ld_uuid.uuid);
-+	seq_printf(m, "%s\n", lov->desc.ld_uuid.uuid);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(lov_desc_uuid);
- 
-@@ -231,9 +238,10 @@ static void *lov_tgt_seq_next(struct seq_file *p, void *v, loff_t *pos)
- static int lov_tgt_seq_show(struct seq_file *p, void *v)
- {
-         struct lov_tgt_desc *tgt = v;
--	return seq_printf(p, "%d: %s %sACTIVE\n", tgt->ltd_index,
--			  obd_uuid2str(&tgt->ltd_uuid),
--			  tgt->ltd_active ? "" : "IN");
-+	seq_printf(p, "%d: %s %sACTIVE\n", tgt->ltd_index,
-+		   obd_uuid2str(&tgt->ltd_uuid),
-+		   tgt->ltd_active ? "" : "IN");
-+	return 0;
- }
- 
- static const struct seq_operations lov_tgt_sops = {
-diff --git a/lustre/mdc/lproc_mdc.c b/lustre/mdc/lproc_mdc.c
-index 023b779..c8b0cd6 100644
---- a/lustre/mdc/lproc_mdc.c
-+++ b/lustre/mdc/lproc_mdc.c
-@@ -46,12 +46,11 @@
- static int mdc_active_seq_show(struct seq_file *m, void *v)
- {
- 	struct obd_device *dev = m->private;
--	int rc;
- 
- 	LPROCFS_CLIMP_CHECK(dev);
--	rc = seq_printf(m, "%d\n", !dev->u.cli.cl_import->imp_deactive);
-+	seq_printf(m, "%d\n", !dev->u.cli.cl_import->imp_deactive);
- 	LPROCFS_CLIMP_EXIT(dev);
--	return rc;
-+	return 0;
- }
- 
- static ssize_t mdc_active_seq_write(struct file *file,
-@@ -82,12 +81,11 @@ static int mdc_max_rpcs_in_flight_seq_show(struct seq_file *m, void *v)
- {
- 	struct obd_device *dev = m->private;
- 	__u32 max;
--	int rc;
- 
- 	max = obd_get_max_rpcs_in_flight(&dev->u.cli);
--	rc = seq_printf(m, "%u\n", max);
-+	seq_printf(m, "%u\n", max);
- 
--	return rc;
-+	return 0;
- }
- 
- static ssize_t mdc_max_rpcs_in_flight_seq_write(struct file *file,
-@@ -115,12 +113,11 @@ static int mdc_max_mod_rpcs_in_flight_seq_show(struct seq_file *m, void *v)
- {
- 	struct obd_device *dev = m->private;
- 	__u16 max;
--	int rc;
- 
- 	max = obd_get_max_mod_rpcs_in_flight(&dev->u.cli);
--	rc = seq_printf(m, "%hu\n", max);
-+	seq_printf(m, "%hu\n", max);
- 
--	return rc;
-+	return 0;
- }
- 
- static ssize_t mdc_max_mod_rpcs_in_flight_seq_write(struct file *file,
-diff --git a/lustre/mdd/mdd_lproc.c b/lustre/mdd/mdd_lproc.c
-index c09ee9c..1329852 100644
---- a/lustre/mdd/mdd_lproc.c
-+++ b/lustre/mdd/mdd_lproc.c
-@@ -78,7 +78,8 @@ static int mdd_atime_diff_seq_show(struct seq_file *m, void *data)
- {
- 	struct mdd_device *mdd = m->private;
- 
--	return seq_printf(m, "%lu\n", mdd->mdd_atime_diff);
-+	seq_printf(m, "%lu\n", mdd->mdd_atime_diff);
-+	return 0;
- }
- LPROC_SEQ_FOPS(mdd_atime_diff);
- 
-@@ -182,7 +183,8 @@ static int mdd_sync_perm_seq_show(struct seq_file *m, void *data)
- 	struct mdd_device *mdd = m->private;
- 
- 	LASSERT(mdd != NULL);
--	return seq_printf(m, "%d\n", mdd->mdd_sync_permission);
-+	seq_printf(m, "%d\n", mdd->mdd_sync_permission);
-+	return 0;
- }
- 
- static ssize_t
-diff --git a/lustre/mdt/mdt_coordinator.c b/lustre/mdt/mdt_coordinator.c
-index 27ff1e3..9f371bc 100644
---- a/lustre/mdt/mdt_coordinator.c
-+++ b/lustre/mdt/mdt_coordinator.c
-@@ -2067,17 +2067,20 @@ int mdt_hsm_cdt_control_seq_show(struct seq_file *m, void *data)
- static int
- mdt_hsm_request_mask_show(struct seq_file *m, __u64 mask)
- {
--	int i, rc = 0;
-+	bool first = true;
-+	int i;
- 	ENTRY;
- 
- 	for (i = 0; i < 8 * sizeof(mask); i++) {
--		if (mask & (1UL << i))
--			rc += seq_printf(m, "%s%s", rc == 0 ? "" : " ",
--					hsm_copytool_action2name(i));
-+		if (mask & (1UL << i)) {
-+			seq_printf(m, "%s%s", first ? "" : " ",
-+				   hsm_copytool_action2name(i));
-+			first = false;
-+		}
- 	}
--	rc += seq_printf(m, "\n");
-+	seq_putc(m, '\n');
- 
--	RETURN(rc);
-+	RETURN(0);
- }
- 
- static int
-diff --git a/lustre/mdt/mdt_hsm_cdt_actions.c b/lustre/mdt/mdt_hsm_cdt_actions.c
-index 59cbfe2..342a919 100644
---- a/lustre/mdt/mdt_hsm_cdt_actions.c
-+++ b/lustre/mdt/mdt_hsm_cdt_actions.c
-@@ -398,7 +398,7 @@ static int hsm_actions_show_cb(const struct lu_env *env,
- 	struct llog_agent_req_rec    *larr = (struct llog_agent_req_rec *)hdr;
- 	struct seq_file		     *s = data;
- 	struct agent_action_iterator *aai;
--	int			      rc, sz;
-+	int			      sz;
- 	size_t			      count;
- 	char			      buf[12];
- 	ENTRY;
-@@ -417,35 +417,29 @@ static int hsm_actions_show_cb(const struct lu_env *env,
- 
- 	count = s->count;
- 	sz = larr->arr_hai.hai_len - sizeof(larr->arr_hai);
--	rc = seq_printf(s, "lrh=[type=%X len=%d idx=%d/%d] fid="DFID
--			" dfid="DFID
--			" compound/cookie="LPX64"/"LPX64
--			" action=%s archive#=%d flags="LPX64
--			" extent="LPX64"-"LPX64
--			" gid="LPX64" datalen=%d status=%s"
--			" data=[%s]\n",
--			hdr->lrh_type, hdr->lrh_len,
--			llh->lgh_hdr->llh_cat_idx, hdr->lrh_index,
--			PFID(&larr->arr_hai.hai_fid),
--			PFID(&larr->arr_hai.hai_dfid),
--			larr->arr_compound_id, larr->arr_hai.hai_cookie,
--			hsm_copytool_action2name(larr->arr_hai.hai_action),
--			larr->arr_archive_id,
--			larr->arr_flags,
--			larr->arr_hai.hai_extent.offset,
--			larr->arr_hai.hai_extent.length,
--			larr->arr_hai.hai_gid, sz,
--			agent_req_status2name(larr->arr_status),
--			hai_dump_data_field(&larr->arr_hai, buf, sizeof(buf)));
--	if (rc == 0) {
--		aai->aai_cat_index = llh->lgh_hdr->llh_cat_idx;
--		aai->aai_index = hdr->lrh_index;
--	} else {
--		if (s->count == s->size && count > 0) /* rewind the buffer */
--			s->count = count;
--		rc = LLOG_PROC_BREAK;
--	}
--	RETURN(rc);
-+	seq_printf(s, "lrh=[type=%X len=%d idx=%d/%d] fid="DFID
-+		   " dfid="DFID" compound/cookie="LPX64"/"LPX64
-+		   " action=%s archive#=%d flags="LPX64
-+		   " extent="LPX64"-"LPX64
-+		   " gid="LPX64" datalen=%d status=%s data=[%s]\n",
-+		   hdr->lrh_type, hdr->lrh_len,
-+		   llh->lgh_hdr->llh_cat_idx, hdr->lrh_index,
-+		   PFID(&larr->arr_hai.hai_fid),
-+		   PFID(&larr->arr_hai.hai_dfid),
-+		   larr->arr_compound_id, larr->arr_hai.hai_cookie,
-+		   hsm_copytool_action2name(larr->arr_hai.hai_action),
-+		   larr->arr_archive_id,
-+		   larr->arr_flags,
-+		   larr->arr_hai.hai_extent.offset,
-+		   larr->arr_hai.hai_extent.length,
-+		   larr->arr_hai.hai_gid, sz,
-+		   agent_req_status2name(larr->arr_status),
-+		   hai_dump_data_field(&larr->arr_hai, buf, sizeof(buf)));
-+
-+	aai->aai_cat_index = llh->lgh_hdr->llh_cat_idx;
-+	aai->aai_index = hdr->lrh_index;
-+
-+	RETURN(0);
- }
- 
- /**
-diff --git a/lustre/mdt/mdt_lproc.c b/lustre/mdt/mdt_lproc.c
-index 58728e8..612da16 100644
---- a/lustre/mdt/mdt_lproc.c
-+++ b/lustre/mdt/mdt_lproc.c
-@@ -217,7 +217,8 @@ static int mdt_identity_expire_seq_show(struct seq_file *m, void *data)
- 	struct obd_device *obd = m->private;
- 	struct mdt_device *mdt = mdt_dev(obd->obd_lu_dev);
- 
--	return seq_printf(m, "%u\n", mdt->mdt_identity_cache->uc_entry_expire);
-+	seq_printf(m, "%u\n", mdt->mdt_identity_cache->uc_entry_expire);
-+	return 0;
- }
- 
- static ssize_t
-@@ -243,7 +244,8 @@ static int mdt_identity_acquire_expire_seq_show(struct seq_file *m, void *data)
- 	struct obd_device *obd = m->private;
- 	struct mdt_device *mdt = mdt_dev(obd->obd_lu_dev);
- 
--	return seq_printf(m, "%u\n", mdt->mdt_identity_cache->uc_acquire_expire);
-+	seq_printf(m, "%u\n", mdt->mdt_identity_cache->uc_acquire_expire);
-+	return 0;
- }
- 
- static ssize_t
-@@ -479,7 +481,8 @@ static int mdt_evict_tgt_nids_seq_show(struct seq_file *m, void *data)
- 	struct obd_device *obd = m->private;
- 	struct mdt_device *mdt = mdt_dev(obd->obd_lu_dev);
- 
--	return seq_printf(m, "%u\n", mdt->mdt_opts.mo_evict_tgt_nids);
-+	seq_printf(m, "%u\n", mdt->mdt_opts.mo_evict_tgt_nids);
-+	return 0;
- }
- 
- static ssize_t
-@@ -505,7 +508,8 @@ static int mdt_sec_level_seq_show(struct seq_file *m, void *data)
- 	struct obd_device *obd = m->private;
- 	struct mdt_device *mdt = mdt_dev(obd->obd_lu_dev);
- 
--	return seq_printf(m, "%d\n", mdt->mdt_lut.lut_sec_level);
-+	seq_printf(m, "%d\n", mdt->mdt_lut.lut_sec_level);
-+	return 0;
- }
- 
- static ssize_t
-@@ -540,7 +544,8 @@ static int mdt_cos_seq_show(struct seq_file *m, void *data)
- 	struct obd_device *obd = m->private;
- 	struct mdt_device *mdt = mdt_dev(obd->obd_lu_dev);
- 
--	return seq_printf(m, "%u\n", mdt_cos_is_enabled(mdt));
-+	seq_printf(m, "%u\n", mdt_cos_is_enabled(mdt));
-+	return 0;
- }
- 
- static ssize_t
-@@ -566,8 +571,9 @@ static int mdt_root_squash_seq_show(struct seq_file *m, void *data)
- 	struct mdt_device *mdt = mdt_dev(obd->obd_lu_dev);
- 	struct root_squash_info *squash = &mdt->mdt_squash;
- 
--	return seq_printf(m, "%u:%u\n", squash->rsi_uid,
--			  squash->rsi_gid);
-+	seq_printf(m, "%u:%u\n", squash->rsi_uid,
-+		   squash->rsi_gid);
-+	return 0;
- }
- 
- static ssize_t
-@@ -589,19 +595,19 @@ static int mdt_nosquash_nids_seq_show(struct seq_file *m, void *data)
- 	struct obd_device *obd = m->private;
- 	struct mdt_device *mdt = mdt_dev(obd->obd_lu_dev);
- 	struct root_squash_info *squash = &mdt->mdt_squash;
--	int len = 0, rc;
-+	int len = 0;
- 
- 	down_read(&squash->rsi_sem);
- 	if (!list_empty(&squash->rsi_nosquash_nids)) {
- 		len = cfs_print_nidlist(m->buf + m->count, m->size - m->count,
- 					&squash->rsi_nosquash_nids);
- 		m->count += len;
--		rc = seq_printf(m, "\n");
-+		seq_putc(m, '\n');
- 	} else
--		rc = seq_printf(m, "NONE\n");
-+		seq_puts(m, "NONE\n");
- 	up_read(&squash->rsi_sem);
- 
--	return rc;
-+	return 0;
- }
- 
- static ssize_t
-@@ -623,7 +629,8 @@ static int mdt_enable_remote_dir_seq_show(struct seq_file *m, void *data)
- 	struct obd_device *obd = m->private;
- 	struct mdt_device *mdt = mdt_dev(obd->obd_lu_dev);
- 
--	return seq_printf(m, "%u\n", mdt->mdt_enable_remote_dir);
-+	seq_printf(m, "%u\n", mdt->mdt_enable_remote_dir);
-+	return 0;
- }
- 
- static ssize_t
-@@ -653,8 +660,9 @@ static int mdt_enable_remote_dir_gid_seq_show(struct seq_file *m, void *data)
- 	struct obd_device *obd = m->private;
- 	struct mdt_device *mdt = mdt_dev(obd->obd_lu_dev);
- 
--	return seq_printf(m, "%d\n",
--			  (int)mdt->mdt_enable_remote_dir_gid);
-+	seq_printf(m, "%d\n",
-+		  (int)mdt->mdt_enable_remote_dir_gid);
-+	return 0;
- }
- 
- static ssize_t
-@@ -692,7 +700,8 @@ static int mdt_slc_seq_show(struct seq_file *m, void *data)
- 	struct lu_target *tgt = obd->u.obt.obt_lut;
- 	char *slc_states[] = {"never", "blocking", "always" };
- 
--	return seq_printf(m, "%s\n", slc_states[tgt->lut_sync_lock_cancel]);
-+	seq_printf(m, "%s\n", slc_states[tgt->lut_sync_lock_cancel]);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(mdt_slc);
- 
-@@ -710,7 +719,8 @@ static int mdt_async_commit_count_seq_show(struct seq_file *m, void *data)
- 	struct obd_device *obd = m->private;
- 	struct mdt_device *mdt = mdt_dev(obd->obd_lu_dev);
- 
--	return seq_printf(m, "%d\n", atomic_read(&mdt->mdt_async_commit_count));
-+	seq_printf(m, "%d\n", atomic_read(&mdt->mdt_async_commit_count));
-+	return 0;
- }
- 
- static ssize_t
-@@ -747,7 +757,8 @@ static int mdt_sync_count_seq_show(struct seq_file *m, void *data)
- 	struct obd_device *obd = m->private;
- 	struct lu_target *tgt = obd->u.obt.obt_lut;
- 
--	return seq_printf(m, "%d\n", atomic_read(&tgt->lut_sync_count));
-+	seq_printf(m, "%d\n", atomic_read(&tgt->lut_sync_count));
-+	return 0;
- }
- 
- static ssize_t
-diff --git a/lustre/mgc/mgc_request.c b/lustre/mgc/mgc_request.c
-index 9dc2a3e..3c83dc0 100644
---- a/lustre/mgc/mgc_request.c
-+++ b/lustre/mgc/mgc_request.c
-@@ -490,8 +490,8 @@ int lprocfs_mgc_rd_ir_state(struct seq_file *m, void *data)
- 		if (cld->cld_recover == NULL)
- 			continue;
- 		seq_printf(m,  "    - { client: %s, nidtbl_version: %u }\n",
--			       cld->cld_logname,
--			       cld->cld_recover->cld_cfg.cfg_last_idx);
-+			   cld->cld_logname,
-+			   cld->cld_recover->cld_cfg.cfg_last_idx);
- 	}
- 	spin_unlock(&config_list_lock);
- 
-diff --git a/lustre/obdclass/genops.c b/lustre/obdclass/genops.c
-index 7ca03f0..c13c9333 100644
---- a/lustre/obdclass/genops.c
-+++ b/lustre/obdclass/genops.c
-@@ -2184,8 +2184,8 @@ int obd_mod_rpc_stats_seq_show(struct client_obd *cli,
- 		unsigned long mod = cli->cl_mod_rpcs_hist.oh_buckets[i];
- 		mod_cum += mod;
- 		seq_printf(seq, "%d:\t\t%10lu %3lu %3lu\n",
--				 i, mod, pct(mod, mod_tot),
--				 pct(mod_cum, mod_tot));
-+			   i, mod, pct(mod, mod_tot),
-+			   pct(mod_cum, mod_tot));
- 		if (mod_cum == mod_tot)
- 			break;
- 	}
-diff --git a/lustre/obdclass/linux/linux-module.c b/lustre/obdclass/linux/linux-module.c
-index 200d19f..c019863 100644
---- a/lustre/obdclass/linux/linux-module.c
-+++ b/lustre/obdclass/linux/linux-module.c
-@@ -215,21 +215,23 @@ struct miscdevice obd_psdev = {
- #ifdef CONFIG_PROC_FS
- static int obd_proc_version_seq_show(struct seq_file *m, void *v)
- {
--	return seq_printf(m, "lustre: %s\nkernel: %s\nbuild:  %s\n",
--			  LUSTRE_VERSION_STRING, "patchless_client",
--			  BUILD_VERSION);
-+	seq_printf(m, "lustre: %s\nkernel: %s\nbuild:  %s\n",
-+		   LUSTRE_VERSION_STRING, "patchless_client",
-+		   BUILD_VERSION);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(obd_proc_version);
- 
- static int obd_proc_pinger_seq_show(struct seq_file *m, void *v)
- {
--	return seq_printf(m, "%s\n",
-+	seq_printf(m, "%s\n",
- #ifdef ENABLE_PINGER
--			     "on"
-+		   "on"
- #else
--			     "off"
-+		   "off"
- #endif
--			 );
-+		 );
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(obd_proc_pinger);
- 
-@@ -266,7 +268,7 @@ static int obd_proc_health_seq_show(struct seq_file *m, void *data)
- 
- 		if (obd_health_check(NULL, obd)) {
- 			seq_printf(m, "device %s reported unhealthy\n",
--					obd->obd_name);
-+				   obd->obd_name);
- 			healthy = false;
- 		}
- 		class_decref(obd, __FUNCTION__, current);
-@@ -275,7 +277,7 @@ static int obd_proc_health_seq_show(struct seq_file *m, void *data)
- 	read_unlock(&obd_dev_lock);
- 
- 	if (healthy)
--		return seq_printf(m, "healthy\n");
-+		seq_puts(m, "healthy\n");
- 
- 	seq_printf(m, "NOT HEALTHY\n");
- 	return 0;
-@@ -405,10 +407,11 @@ static int obd_device_list_seq_show(struct seq_file *p, void *v)
-         else
-                 status = "--";
- 
--        return seq_printf(p, "%3d %s %s %s %s %d\n",
--                          (int)index, status, obd->obd_type->typ_name,
--                          obd->obd_name, obd->obd_uuid.uuid,
--			  atomic_read(&obd->obd_refcount));
-+	seq_printf(p, "%3d %s %s %s %s %d\n",
-+		   (int)index, status, obd->obd_type->typ_name,
-+		   obd->obd_name, obd->obd_uuid.uuid,
-+		   atomic_read(&obd->obd_refcount));
-+	return 0;
- }
- 
- static const struct seq_operations obd_device_list_sops = {
-diff --git a/lustre/obdclass/lprocfs_jobstats.c b/lustre/obdclass/lprocfs_jobstats.c
-index c0ea8f3..af6cc5f 100644
---- a/lustre/obdclass/lprocfs_jobstats.c
-+++ b/lustre/obdclass/lprocfs_jobstats.c
-@@ -636,7 +636,8 @@ int lprocfs_job_interval_seq_show(struct seq_file *m, void *data)
- 		return -ENODEV;
- 
- 	stats = &obd->u.obt.obt_jobstats;
--	return seq_printf(m, "%d\n", stats->ojs_cleanup_interval);
-+	seq_printf(m, "%d\n", stats->ojs_cleanup_interval);
-+	return 0;
- }
- EXPORT_SYMBOL(lprocfs_job_interval_seq_show);
- 
-diff --git a/lustre/obdclass/lprocfs_status.c b/lustre/obdclass/lprocfs_status.c
-index 917bd6b..0cae0eb 100644
---- a/lustre/obdclass/lprocfs_status.c
-+++ b/lustre/obdclass/lprocfs_status.c
-@@ -292,7 +292,8 @@ EXPORT_SYMBOL(lprocfs_register);
- /* Generic callbacks */
- int lprocfs_uint_seq_show(struct seq_file *m, void *data)
- {
--	return seq_printf(m, "%u\n", *(unsigned int *)data);
-+	seq_printf(m, "%u\n", *(unsigned int *)data);
-+	return 0;
- }
- EXPORT_SYMBOL(lprocfs_uint_seq_show);
- 
-@@ -333,7 +334,8 @@ EXPORT_SYMBOL(lprocfs_uint_seq_write);
- int lprocfs_u64_seq_show(struct seq_file *m, void *data)
- {
- 	LASSERT(data != NULL);
--	return seq_printf(m, LPU64"\n", *(__u64 *)data);
-+	seq_printf(m, LPU64"\n", *(__u64 *)data);
-+	return 0;
- }
- EXPORT_SYMBOL(lprocfs_u64_seq_show);
- 
-@@ -341,7 +343,8 @@ int lprocfs_atomic_seq_show(struct seq_file *m, void *data)
- {
- 	atomic_t *atom = data;
- 	LASSERT(atom != NULL);
--	return seq_printf(m, "%d\n", atomic_read(atom));
-+	seq_printf(m, "%d\n", atomic_read(atom));
-+	return 0;
- }
- EXPORT_SYMBOL(lprocfs_atomic_seq_show);
- 
-@@ -370,7 +373,8 @@ int lprocfs_uuid_seq_show(struct seq_file *m, void *data)
- 	struct obd_device *obd = data;
- 
- 	LASSERT(obd != NULL);
--	return seq_printf(m, "%s\n", obd->obd_uuid.uuid);
-+	seq_printf(m, "%s\n", obd->obd_uuid.uuid);
-+	return 0;
- }
- EXPORT_SYMBOL(lprocfs_uuid_seq_show);
- 
-@@ -379,7 +383,8 @@ int lprocfs_name_seq_show(struct seq_file *m, void *data)
- 	struct obd_device *dev = data;
- 
- 	LASSERT(dev != NULL);
--	return seq_printf(m, "%s\n", dev->obd_name);
-+	seq_printf(m, "%s\n", dev->obd_name);
-+	return 0;
- }
- EXPORT_SYMBOL(lprocfs_name_seq_show);
- 
-@@ -391,7 +396,7 @@ int lprocfs_blksize_seq_show(struct seq_file *m, void *data)
- 			    cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS),
- 			    OBD_STATFS_NODELAY);
- 	if (!rc)
--		rc = seq_printf(m, "%u\n", osfs.os_bsize);
-+		seq_printf(m, "%u\n", osfs.os_bsize);
- 	return rc;
- }
- EXPORT_SYMBOL(lprocfs_blksize_seq_show);
-@@ -410,7 +415,7 @@ int lprocfs_kbytestotal_seq_show(struct seq_file *m, void *data)
- 		while (blk_size >>= 1)
- 			result <<= 1;
- 
--		rc = seq_printf(m, LPU64"\n", result);
-+		seq_printf(m, LPU64"\n", result);
- 	}
- 	return rc;
- }
-@@ -430,7 +435,7 @@ int lprocfs_kbytesfree_seq_show(struct seq_file *m, void *data)
- 		while (blk_size >>= 1)
- 			result <<= 1;
- 
--		rc = seq_printf(m, LPU64"\n", result);
-+		seq_printf(m, LPU64"\n", result);
- 	}
- 	return rc;
- }
-@@ -450,7 +455,7 @@ int lprocfs_kbytesavail_seq_show(struct seq_file *m, void *data)
- 		while (blk_size >>= 1)
- 			result <<= 1;
- 
--		rc = seq_printf(m, LPU64"\n", result);
-+		seq_printf(m, LPU64"\n", result);
- 	}
- 	return rc;
- }
-@@ -464,7 +469,7 @@ int lprocfs_filestotal_seq_show(struct seq_file *m, void *data)
- 			    cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS),
- 			    OBD_STATFS_NODELAY);
- 	if (!rc)
--		rc = seq_printf(m, LPU64"\n", osfs.os_files);
-+		seq_printf(m, LPU64"\n", osfs.os_files);
- 	return rc;
- }
- EXPORT_SYMBOL(lprocfs_filestotal_seq_show);
-@@ -477,7 +482,7 @@ int lprocfs_filesfree_seq_show(struct seq_file *m, void *data)
- 			    cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS),
- 			    OBD_STATFS_NODELAY);
- 	if (!rc)
--		rc = seq_printf(m, LPU64"\n", osfs.os_ffree);
-+		seq_printf(m, LPU64"\n", osfs.os_ffree);
- 	return rc;
- }
- EXPORT_SYMBOL(lprocfs_filesfree_seq_show);
-@@ -493,8 +498,8 @@ int lprocfs_server_uuid_seq_show(struct seq_file *m, void *data)
- 	LPROCFS_CLIMP_CHECK(obd);
- 	imp = obd->u.cli.cl_import;
- 	imp_state_name = ptlrpc_import_state_name(imp->imp_state);
--	rc = seq_printf(m, "%s\t%s%s\n", obd2cli_tgt(obd), imp_state_name,
--			imp->imp_deactive ? "\tDEACTIVATED" : "");
-+	seq_printf(m, "%s\t%s%s\n", obd2cli_tgt(obd), imp_state_name,
-+		   imp->imp_deactive ? "\tDEACTIVATED" : "");
- 
- 	LPROCFS_CLIMP_EXIT(obd);
- 	return rc;
-@@ -512,9 +517,9 @@ int lprocfs_conn_uuid_seq_show(struct seq_file *m, void *data)
- 	LPROCFS_CLIMP_CHECK(obd);
- 	conn = obd->u.cli.cl_import->imp_connection;
- 	if (conn && obd->u.cli.cl_import)
--		rc = seq_printf(m, "%s\n", conn->c_remote_uuid.uuid);
-+		seq_printf(m, "%s\n", conn->c_remote_uuid.uuid);
- 	else
--		rc = seq_printf(m, "%s\n", "<none>");
-+		seq_printf(m, "%s\n", "<none>");
- 
- 	LPROCFS_CLIMP_EXIT(obd);
- 	return rc;
-@@ -705,16 +710,16 @@ static void obd_connect_data_seqprint(struct seq_file *m,
- 	flags = ocd->ocd_connect_flags;
- 
- 	seq_printf(m, "    connect_data:\n"
--		      "       flags: "LPX64"\n"
--		      "       instance: %u\n",
--		      ocd->ocd_connect_flags,
--		      ocd->ocd_instance);
-+		   "       flags: "LPX64"\n"
-+		   "       instance: %u\n",
-+		   ocd->ocd_connect_flags,
-+		   ocd->ocd_instance);
- 	if (flags & OBD_CONNECT_VERSION)
- 		seq_printf(m, "       target_version: %u.%u.%u.%u\n",
--			      OBD_OCD_VERSION_MAJOR(ocd->ocd_version),
--			      OBD_OCD_VERSION_MINOR(ocd->ocd_version),
--			      OBD_OCD_VERSION_PATCH(ocd->ocd_version),
--			      OBD_OCD_VERSION_FIX(ocd->ocd_version));
-+			   OBD_OCD_VERSION_MAJOR(ocd->ocd_version),
-+			   OBD_OCD_VERSION_MINOR(ocd->ocd_version),
-+			   OBD_OCD_VERSION_PATCH(ocd->ocd_version),
-+			   OBD_OCD_VERSION_FIX(ocd->ocd_version));
- 	if (flags & OBD_CONNECT_MDS)
- 		seq_printf(m, "       mdt_index: %d\n", ocd->ocd_group);
- 	if (flags & OBD_CONNECT_GRANT)
-@@ -725,28 +730,30 @@ static void obd_connect_data_seqprint(struct seq_file *m,
- 		seq_printf(m, "       max_brw_size: %d\n", ocd->ocd_brw_size);
- 	if (flags & OBD_CONNECT_IBITS)
- 		seq_printf(m, "       ibits_known: "LPX64"\n",
--				ocd->ocd_ibits_known);
-+			   ocd->ocd_ibits_known);
- 	if (flags & OBD_CONNECT_GRANT_PARAM)
- 		seq_printf(m, "       grant_block_size: %d\n"
--			      "       grant_inode_size: %d\n"
--			      "       grant_extent_overhead: %d\n",
--			      ocd->ocd_blocksize,
--			      ocd->ocd_inodespace,
--			      ocd->ocd_grant_extent);
-+			   "       grant_inode_size: %d\n"
-+			   "       grant_max_extent_size: %d\n"
-+			   "       grant_extent_tax: %d\n",
-+			   1 << ocd->ocd_grant_blkbits,
-+			   1 << ocd->ocd_grant_inobits,
-+			   ocd->ocd_grant_max_blks << ocd->ocd_grant_blkbits,
-+			   ocd->ocd_grant_tax_kb << 10);
- 	if (flags & OBD_CONNECT_TRANSNO)
- 		seq_printf(m, "       first_transno: "LPX64"\n",
--				ocd->ocd_transno);
-+			   ocd->ocd_transno);
- 	if (flags & OBD_CONNECT_CKSUM)
- 		seq_printf(m, "       cksum_types: %#x\n",
--			      ocd->ocd_cksum_types);
-+			   ocd->ocd_cksum_types);
- 	if (flags & OBD_CONNECT_MAX_EASIZE)
- 		seq_printf(m, "       max_easize: %d\n", ocd->ocd_max_easize);
- 	if (flags & OBD_CONNECT_MAXBYTES)
- 		seq_printf(m, "       max_object_bytes: "LPU64"\n",
--			      ocd->ocd_maxbytes);
-+			   ocd->ocd_maxbytes);
- 	if (flags & OBD_CONNECT_MULTIMODRPCS)
- 		seq_printf(m, "       max_mod_rpcs: %hu\n",
--			      ocd->ocd_maxmodrpcs);
-+			   ocd->ocd_maxmodrpcs);
- }
- 
- int lprocfs_import_seq_show(struct seq_file *m, void *data)
-@@ -768,23 +775,23 @@ int lprocfs_import_seq_show(struct seq_file *m, void *data)
- 	ocd = &imp->imp_connect_data;
- 
- 	seq_printf(m, "import:\n"
--		      "    name: %s\n"
--		      "    target: %s\n"
--		      "    state: %s\n"
--		      "    connect_flags: [ ",
--		      obd->obd_name,
--		      obd2cli_tgt(obd),
--		      ptlrpc_import_state_name(imp->imp_state));
-+		   "    name: %s\n"
-+		   "    target: %s\n"
-+		   "    state: %s\n"
-+		   "    connect_flags: [ ",
-+		   obd->obd_name,
-+		   obd2cli_tgt(obd),
-+		   ptlrpc_import_state_name(imp->imp_state));
- 	obd_connect_seq_flags2str(m, imp->imp_connect_data.ocd_connect_flags,
--					", ");
-+				  ", ");
- 	seq_printf(m, " ]\n");
- 	obd_connect_data_seqprint(m, ocd);
- 	seq_printf(m, "    import_flags: [ ");
- 	obd_import_flags2str(imp, m);
- 
- 	seq_printf(m, " ]\n"
--		      "    connection:\n"
--		      "       failover_nids: [ ");
-+		   "    connection:\n"
-+		   "       failover_nids: [ ");
- 	spin_lock(&imp->imp_lock);
- 	j = 0;
- 	list_for_each_entry(conn, &imp->imp_conn_list, oic_item) {
-@@ -799,14 +806,14 @@ int lprocfs_import_seq_show(struct seq_file *m, void *data)
- 	else
- 		strncpy(nidstr, "<none>", sizeof(nidstr));
- 	seq_printf(m, " ]\n"
--		      "       current_connection: %s\n"
--		      "       connection_attempts: %u\n"
--		      "       generation: %u\n"
--		      "       in-progress_invalidations: %u\n",
--		      nidstr,
--		      imp->imp_conn_cnt,
--		      imp->imp_generation,
--		      atomic_read(&imp->imp_inval_count));
-+		   "       current_connection: %s\n"
-+		   "       connection_attempts: %u\n"
-+		   "       generation: %u\n"
-+		   "       in-progress_invalidations: %u\n",
-+		   nidstr,
-+		   imp->imp_conn_cnt,
-+		   imp->imp_generation,
-+		   atomic_read(&imp->imp_inval_count));
- 	spin_unlock(&imp->imp_lock);
- 
- 	if (obd->obd_svc_stats == NULL)
-@@ -822,14 +829,14 @@ int lprocfs_import_seq_show(struct seq_file *m, void *data)
- 	} else
- 		ret.lc_sum = 0;
- 	seq_printf(m, "    rpcs:\n"
--		      "       inflight: %u\n"
--		      "       unregistering: %u\n"
--		      "       timeouts: %u\n"
--		      "       avg_waittime: "LPU64" %s\n",
--		      atomic_read(&imp->imp_inflight),
--		      atomic_read(&imp->imp_unregistering),
--		      atomic_read(&imp->imp_timeouts),
--		      ret.lc_sum, header->lc_units);
-+		   "       inflight: %u\n"
-+		   "       unregistering: %u\n"
-+		   "       timeouts: %u\n"
-+		   "       avg_waittime: "LPU64" %s\n",
-+		   atomic_read(&imp->imp_inflight),
-+		   atomic_read(&imp->imp_unregistering),
-+		   atomic_read(&imp->imp_timeouts),
-+		   ret.lc_sum, header->lc_units);
- 
- 	k = 0;
- 	for(j = 0; j < IMP_AT_MAX_PORTALS; j++) {
-@@ -839,18 +846,18 @@ int lprocfs_import_seq_show(struct seq_file *m, void *data)
- 			  at_get(&imp->imp_at.iat_service_estimate[j]));
- 	}
- 	seq_printf(m, "    service_estimates:\n"
--		      "       services: %u sec\n"
--		      "       network: %u sec\n",
--		      k,
--		      at_get(&imp->imp_at.iat_net_latency));
-+		   "       services: %u sec\n"
-+		   "       network: %u sec\n",
-+		   k,
-+		   at_get(&imp->imp_at.iat_net_latency));
- 
- 	seq_printf(m, "    transactions:\n"
--		      "       last_replay: "LPU64"\n"
--		      "       peer_committed: "LPU64"\n"
--		      "       last_checked: "LPU64"\n",
--		      imp->imp_last_replay_transno,
--		      imp->imp_peer_committed_transno,
--		      imp->imp_last_transno_checked);
-+		   "       last_replay: "LPU64"\n"
-+		   "       peer_committed: "LPU64"\n"
-+		   "       last_checked: "LPU64"\n",
-+		   imp->imp_last_replay_transno,
-+		   imp->imp_peer_committed_transno,
-+		   imp->imp_last_transno_checked);
- 
- 	/* avg data rates */
- 	for (rw = 0; rw <= 1; rw++) {
-@@ -863,9 +870,9 @@ int lprocfs_import_seq_show(struct seq_file *m, void *data)
- 			do_div(sum, ret.lc_count);
- 			ret.lc_sum = sum;
- 			seq_printf(m, "    %s_data_averages:\n"
--				      "       bytes_per_rpc: "LPU64"\n",
--				      rw ? "write" : "read",
--				      ret.lc_sum);
-+				   "       bytes_per_rpc: "LPU64"\n",
-+				   rw ? "write" : "read",
-+				   ret.lc_sum);
- 		}
- 		k = (int)ret.lc_sum;
- 		j = opcode_offset(OST_READ + rw) + EXTRA_MAX_OPCODES;
-@@ -877,11 +884,11 @@ int lprocfs_import_seq_show(struct seq_file *m, void *data)
- 			do_div(sum, ret.lc_count);
- 			ret.lc_sum = sum;
- 			seq_printf(m, "       %s_per_rpc: "LPU64"\n",
--					header->lc_units, ret.lc_sum);
-+				   header->lc_units, ret.lc_sum);
- 			j = (int)ret.lc_sum;
- 			if (j > 0)
- 				seq_printf(m, "       MB_per_sec: %u.%.02u\n",
--						k / j, (100 * k / j) % 100);
-+					   k / j, (100 * k / j) % 100);
- 		}
- 	}
- 
-@@ -1223,8 +1230,8 @@ static int lprocfs_stats_seq_show(struct seq_file *p, void *v)
- 		struct timeval now;
- 
- 		do_gettimeofday(&now);
--		rc = seq_printf(p, "%-25s %lu.%lu secs.usecs\n",
--				"snapshot_time", now.tv_sec, now.tv_usec);
-+		seq_printf(p, "%-25s %lu.%lu secs.usecs\n",
-+			   "snapshot_time", now.tv_sec, now.tv_usec);
- 		if (rc < 0)
- 			return rc;
- 	}
-@@ -1235,22 +1242,22 @@ static int lprocfs_stats_seq_show(struct seq_file *p, void *v)
- 	if (ctr.lc_count == 0)
- 		goto out;
- 
--	rc = seq_printf(p, "%-25s "LPD64" samples [%s]", hdr->lc_name,
--			ctr.lc_count, hdr->lc_units);
-+	seq_printf(p, "%-25s "LPD64" samples [%s]", hdr->lc_name,
-+		   ctr.lc_count, hdr->lc_units);
- 	if (rc < 0)
- 		goto out;
- 
- 	if ((hdr->lc_config & LPROCFS_CNTR_AVGMINMAX) && ctr.lc_count > 0) {
--		rc = seq_printf(p, " "LPD64" "LPD64" "LPD64,
--				ctr.lc_min, ctr.lc_max, ctr.lc_sum);
-+		seq_printf(p, " "LPD64" "LPD64" "LPD64,
-+			   ctr.lc_min, ctr.lc_max, ctr.lc_sum);
- 		if (rc < 0)
- 			goto out;
- 		if (hdr->lc_config & LPROCFS_CNTR_STDDEV)
--			rc = seq_printf(p, " "LPD64, ctr.lc_sumsquare);
-+			seq_printf(p, " "LPD64, ctr.lc_sumsquare);
- 		if (rc < 0)
- 			goto out;
- 	}
--	rc = seq_printf(p, "\n");
-+	seq_putc(p, '\n');
- out:
- 	return (rc < 0) ? rc : 0;
- }
-@@ -1849,12 +1856,11 @@ int lprocfs_obd_max_pages_per_rpc_seq_show(struct seq_file *m, void *data)
- {
- 	struct obd_device *dev = data;
- 	struct client_obd *cli = &dev->u.cli;
--	int rc;
- 
- 	spin_lock(&cli->cl_loi_list_lock);
--	rc = seq_printf(m, "%d\n", cli->cl_max_pages_per_rpc);
-+	seq_printf(m, "%d\n", cli->cl_max_pages_per_rpc);
- 	spin_unlock(&cli->cl_loi_list_lock);
--	return rc;
-+	return 0;
- }
- EXPORT_SYMBOL(lprocfs_obd_max_pages_per_rpc_seq_show);
- 
-diff --git a/lustre/obdclass/lprocfs_status_server.c b/lustre/obdclass/lprocfs_status_server.c
-index 148f65a..6bb6c27 100644
---- a/lustre/obdclass/lprocfs_status_server.c
-+++ b/lustre/obdclass/lprocfs_status_server.c
-@@ -109,7 +109,8 @@ int lprocfs_num_exports_seq_show(struct seq_file *m, void *data)
- 	struct obd_device *obd = data;
- 
- 	LASSERT(obd != NULL);
--	return seq_printf(m, "%u\n", obd->obd_num_exports);
-+	seq_printf(m, "%u\n", obd->obd_num_exports);
-+	return 0;
- }
- EXPORT_SYMBOL(lprocfs_num_exports_seq_show);
- 
-@@ -237,9 +238,9 @@ int lprocfs_exp_print_replydata_seq(struct cfs_hash *hs, struct cfs_hash_bd *bd,
- 	struct tg_export_data *ted = &exp->exp_target_data;
- 
- 	seq_printf(m, "reply_cnt: %d\n"
--		      "reply_max: %d\n"
--		      "reply_released_by_xid: %d\n"
--		      "reply_released_by_tag: %d\n\n",
-+		   "reply_max: %d\n"
-+		   "reply_released_by_xid: %d\n"
-+		   "reply_released_by_tag: %d\n\n",
- 		   ted->ted_reply_cnt,
- 		   ted->ted_reply_max,
- 		   ted->ted_release_xid,
-@@ -260,8 +261,8 @@ LPROC_SEQ_FOPS_RO(lprocfs_exp_replydata);
- 
- int lprocfs_nid_stats_clear_seq_show(struct seq_file *m, void *data)
- {
--	return seq_printf(m, "%s\n", "Write into this file to clear all nid "
--			  "stats and stale nid entries");
-+	seq_puts(m, "Write into this file to clear all nid stats and stale nid entries\n");
-+	return 0;
- }
- EXPORT_SYMBOL(lprocfs_nid_stats_clear_seq_show);
- 
-@@ -548,16 +549,15 @@ EXPORT_SYMBOL(lprocfs_free_obd_stats);
- int lprocfs_hash_seq_show(struct seq_file *m, void *data)
- {
- 	struct obd_device *obd = m->private;
--	int c = 0;
- 
- 	if (obd == NULL)
- 		return 0;
- 
--	c += cfs_hash_debug_header(m);
--	c += cfs_hash_debug_str(obd->obd_uuid_hash, m);
--	c += cfs_hash_debug_str(obd->obd_nid_hash, m);
--	c += cfs_hash_debug_str(obd->obd_nid_stats_hash, m);
--	return c;
-+	cfs_hash_debug_header(m);
-+	cfs_hash_debug_str(obd->obd_uuid_hash, m);
-+	cfs_hash_debug_str(obd->obd_nid_hash, m);
-+	cfs_hash_debug_str(obd->obd_nid_stats_hash, m);
-+	return 0;
- }
- EXPORT_SYMBOL(lprocfs_hash_seq_show);
- 
-@@ -631,7 +631,8 @@ int lprocfs_ir_factor_seq_show(struct seq_file *m, void *data)
- 	struct obd_device *obd = m->private;
- 
- 	LASSERT(obd != NULL);
--	return seq_printf(m, "%d\n", obd->obd_recovery_ir_factor);
-+	seq_printf(m, "%d\n", obd->obd_recovery_ir_factor);
-+	return 0;
- }
- EXPORT_SYMBOL(lprocfs_ir_factor_seq_show);
- 
-@@ -661,7 +662,8 @@ int lprocfs_recovery_time_soft_seq_show(struct seq_file *m, void *data)
- 	struct obd_device *obd = m->private;
- 
- 	LASSERT(obd != NULL);
--	return seq_printf(m, "%d\n", obd->obd_recovery_timeout);
-+	seq_printf(m, "%d\n", obd->obd_recovery_timeout);
-+	return 0;
- }
- EXPORT_SYMBOL(lprocfs_recovery_time_soft_seq_show);
- 
-@@ -689,7 +691,8 @@ int lprocfs_recovery_time_hard_seq_show(struct seq_file *m, void *data)
- 	struct obd_device *obd = m->private;
- 
- 	LASSERT(obd != NULL);
--	return seq_printf(m, "%u\n", obd->obd_recovery_time_hard);
-+	seq_printf(m, "%u\n", obd->obd_recovery_time_hard);
-+	return 0;
- }
- EXPORT_SYMBOL(lprocfs_recovery_time_hard_seq_show);
- 
-@@ -719,7 +722,8 @@ int lprocfs_target_instance_seq_show(struct seq_file *m, void *data)
- 
- 	LASSERT(obd != NULL);
- 	LASSERT(target->obt_magic == OBT_MAGIC);
--	return seq_printf(m, "%u\n", obd->u.obt.obt_instance);
-+	seq_printf(m, "%u\n", obd->u.obt.obt_instance);
-+	return 0;
- }
- EXPORT_SYMBOL(lprocfs_target_instance_seq_show);
- 
-diff --git a/lustre/obdclass/lu_object.c b/lustre/obdclass/lu_object.c
-index c478d51..7709a8d 100644
---- a/lustre/obdclass/lu_object.c
-+++ b/lustre/obdclass/lu_object.c
-@@ -2223,19 +2223,20 @@ int lu_site_stats_seq_print(const struct lu_site *s, struct seq_file *m)
- 	memset(&stats, 0, sizeof(stats));
- 	lu_site_stats_get(s->ls_obj_hash, &stats, 1);
- 
--	return seq_printf(m, "%d/%d %d/%d %d %d %d %d %d %d %d %d\n",
--			  stats.lss_busy,
--			  stats.lss_total,
--			  stats.lss_populated,
--			  CFS_HASH_NHLIST(s->ls_obj_hash),
--			  stats.lss_max_search,
--			  ls_stats_read(s->ls_stats, LU_SS_CREATED),
--			  ls_stats_read(s->ls_stats, LU_SS_CACHE_HIT),
--			  ls_stats_read(s->ls_stats, LU_SS_CACHE_MISS),
--			  ls_stats_read(s->ls_stats, LU_SS_CACHE_RACE),
--			  ls_stats_read(s->ls_stats, LU_SS_CACHE_DEATH_RACE),
--			  ls_stats_read(s->ls_stats, LU_SS_LRU_PURGED),
--			  ls_stats_read(s->ls_stats, LU_SS_LRU_LEN));
-+	seq_printf(m, "%d/%d %d/%d %d %d %d %d %d %d %d %d\n",
-+		   stats.lss_busy,
-+		   stats.lss_total,
-+		   stats.lss_populated,
-+		   CFS_HASH_NHLIST(s->ls_obj_hash),
-+		   stats.lss_max_search,
-+		   ls_stats_read(s->ls_stats, LU_SS_CREATED),
-+		   ls_stats_read(s->ls_stats, LU_SS_CACHE_HIT),
-+		   ls_stats_read(s->ls_stats, LU_SS_CACHE_MISS),
-+		   ls_stats_read(s->ls_stats, LU_SS_CACHE_RACE),
-+		   ls_stats_read(s->ls_stats, LU_SS_CACHE_DEATH_RACE),
-+		   ls_stats_read(s->ls_stats, LU_SS_LRU_PURGED),
-+		   ls_stats_read(s->ls_stats, LU_SS_LRU_LEN));
-+	return 0;
- }
- EXPORT_SYMBOL(lu_site_stats_seq_print);
- 
-diff --git a/lustre/ofd/lproc_ofd.c b/lustre/ofd/lproc_ofd.c
-index 65b57f3..29350da 100644
---- a/lustre/ofd/lproc_ofd.c
-+++ b/lustre/ofd/lproc_ofd.c
-@@ -64,7 +64,8 @@ static int ofd_seqs_seq_show(struct seq_file *m, void *data)
- 	struct obd_device *obd = m->private;
- 	struct ofd_device *ofd = ofd_dev(obd->obd_lu_dev);
- 
--	return seq_printf(m, "%u\n", ofd->ofd_seq_count);
-+	seq_printf(m, "%u\n", ofd->ofd_seq_count);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(ofd_seqs);
- 
-@@ -84,7 +85,8 @@ static int ofd_tot_dirty_seq_show(struct seq_file *m, void *data)
- 
- 	LASSERT(obd != NULL);
- 	ofd = ofd_dev(obd->obd_lu_dev);
--	return seq_printf(m, LPU64"\n", ofd->ofd_tot_dirty);
-+	seq_printf(m, LPU64"\n", ofd->ofd_tot_dirty);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(ofd_tot_dirty);
- 
-@@ -104,7 +106,8 @@ static int ofd_tot_granted_seq_show(struct seq_file *m, void *data)
- 
- 	LASSERT(obd != NULL);
- 	ofd = ofd_dev(obd->obd_lu_dev);
--	return seq_printf(m, LPU64"\n", ofd->ofd_tot_granted);
-+	seq_printf(m, LPU64"\n", ofd->ofd_tot_granted);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(ofd_tot_granted);
- 
-@@ -124,7 +127,8 @@ static int ofd_tot_pending_seq_show(struct seq_file *m, void *data)
- 
- 	LASSERT(obd != NULL);
- 	ofd = ofd_dev(obd->obd_lu_dev);
--	return seq_printf(m, LPU64"\n", ofd->ofd_tot_pending);
-+	seq_printf(m, LPU64"\n", ofd->ofd_tot_pending);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(ofd_tot_pending);
- 
-@@ -142,8 +146,9 @@ static int ofd_grant_precreate_seq_show(struct seq_file *m, void *data)
- 	struct obd_device *obd = m->private;
- 
- 	LASSERT(obd != NULL);
--	return seq_printf(m, "%ld\n",
--			  obd->obd_self_export->exp_filter_data.fed_grant);
-+	seq_printf(m, "%ld\n",
-+		   obd->obd_self_export->exp_filter_data.fed_grant);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(ofd_grant_precreate);
- 
-@@ -225,7 +230,8 @@ static int ofd_precreate_batch_seq_show(struct seq_file *m, void *data)
- 
- 	LASSERT(obd != NULL);
- 	ofd = ofd_dev(obd->obd_lu_dev);
--	return seq_printf(m, "%d\n", ofd->ofd_precreate_batch);
-+	seq_printf(m, "%d\n", ofd->ofd_precreate_batch);
-+	return 0;
- }
- 
- /**
-@@ -277,7 +283,6 @@ static int ofd_last_id_seq_show(struct seq_file *m, void *data)
- 	struct obd_device	*obd = m->private;
- 	struct ofd_device	*ofd;
- 	struct ofd_seq		*oseq = NULL;
--	int			retval = 0, rc;
- 
- 	if (obd == NULL)
- 		return 0;
-@@ -292,15 +297,10 @@ static int ofd_last_id_seq_show(struct seq_file *m, void *data)
- 		      fid_idif_seq(ostid_id(&oseq->os_oi),
- 				   ofd->ofd_lut.lut_lsd.lsd_osd_index) :
- 		      ostid_seq(&oseq->os_oi);
--		rc = seq_printf(m, DOSTID"\n", seq, ostid_id(&oseq->os_oi));
--		if (rc < 0) {
--			retval = rc;
--			break;
--		}
--		retval += rc;
-+		seq_printf(m, DOSTID"\n", seq, ostid_id(&oseq->os_oi));
- 	}
- 	read_unlock(&ofd->ofd_seq_list_lock);
--	return retval;
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(ofd_last_id);
- 
-@@ -318,7 +318,8 @@ static int ofd_fmd_max_num_seq_show(struct seq_file *m, void *data)
- 	struct obd_device *obd = m->private;
- 	struct ofd_device *ofd = ofd_dev(obd->obd_lu_dev);
- 
--	return seq_printf(m, "%u\n", ofd->ofd_fmd_max_num);
-+	seq_printf(m, "%u\n", ofd->ofd_fmd_max_num);
-+	return 0;
- }
- 
- /**
-@@ -373,8 +374,9 @@ static int ofd_fmd_max_age_seq_show(struct seq_file *m, void *data)
- 	struct obd_device *obd = m->private;
- 	struct ofd_device *ofd = ofd_dev(obd->obd_lu_dev);
- 
--	return seq_printf(m, "%ld\n", jiffies_to_msecs(ofd->ofd_fmd_max_age) /
--				      MSEC_PER_SEC);
-+	seq_printf(m, "%ld\n", jiffies_to_msecs(ofd->ofd_fmd_max_age) /
-+		   MSEC_PER_SEC);
-+	return 0;
- }
- 
- /**
-@@ -433,7 +435,8 @@ static int ofd_degraded_seq_show(struct seq_file *m, void *data)
- 	struct obd_device *obd = m->private;
- 	struct ofd_device *ofd = ofd_dev(obd->obd_lu_dev);
- 
--	return seq_printf(m, "%u\n", ofd->ofd_raid_degraded);
-+	seq_printf(m, "%u\n", ofd->ofd_raid_degraded);
-+	return 0;
- }
- 
- /**
-@@ -491,7 +494,8 @@ static int ofd_fstype_seq_show(struct seq_file *m, void *data)
- 	LASSERT(ofd->ofd_osd);
- 	d = &ofd->ofd_osd->dd_lu_dev;
- 	LASSERT(d->ld_type);
--	return seq_printf(m, "%s\n", d->ld_type->ldt_name);
-+	seq_printf(m, "%s\n", d->ld_type->ldt_name);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(ofd_fstype);
- 
-@@ -517,7 +521,8 @@ static int ofd_syncjournal_seq_show(struct seq_file *m, void *data)
- 	struct obd_device	*obd = m->private;
- 	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
- 
--	return seq_printf(m, "%u\n", ofd->ofd_syncjournal);
-+	seq_printf(m, "%u\n", ofd->ofd_syncjournal);
-+	return 0;
- }
- 
- /**
-@@ -579,8 +584,9 @@ static int ofd_sync_lock_cancel_seq_show(struct seq_file *m, void *data)
- 	struct obd_device	*obd = m->private;
- 	struct lu_target	*tgt = obd->u.obt.obt_lut;
- 
--	return seq_printf(m, "%s\n",
--			  sync_on_cancel_states[tgt->lut_sync_lock_cancel]);
-+	seq_printf(m, "%s\n",
-+		   sync_on_cancel_states[tgt->lut_sync_lock_cancel]);
-+	return 0;
- }
- 
- /**
-@@ -673,7 +679,8 @@ static int ofd_grant_compat_disable_seq_show(struct seq_file *m, void *data)
- 	struct obd_device *obd = m->private;
- 	struct ofd_device *ofd = ofd_dev(obd->obd_lu_dev);
- 
--	return seq_printf(m, "%u\n", ofd->ofd_grant_compat_disable);
-+	seq_printf(m, "%u\n", ofd->ofd_grant_compat_disable);
-+	return 0;
- }
- 
- /**
-@@ -851,11 +858,11 @@ static int ofd_lfsck_verify_pfid_seq_show(struct seq_file *m, void *data)
- 	struct obd_device *obd = m->private;
- 	struct ofd_device *ofd = ofd_dev(obd->obd_lu_dev);
- 
--	return seq_printf(m,
--			  "switch: %s\ndetected: "LPU64"\nrepaired: "LPU64"\n",
--			  ofd->ofd_lfsck_verify_pfid ? "on" : "off",
--			  ofd->ofd_inconsistency_self_detected,
--			  ofd->ofd_inconsistency_self_repaired);
-+	seq_printf(m, "switch: %s\ndetected: "LPU64"\nrepaired: "LPU64"\n",
-+		   ofd->ofd_lfsck_verify_pfid ? "on" : "off",
-+		   ofd->ofd_inconsistency_self_detected,
-+		   ofd->ofd_inconsistency_self_repaired);
-+	return 0;
- }
- 
- /**
-diff --git a/lustre/osc/lproc_osc.c b/lustre/osc/lproc_osc.c
-index 983442f..3bd44a6 100644
---- a/lustre/osc/lproc_osc.c
-+++ b/lustre/osc/lproc_osc.c
-@@ -47,12 +47,11 @@
- static int osc_active_seq_show(struct seq_file *m, void *v)
- {
- 	struct obd_device *dev = m->private;
--	int rc;
- 
- 	LPROCFS_CLIMP_CHECK(dev);
--	rc = seq_printf(m, "%d\n", !dev->u.cli.cl_import->imp_deactive);
-+	seq_printf(m, "%d\n", !dev->u.cli.cl_import->imp_deactive);
- 	LPROCFS_CLIMP_EXIT(dev);
--	return rc;
-+	return 0;
- }
- 
- static ssize_t osc_active_seq_write(struct file *file,
-@@ -82,12 +81,11 @@ static int osc_max_rpcs_in_flight_seq_show(struct seq_file *m, void *v)
- {
- 	struct obd_device *dev = m->private;
- 	struct client_obd *cli = &dev->u.cli;
--	int rc;
- 
- 	spin_lock(&cli->cl_loi_list_lock);
--	rc = seq_printf(m, "%u\n", cli->cl_max_rpcs_in_flight);
-+	seq_printf(m, "%u\n", cli->cl_max_rpcs_in_flight);
- 	spin_unlock(&cli->cl_loi_list_lock);
--	return rc;
-+	return 0;
- }
- 
- static ssize_t osc_max_rpcs_in_flight_seq_write(struct file *file,
-@@ -179,18 +177,16 @@ static int osc_cached_mb_seq_show(struct seq_file *m, void *v)
- 	struct obd_device *dev = m->private;
- 	struct client_obd *cli = &dev->u.cli;
- 	int shift = 20 - PAGE_CACHE_SHIFT;
--	int rc;
- 
--	rc = seq_printf(m,
--		      "used_mb: %ld\n"
--		      "busy_cnt: %ld\n"
--		      "reclaim: "LPU64"\n",
--		      (atomic_long_read(&cli->cl_lru_in_list) +
--		       atomic_long_read(&cli->cl_lru_busy)) >> shift,
--		      atomic_long_read(&cli->cl_lru_busy),
--		      cli->cl_lru_reclaim);
-+	seq_printf(m, "used_mb: %ld\n"
-+		   "busy_cnt: %ld\n"
-+		   "reclaim: "LPU64"\n",
-+		   (atomic_long_read(&cli->cl_lru_in_list) +
-+		    atomic_long_read(&cli->cl_lru_busy)) >> shift,
-+		    atomic_long_read(&cli->cl_lru_busy),
-+		   cli->cl_lru_reclaim);
- 
--	return rc;
-+	return 0;
- }
- 
- /* shrink the number of caching pages to a specific number */
-@@ -248,12 +244,11 @@ static int osc_cur_dirty_bytes_seq_show(struct seq_file *m, void *v)
- {
- 	struct obd_device *dev = m->private;
- 	struct client_obd *cli = &dev->u.cli;
--	int rc;
- 
- 	spin_lock(&cli->cl_loi_list_lock);
--	rc = seq_printf(m, "%lu\n", cli->cl_dirty_pages << PAGE_CACHE_SHIFT);
-+	seq_printf(m, "%lu\n", cli->cl_dirty_pages << PAGE_CACHE_SHIFT);
- 	spin_unlock(&cli->cl_loi_list_lock);
--	return rc;
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(osc_cur_dirty_bytes);
- 
-@@ -261,12 +256,11 @@ static int osc_cur_grant_bytes_seq_show(struct seq_file *m, void *v)
- {
- 	struct obd_device *dev = m->private;
- 	struct client_obd *cli = &dev->u.cli;
--	int rc;
- 
- 	spin_lock(&cli->cl_loi_list_lock);
--	rc = seq_printf(m, "%lu\n", cli->cl_avail_grant);
-+	seq_printf(m, "%lu\n", cli->cl_avail_grant);
- 	spin_unlock(&cli->cl_loi_list_lock);
--	return rc;
-+	return 0;
- }
- 
- static ssize_t osc_cur_grant_bytes_seq_write(struct file *file,
-@@ -308,23 +302,35 @@ static int osc_cur_lost_grant_bytes_seq_show(struct seq_file *m, void *v)
- {
- 	struct obd_device *dev = m->private;
- 	struct client_obd *cli = &dev->u.cli;
--	int rc;
- 
- 	spin_lock(&cli->cl_loi_list_lock);
--	rc = seq_printf(m, "%lu\n", cli->cl_lost_grant);
-+	seq_printf(m, "%lu\n", cli->cl_lost_grant);
- 	spin_unlock(&cli->cl_loi_list_lock);
--	return rc;
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(osc_cur_lost_grant_bytes);
- 
-+static int osc_cur_dirty_grant_bytes_seq_show(struct seq_file *m, void *v)
-+{
-+	struct obd_device *dev = m->private;
-+	struct client_obd *cli = &dev->u.cli;
-+
-+	spin_lock(&cli->cl_loi_list_lock);
-+	seq_printf(m, "%lu\n", cli->cl_dirty_grant);
-+	spin_unlock(&cli->cl_loi_list_lock);
-+	return 0;
-+}
-+LPROC_SEQ_FOPS_RO(osc_cur_dirty_grant_bytes);
-+
- static int osc_grant_shrink_interval_seq_show(struct seq_file *m, void *v)
- {
- 	struct obd_device *obd = m->private;
- 
- 	if (obd == NULL)
- 		return 0;
--	return seq_printf(m, "%d\n",
--			  obd->u.cli.cl_grant_shrink_interval);
-+	seq_printf(m, "%d\n",
-+		   obd->u.cli.cl_grant_shrink_interval);
-+	return 0;
- }
- 
- static ssize_t osc_grant_shrink_interval_seq_write(struct file *file,
-@@ -357,8 +363,8 @@ static int osc_checksum_seq_show(struct seq_file *m, void *v)
- 	if (obd == NULL)
- 		return 0;
- 
--	return seq_printf(m, "%d\n",
--			  obd->u.cli.cl_checksum ? 1 : 0);
-+	seq_printf(m, "%d\n", obd->u.cli.cl_checksum ? 1 : 0);
-+	return 0;
- }
- 
- static ssize_t osc_checksum_seq_write(struct file *file,
-@@ -439,7 +445,8 @@ static int osc_resend_count_seq_show(struct seq_file *m, void *v)
- {
- 	struct obd_device *obd = m->private;
- 
--	return seq_printf(m, "%u\n", atomic_read(&obd->u.cli.cl_resends));
-+	seq_printf(m, "%u\n", atomic_read(&obd->u.cli.cl_resends));
-+	return 0;
- }
- 
- static ssize_t osc_resend_count_seq_write(struct file *file,
-@@ -467,7 +474,8 @@ static int osc_contention_seconds_seq_show(struct seq_file *m, void *v)
- 	struct obd_device *obd = m->private;
- 	struct osc_device *od  = obd2osc_dev(obd);
- 
--	return seq_printf(m, "%u\n", od->od_contention_time);
-+	seq_printf(m, "%u\n", od->od_contention_time);
-+	return 0;
- }
- 
- static ssize_t osc_contention_seconds_seq_write(struct file *file,
-@@ -486,7 +494,8 @@ static int osc_lockless_truncate_seq_show(struct seq_file *m, void *v)
- 	struct obd_device *obd = m->private;
- 	struct osc_device *od  = obd2osc_dev(obd);
- 
--	return seq_printf(m, "%u\n", od->od_lockless_truncate);
-+	seq_printf(m, "%u\n", od->od_lockless_truncate);
-+	return 0;
- }
- 
- static ssize_t osc_lockless_truncate_seq_write(struct file *file,
-@@ -504,8 +513,9 @@ LPROC_SEQ_FOPS(osc_lockless_truncate);
- static int osc_destroys_in_flight_seq_show(struct seq_file *m, void *v)
- {
- 	struct obd_device *obd = m->private;
--	return seq_printf(m, "%u\n",
--			  atomic_read(&obd->u.cli.cl_destroy_in_flight));
-+	seq_printf(m, "%u\n",
-+		   atomic_read(&obd->u.cli.cl_destroy_in_flight));
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(osc_destroys_in_flight);
- 
-@@ -562,9 +572,10 @@ static int osc_unstable_stats_seq_show(struct seq_file *m, void *v)
- 	pages = atomic_long_read(&cli->cl_unstable_count);
- 	mb    = (pages * PAGE_CACHE_SIZE) >> 20;
- 
--	return seq_printf(m, "unstable_pages: %20ld\n"
--			  "unstable_mb:              %10d\n",
--			pages, mb);
-+	seq_printf(m, "unstable_pages: %20ld\n"
-+		   "unstable_mb:              %10d\n",
-+		   pages, mb);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(osc_unstable_stats);
- 
-@@ -716,11 +727,11 @@ static int osc_rpc_stats_seq_show(struct seq_file *seq, void *v)
-                 unsigned long w = cli->cl_write_rpc_hist.oh_buckets[i];
-                 read_cum += r;
-                 write_cum += w;
--                seq_printf(seq, "%d:\t\t%10lu %3lu %3lu   | %10lu %3lu %3lu\n",
--                                 i, r, pct(r, read_tot),
--                                 pct(read_cum, read_tot), w,
--                                 pct(w, write_tot),
--                                 pct(write_cum, write_tot));
-+		seq_printf(seq, "%d:\t\t%10lu %3lu %3lu   | %10lu %3lu %3lu\n",
-+			   i, r, pct(r, read_tot),
-+			   pct(read_cum, read_tot), w,
-+			   pct(w, write_tot),
-+			   pct(write_cum, write_tot));
-                 if (read_cum == read_tot && write_cum == write_tot)
-                         break;
-         }
-diff --git a/lustre/osd-ldiskfs/osd_lproc.c b/lustre/osd-ldiskfs/osd_lproc.c
-index d15b3bf..4812342 100644
---- a/lustre/osd-ldiskfs/osd_lproc.c
-+++ b/lustre/osd-ldiskfs/osd_lproc.c
-@@ -243,7 +243,8 @@ static int ldiskfs_osd_fstype_seq_show(struct seq_file *m, void *data)
- 	struct osd_device *osd = osd_dt_dev((struct dt_device *)m->private);
- 
- 	LASSERT(osd != NULL);
--	return seq_printf(m, "ldiskfs\n");
-+	seq_puts(m, "ldiskfs\n");
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(ldiskfs_osd_fstype);
- 
-@@ -255,7 +256,8 @@ static int ldiskfs_osd_mntdev_seq_show(struct seq_file *m, void *data)
- 	if (unlikely(osd->od_mnt == NULL))
- 		return -EINPROGRESS;
- 
--	return seq_printf(m, "%s\n", osd->od_mntdev);
-+	seq_printf(m, "%s\n", osd->od_mntdev);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(ldiskfs_osd_mntdev);
- 
-@@ -267,7 +269,8 @@ static int ldiskfs_osd_cache_seq_show(struct seq_file *m, void *data)
- 	if (unlikely(osd->od_mnt == NULL))
- 		return -EINPROGRESS;
- 
--	return seq_printf(m, "%u\n", osd->od_read_cache);
-+	seq_printf(m, "%u\n", osd->od_read_cache);
-+	return 0;
- }
- 
- static ssize_t
-@@ -300,7 +303,8 @@ static int ldiskfs_osd_wcache_seq_show(struct seq_file *m, void *data)
- 	if (unlikely(osd->od_mnt == NULL))
- 		return -EINPROGRESS;
- 
--	return seq_printf(m, "%u\n", osd->od_writethrough_cache);
-+	seq_printf(m, "%u\n", osd->od_writethrough_cache);
-+	return 0;
- }
- 
- static ssize_t
-@@ -351,7 +355,8 @@ LPROC_SEQ_FOPS_WO_TYPE(ldiskfs, osd_force_sync);
- 
- static int ldiskfs_osd_pdo_seq_show(struct seq_file *m, void *data)
- {
--	return seq_printf(m, "%s\n", ldiskfs_pdo ? "ON" : "OFF");
-+	seq_printf(m, "%s\n", ldiskfs_pdo ? "ON" : "OFF");
-+	return 0;
- }
- 
- static ssize_t
-@@ -378,7 +383,8 @@ static int ldiskfs_osd_auto_scrub_seq_show(struct seq_file *m, void *data)
- 	if (unlikely(dev->od_mnt == NULL))
- 		return -EINPROGRESS;
- 
--	return seq_printf(m, "%d\n", !dev->od_noscrub);
-+	seq_printf(m, "%d\n", !dev->od_noscrub);
-+	return 0;
- }
- 
- static ssize_t
-@@ -411,7 +417,8 @@ static int ldiskfs_osd_full_scrub_ratio_seq_show(struct seq_file *m, void *data)
- 	if (unlikely(dev->od_mnt == NULL))
- 		return -EINPROGRESS;
- 
--	return seq_printf(m, LPU64"\n", dev->od_full_scrub_ratio);
-+	seq_printf(m, LPU64"\n", dev->od_full_scrub_ratio);
-+	return 0;
- }
- 
- static ssize_t
-@@ -448,8 +455,9 @@ static int ldiskfs_osd_full_scrub_threshold_rate_seq_show(struct seq_file *m,
- 	if (unlikely(dev->od_mnt == NULL))
- 		return -EINPROGRESS;
- 
--	return seq_printf(m, LPU64" (bad OI mappings/minute)\n",
--			  dev->od_full_scrub_threshold_rate);
-+	seq_printf(m, LPU64" (bad OI mappings/minute)\n",
-+		   dev->od_full_scrub_threshold_rate);
-+	return 0;
- }
- 
- static ssize_t
-@@ -481,7 +489,8 @@ LPROC_SEQ_FOPS(ldiskfs_osd_full_scrub_threshold_rate);
- static int
- ldiskfs_osd_track_declares_assert_seq_show(struct seq_file *m, void *data)
- {
--	return seq_printf(m, "%d\n", ldiskfs_track_declares_assert);
-+	seq_printf(m, "%d\n", ldiskfs_track_declares_assert);
-+	return 0;
- }
- 
- static ssize_t
-@@ -522,7 +531,8 @@ static int ldiskfs_osd_readcache_seq_show(struct seq_file *m, void *data)
- 	if (unlikely(osd->od_mnt == NULL))
- 		return -EINPROGRESS;
- 
--	return seq_printf(m, LPU64"\n", osd->od_readcache_max_filesize);
-+	seq_printf(m, LPU64"\n", osd->od_readcache_max_filesize);
-+	return 0;
- }
- 
- static ssize_t
-@@ -558,7 +568,8 @@ static int ldiskfs_osd_index_in_idif_seq_show(struct seq_file *m, void *data)
- 	if (unlikely(dev->od_mnt == NULL))
- 		return -EINPROGRESS;
- 
--	return seq_printf(m, "%d\n", (int)(dev->od_index_in_idif));
-+	seq_printf(m, "%d\n", (int)(dev->od_index_in_idif));
-+	return 0;
- }
- 
- static ssize_t
-diff --git a/lustre/osd-ldiskfs/osd_scrub.c b/lustre/osd-ldiskfs/osd_scrub.c
-index 80f2794..5d12724 100644
---- a/lustre/osd-ldiskfs/osd_scrub.c
-+++ b/lustre/osd-ldiskfs/osd_scrub.c
-@@ -2989,50 +2989,38 @@ static const char *scrub_param_names[] = {
- 	NULL
- };
- 
--static int scrub_bits_dump(struct seq_file *m, int bits, const char *names[],
--			   const char *prefix)
-+static void scrub_bits_dump(struct seq_file *m, int bits, const char *names[],
-+			    const char *prefix)
- {
- 	int flag;
--	int rc;
- 	int i;
- 
--	rc = seq_printf(m, "%s:%c", prefix, bits != 0 ? ' ' : '\n');
--	if (rc < 0)
--		return rc;
-+	seq_printf(m, "%s:%c", prefix, bits != 0 ? ' ' : '\n');
- 
- 	for (i = 0, flag = 1; bits != 0; i++, flag = 1 << i) {
- 		if (flag & bits) {
- 			bits &= ~flag;
--			rc = seq_printf(m, "%s%c", names[i],
--					bits != 0 ? ',' : '\n');
--			if (rc < 0)
--				return rc;
-+			seq_printf(m, "%s%c", names[i],
-+				   bits != 0 ? ',' : '\n');
- 		}
- 	}
--	return 0;
- }
- 
--static int scrub_time_dump(struct seq_file *m, __u64 time, const char *prefix)
-+static void scrub_time_dump(struct seq_file *m, __u64 time, const char *prefix)
- {
--	int rc;
--
- 	if (time != 0)
--		rc = seq_printf(m, "%s: "LPU64" seconds\n", prefix,
--			      cfs_time_current_sec() - time);
-+		seq_printf(m, "%s: "LPU64" seconds\n", prefix,
-+			   cfs_time_current_sec() - time);
- 	else
--		rc = seq_printf(m, "%s: N/A\n", prefix);
--	return rc;
-+		seq_printf(m, "%s: N/A\n", prefix);
- }
- 
--static int scrub_pos_dump(struct seq_file *m, __u64 pos, const char *prefix)
-+static void scrub_pos_dump(struct seq_file *m, __u64 pos, const char *prefix)
- {
--	int rc;
--
- 	if (pos != 0)
--		rc = seq_printf(m, "%s: "LPU64"\n", prefix, pos);
-+		seq_printf(m, "%s: "LPU64"\n", prefix, pos);
- 	else
--		rc = seq_printf(m, "%s: N/A\n", prefix);
--	return rc;
-+		seq_printf(m, "%s: N/A\n", prefix);
- }
- 
- int osd_scrub_dump(struct seq_file *m, struct osd_device *dev)
-@@ -3041,71 +3029,48 @@ int osd_scrub_dump(struct seq_file *m, struct osd_device *dev)
- 	struct scrub_file *sf      = &scrub->os_file;
- 	__u64		   checked;
- 	__u64		   speed;
--	int		   rc;
- 
- 	down_read(&scrub->os_rwsem);
--	rc = seq_printf(m, "name: OI_scrub\n"
--			"magic: 0x%x\n"
--			"oi_files: %d\n"
--			"status: %s\n",
--			sf->sf_magic, (int)sf->sf_oi_count,
--			scrub_status_names[sf->sf_status]);
--	if (rc < 0)
--		goto out;
-+	seq_printf(m, "name: OI_scrub\n"
-+		   "magic: 0x%x\n"
-+		   "oi_files: %d\n"
-+		   "status: %s\n",
-+		   sf->sf_magic, (int)sf->sf_oi_count,
-+		   scrub_status_names[sf->sf_status]);
- 
--	rc = scrub_bits_dump(m, sf->sf_flags, scrub_flags_names,
--			     "flags");
--	if (rc < 0)
--		goto out;
-+	scrub_bits_dump(m, sf->sf_flags, scrub_flags_names, "flags");
- 
--	rc = scrub_bits_dump(m, sf->sf_param, scrub_param_names,
--			     "param");
--	if (rc < 0)
--		goto out;
-+	scrub_bits_dump(m, sf->sf_param, scrub_param_names, "param");
- 
--	rc = scrub_time_dump(m, sf->sf_time_last_complete,
--			     "time_since_last_completed");
--	if (rc < 0)
--		goto out;
-+	scrub_time_dump(m, sf->sf_time_last_complete,
-+			"time_since_last_completed");
- 
--	rc = scrub_time_dump(m, sf->sf_time_latest_start,
--			     "time_since_latest_start");
--	if (rc < 0)
--		goto out;
-+	scrub_time_dump(m, sf->sf_time_latest_start,
-+			"time_since_latest_start");
- 
--	rc = scrub_time_dump(m, sf->sf_time_last_checkpoint,
--			     "time_since_last_checkpoint");
--	if (rc < 0)
--		goto out;
-+	scrub_time_dump(m, sf->sf_time_last_checkpoint,
-+			"time_since_last_checkpoint");
- 
--	rc = scrub_pos_dump(m, sf->sf_pos_latest_start,
--			    "latest_start_position");
--	if (rc < 0)
--		goto out;
-+	scrub_pos_dump(m, sf->sf_pos_latest_start,
-+			"latest_start_position");
- 
--	rc = scrub_pos_dump(m, sf->sf_pos_last_checkpoint,
--			    "last_checkpoint_position");
--	if (rc < 0)
--		goto out;
-+	scrub_pos_dump(m, sf->sf_pos_last_checkpoint,
-+			"last_checkpoint_position");
- 
--	rc = scrub_pos_dump(m, sf->sf_pos_first_inconsistent,
--			    "first_failure_position");
--	if (rc < 0)
--		goto out;
-+	scrub_pos_dump(m, sf->sf_pos_first_inconsistent,
-+			"first_failure_position");
- 
- 	checked = sf->sf_items_checked + scrub->os_new_checked;
--	rc = seq_printf(m, "checked: "LPU64"\n"
--		      "updated: "LPU64"\n"
--		      "failed: "LPU64"\n"
--		      "prior_updated: "LPU64"\n"
--		      "noscrub: "LPU64"\n"
--		      "igif: "LPU64"\n"
--		      "success_count: %u\n",
--		      checked, sf->sf_items_updated, sf->sf_items_failed,
--		      sf->sf_items_updated_prior, sf->sf_items_noscrub,
--		      sf->sf_items_igif, sf->sf_success_count);
--	if (rc < 0)
--		goto out;
-+	seq_printf(m, "checked: "LPU64"\n"
-+		   "updated: "LPU64"\n"
-+		   "failed: "LPU64"\n"
-+		   "prior_updated: "LPU64"\n"
-+		   "noscrub: "LPU64"\n"
-+		   "igif: "LPU64"\n"
-+		   "success_count: %u\n",
-+		   checked, sf->sf_items_updated, sf->sf_items_failed,
-+		   sf->sf_items_updated_prior, sf->sf_items_noscrub,
-+		   sf->sf_items_igif, sf->sf_success_count);
- 
- 	speed = checked;
- 	if (thread_is_running(&scrub->os_thread)) {
-@@ -3120,31 +3085,30 @@ int osd_scrub_dump(struct seq_file *m, struct osd_device *dev)
- 			do_div(new_checked, duration);
- 		if (rtime != 0)
- 			do_div(speed, rtime);
--		rc = seq_printf(m, "run_time: %u seconds\n"
--			      "average_speed: "LPU64" objects/sec\n"
--			      "real-time_speed: "LPU64" objects/sec\n"
--			      "current_position: %u\n"
--			      "lf_scanned: "LPU64"\n"
--			      "lf_repaired: "LPU64"\n"
--			      "lf_failed: "LPU64"\n",
--			      rtime, speed, new_checked, scrub->os_pos_current,
--			      scrub->os_lf_scanned, scrub->os_lf_repaired,
--			      scrub->os_lf_failed);
-+		seq_printf(m, "run_time: %u seconds\n"
-+			   "average_speed: "LPU64" objects/sec\n"
-+			   "real-time_speed: "LPU64" objects/sec\n"
-+			   "current_position: %u\n"
-+			   "lf_scanned: "LPU64"\n"
-+			   "lf_repaired: "LPU64"\n"
-+			   "lf_failed: "LPU64"\n",
-+			   rtime, speed, new_checked, scrub->os_pos_current,
-+			   scrub->os_lf_scanned, scrub->os_lf_repaired,
-+			   scrub->os_lf_failed);
- 	} else {
- 		if (sf->sf_run_time != 0)
- 			do_div(speed, sf->sf_run_time);
--		rc = seq_printf(m, "run_time: %u seconds\n"
--			      "average_speed: "LPU64" objects/sec\n"
--			      "real-time_speed: N/A\n"
--			      "current_position: N/A\n"
--			      "lf_scanned: "LPU64"\n"
--			      "lf_repaired: "LPU64"\n"
--			      "lf_failed: "LPU64"\n",
--			      sf->sf_run_time, speed, scrub->os_lf_scanned,
--			      scrub->os_lf_repaired, scrub->os_lf_failed);
-+		seq_printf(m, "run_time: %u seconds\n"
-+			   "average_speed: "LPU64" objects/sec\n"
-+			   "real-time_speed: N/A\n"
-+			   "current_position: N/A\n"
-+			   "lf_scanned: "LPU64"\n"
-+			   "lf_repaired: "LPU64"\n"
-+			   "lf_failed: "LPU64"\n",
-+			   sf->sf_run_time, speed, scrub->os_lf_scanned,
-+			   scrub->os_lf_repaired, scrub->os_lf_failed);
- 	}
- 
--out:
- 	up_read(&scrub->os_rwsem);
--	return (rc < 0 ? -ENOSPC : 0);
-+	return 0;
- }
-diff --git a/lustre/osd-zfs/osd_lproc.c b/lustre/osd-zfs/osd_lproc.c
-index c43aff8..d648298 100644
---- a/lustre/osd-zfs/osd_lproc.c
-+++ b/lustre/osd-zfs/osd_lproc.c
-@@ -217,7 +217,8 @@ out:
- 
- static int zfs_osd_fstype_seq_show(struct seq_file *m, void *data)
- {
--	return seq_printf(m, "zfs\n");
-+	seq_puts(m, "zfs\n");
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(zfs_osd_fstype);
- 
-@@ -226,7 +227,8 @@ static int zfs_osd_mntdev_seq_show(struct seq_file *m, void *data)
- 	struct osd_device *osd = osd_dt_dev((struct dt_device *)m->private);
- 
- 	LASSERT(osd != NULL);
--	return seq_printf(m, "%s\n", osd->od_mntdev);
-+	seq_printf(m, "%s\n", osd->od_mntdev);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(zfs_osd_mntdev);
- 
-@@ -254,7 +256,8 @@ static int zfs_osd_iused_est_seq_show(struct seq_file *m, void *data)
- 	struct osd_device *osd = osd_dt_dev((struct dt_device *)m->private);
- 	LASSERT(osd != NULL);
- 
--	return seq_printf(m, "%d\n", osd->od_quota_iused_est);
-+	seq_printf(m, "%d\n", osd->od_quota_iused_est);
-+	return 0;
- }
- 
- static ssize_t
-diff --git a/lustre/osp/lproc_osp.c b/lustre/osp/lproc_osp.c
-index 422b388..cf0ee83 100644
---- a/lustre/osp/lproc_osp.c
-+++ b/lustre/osp/lproc_osp.c
-@@ -52,12 +52,11 @@
- static int osp_active_seq_show(struct seq_file *m, void *data)
- {
- 	struct obd_device	*dev = m->private;
--	int			 rc;
- 
- 	LPROCFS_CLIMP_CHECK(dev);
--	rc = seq_printf(m, "%d\n", !dev->u.cli.cl_import->imp_deactive);
-+	seq_printf(m, "%d\n", !dev->u.cli.cl_import->imp_deactive);
- 	LPROCFS_CLIMP_EXIT(dev);
--	return rc;
-+	return 0;
- }
- 
- /**
-@@ -113,7 +112,8 @@ static int osp_syn_in_flight_seq_show(struct seq_file *m, void *data)
- 	if (osp == NULL)
- 		return -EINVAL;
- 
--	return seq_printf(m, "%u\n", osp->opd_syn_rpc_in_flight);
-+	seq_printf(m, "%u\n", osp->opd_syn_rpc_in_flight);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(osp_syn_in_flight);
- 
-@@ -133,7 +133,8 @@ static int osp_syn_in_prog_seq_show(struct seq_file *m, void *data)
- 	if (osp == NULL)
- 		return -EINVAL;
- 
--	return seq_printf(m, "%u\n", osp->opd_syn_rpc_in_progress);
-+	seq_printf(m, "%u\n", osp->opd_syn_rpc_in_progress);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(osp_syn_in_prog);
- 
-@@ -153,7 +154,8 @@ static int osp_syn_changes_seq_show(struct seq_file *m, void *data)
- 	if (osp == NULL)
- 		return -EINVAL;
- 
--	return seq_printf(m, "%lu\n", osp->opd_syn_changes);
-+	seq_printf(m, "%lu\n", osp->opd_syn_changes);
-+	return 0;
- }
- 
- /**
-@@ -203,7 +205,8 @@ static int osp_max_rpcs_in_flight_seq_show(struct seq_file *m, void *data)
- 	if (osp == NULL)
- 		return -EINVAL;
- 
--	return seq_printf(m, "%u\n", osp->opd_syn_max_rpc_in_flight);
-+	seq_printf(m, "%u\n", osp->opd_syn_max_rpc_in_flight);
-+	return 0;
- }
- 
- /**
-@@ -256,7 +259,8 @@ static int osp_max_rpcs_in_prog_seq_show(struct seq_file *m, void *data)
- 	if (osp == NULL)
- 		return -EINVAL;
- 
--	return seq_printf(m, "%u\n", osp->opd_syn_max_rpc_in_progress);
-+	seq_printf(m, "%u\n", osp->opd_syn_max_rpc_in_progress);
-+	return 0;
- }
- 
- /**
-@@ -310,7 +314,8 @@ static int osp_create_count_seq_show(struct seq_file *m, void *data)
- 	if (osp == NULL || osp->opd_pre == NULL)
- 		return 0;
- 
--	return seq_printf(m, "%d\n", osp->opd_pre_create_count);
-+	seq_printf(m, "%d\n", osp->opd_pre_create_count);
-+	return 0;
- }
- 
- /**
-@@ -378,7 +383,8 @@ static int osp_max_create_count_seq_show(struct seq_file *m, void *data)
- 	if (osp == NULL || osp->opd_pre == NULL)
- 		return 0;
- 
--	return seq_printf(m, "%d\n", osp->opd_pre_max_create_count);
-+	seq_printf(m, "%d\n", osp->opd_pre_max_create_count);
-+	return 0;
- }
- 
- /**
-@@ -437,7 +443,8 @@ static int osp_prealloc_next_id_seq_show(struct seq_file *m, void *data)
- 	if (osp == NULL || osp->opd_pre == NULL)
- 		return 0;
- 
--	return seq_printf(m, "%u\n", fid_oid(&osp->opd_pre_used_fid) + 1);
-+	seq_printf(m, "%u\n", fid_oid(&osp->opd_pre_used_fid) + 1);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(osp_prealloc_next_id);
- 
-@@ -457,7 +464,8 @@ static int osp_prealloc_last_id_seq_show(struct seq_file *m, void *data)
- 	if (osp == NULL || osp->opd_pre == NULL)
- 		return 0;
- 
--	return seq_printf(m, "%u\n", fid_oid(&osp->opd_pre_last_created_fid));
-+	seq_printf(m, "%u\n", fid_oid(&osp->opd_pre_last_created_fid));
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(osp_prealloc_last_id);
- 
-@@ -477,7 +485,8 @@ static int osp_prealloc_next_seq_seq_show(struct seq_file *m, void *data)
- 	if (osp == NULL || osp->opd_pre == NULL)
- 		return 0;
- 
--	return seq_printf(m, LPX64"\n", fid_seq(&osp->opd_pre_used_fid));
-+	seq_printf(m, LPX64"\n", fid_seq(&osp->opd_pre_used_fid));
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(osp_prealloc_next_seq);
- 
-@@ -497,8 +506,9 @@ static int osp_prealloc_last_seq_seq_show(struct seq_file *m, void *data)
- 	if (osp == NULL || osp->opd_pre == NULL)
- 		return 0;
- 
--	return seq_printf(m, LPX64"\n",
--			fid_seq(&osp->opd_pre_last_created_fid));
-+	seq_printf(m, LPX64"\n",
-+		   fid_seq(&osp->opd_pre_last_created_fid));
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(osp_prealloc_last_seq);
- 
-@@ -518,7 +528,8 @@ static int osp_prealloc_reserved_seq_show(struct seq_file *m, void *data)
- 	if (osp == NULL || osp->opd_pre == NULL)
- 		return 0;
- 
--	return seq_printf(m, LPU64"\n", osp->opd_pre_reserved);
-+	seq_printf(m, LPU64"\n", osp->opd_pre_reserved);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(osp_prealloc_reserved);
- 
-@@ -538,7 +549,8 @@ static int osp_maxage_seq_show(struct seq_file *m, void *data)
- 	if (osp == NULL)
- 		return -EINVAL;
- 
--	return seq_printf(m, "%u\n", osp->opd_statfs_maxage);
-+	seq_printf(m, "%u\n", osp->opd_statfs_maxage);
-+	return 0;
- }
- 
- /**
-@@ -593,7 +605,8 @@ static int osp_pre_status_seq_show(struct seq_file *m, void *data)
- 	if (osp == NULL || osp->opd_pre == NULL)
- 		return -EINVAL;
- 
--	return seq_printf(m, "%d\n", osp->opd_pre_status);
-+	seq_printf(m, "%d\n", osp->opd_pre_status);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(osp_pre_status);
- 
-@@ -620,8 +633,9 @@ static int osp_destroys_in_flight_seq_show(struct seq_file *m, void *data)
- 	if (osp == NULL)
- 		return -EINVAL;
- 
--	return seq_printf(m, "%lu\n",
--			  osp->opd_syn_rpc_in_progress + osp->opd_syn_changes);
-+	seq_printf(m, "%lu\n",
-+		   osp->opd_syn_rpc_in_progress + osp->opd_syn_changes);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(osp_destroys_in_flight);
- 
-@@ -641,7 +655,8 @@ static int osp_old_sync_processed_seq_show(struct seq_file *m, void *data)
- 	if (osp == NULL)
- 		return -EINVAL;
- 
--	return seq_printf(m, "%d\n", osp->opd_syn_prev_done);
-+	seq_printf(m, "%d\n", osp->opd_syn_prev_done);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(osp_old_sync_processed);
- 
-@@ -660,7 +675,8 @@ osp_lfsck_max_rpcs_in_flight_seq_show(struct seq_file *m, void *data)
- 	__u32 max;
- 
- 	max = obd_get_max_rpcs_in_flight(&dev->u.cli);
--	return seq_printf(m, "%u\n", max);
-+	seq_printf(m, "%u\n", max);
-+	return 0;
- }
- 
- /**
-diff --git a/lustre/ptlrpc/gss/lproc_gss.c b/lustre/ptlrpc/gss/lproc_gss.c
-index 13427fc..4648695 100644
---- a/lustre/ptlrpc/gss/lproc_gss.c
-+++ b/lustre/ptlrpc/gss/lproc_gss.c
-@@ -96,25 +96,26 @@ void gss_stat_oos_record_svc(int phase, int replay)
- 
- static int gss_proc_oos_seq_show(struct seq_file *m, void *v)
- {
--	return seq_printf(m, "seqwin:		   %u\n"
--			  "backwin:		%u\n"
--			  "client fall behind seqwin\n"
--			  "  occurrence:	%d\n"
--			  "  max seq behind:	%d\n"
--			  "server replay detected:\n"
--			  "  phase 0:		%d\n"
--			  "  phase 1:		%d\n"
--			  "  phase 2:		%d\n"
--			  "server verify ok:\n"
--			  "  phase 2:		%d\n",
--			  GSS_SEQ_WIN_MAIN,
--			  GSS_SEQ_WIN_BACK,
--			  atomic_read(&gss_stat_oos.oos_cli_count),
--			  gss_stat_oos.oos_cli_behind,
--			  atomic_read(&gss_stat_oos.oos_svc_replay[0]),
--			  atomic_read(&gss_stat_oos.oos_svc_replay[1]),
--			  atomic_read(&gss_stat_oos.oos_svc_replay[2]),
--			  atomic_read(&gss_stat_oos.oos_svc_pass[2]));
-+	seq_printf(m, "seqwin:		   %u\n"
-+		   "backwin:		%u\n"
-+		   "client fall behind seqwin\n"
-+		   "  occurrence:	%d\n"
-+		   "  max seq behind:	%d\n"
-+		   "server replay detected:\n"
-+		   "  phase 0:		%d\n"
-+		   "  phase 1:		%d\n"
-+		   "  phase 2:		%d\n"
-+		   "server verify ok:\n"
-+		   "  phase 2:		%d\n",
-+		   GSS_SEQ_WIN_MAIN,
-+		   GSS_SEQ_WIN_BACK,
-+		   atomic_read(&gss_stat_oos.oos_cli_count),
-+		   gss_stat_oos.oos_cli_behind,
-+		   atomic_read(&gss_stat_oos.oos_svc_replay[0]),
-+		   atomic_read(&gss_stat_oos.oos_svc_replay[1]),
-+		   atomic_read(&gss_stat_oos.oos_svc_replay[2]),
-+		   atomic_read(&gss_stat_oos.oos_svc_pass[2]));
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(gss_proc_oos);
- 
-@@ -154,7 +155,8 @@ static int gss_lk_debug_level = 1;
- 
- static int gss_lk_proc_dl_seq_show(struct seq_file *m, void *v)
- {
--	return seq_printf(m, "%u\n", gss_lk_debug_level);
-+	seq_printf(m, "%u\n", gss_lk_debug_level);
-+	return 0;
- }
- 
- static ssize_t
-diff --git a/lustre/ptlrpc/lproc_ptlrpc.c b/lustre/ptlrpc/lproc_ptlrpc.c
-index 4c55fe1..3cb05f5 100644
---- a/lustre/ptlrpc/lproc_ptlrpc.c
-+++ b/lustre/ptlrpc/lproc_ptlrpc.c
-@@ -268,7 +268,8 @@ ptlrpc_lprocfs_req_history_len_seq_show(struct seq_file *m, void *v)
- 	ptlrpc_service_for_each_part(svcpt, i, svc)
- 		total += svcpt->scp_hist_nrqbds;
- 
--	return seq_printf(m, "%d\n", total);
-+	seq_printf(m, "%d\n", total);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(ptlrpc_lprocfs_req_history_len);
- 
-@@ -283,7 +284,8 @@ ptlrpc_lprocfs_req_history_max_seq_show(struct seq_file *m, void *n)
- 	ptlrpc_service_for_each_part(svcpt, i, svc)
- 		total += svc->srv_hist_nrqbds_cpt_max;
- 
--	return seq_printf(m, "%d\n", total);
-+	seq_printf(m, "%d\n", total);
-+	return 0;
- }
- 
- static ssize_t
-@@ -330,8 +332,9 @@ ptlrpc_lprocfs_threads_min_seq_show(struct seq_file *m, void *n)
- {
- 	struct ptlrpc_service *svc = m->private;
- 
--	return seq_printf(m, "%d\n",
--			  svc->srv_nthrs_cpt_init * svc->srv_ncpts);
-+	seq_printf(m, "%d\n",
-+		   svc->srv_nthrs_cpt_init * svc->srv_ncpts);
-+	return 0;
- }
- 
- static ssize_t
-@@ -375,7 +378,8 @@ ptlrpc_lprocfs_threads_started_seq_show(struct seq_file *m, void *n)
- 	ptlrpc_service_for_each_part(svcpt, i, svc)
- 		total += svcpt->scp_nthrs_running;
- 
--	return seq_printf(m, "%d\n", total);
-+	seq_printf(m, "%d\n", total);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(ptlrpc_lprocfs_threads_started);
- 
-@@ -384,8 +388,9 @@ ptlrpc_lprocfs_threads_max_seq_show(struct seq_file *m, void *n)
- {
- 	struct ptlrpc_service *svc = m->private;
- 
--	return seq_printf(m, "%d\n",
--			  svc->srv_nthrs_cpt_limit * svc->srv_ncpts);
-+	seq_printf(m, "%d\n",
-+		   svc->srv_nthrs_cpt_limit * svc->srv_ncpts);
-+	return 0;
- }
- 
- static ssize_t
-@@ -599,21 +604,21 @@ again:
- 	for (pol_idx = 0; pol_idx < num_pols; pol_idx++) {
- 		if (strlen(infos[pol_idx].pi_arg) > 0)
- 			seq_printf(m, "  - name: %s %s\n",
--				      infos[pol_idx].pi_name,
--				      infos[pol_idx].pi_arg);
-+				   infos[pol_idx].pi_name,
-+				   infos[pol_idx].pi_arg);
- 		else
- 			seq_printf(m, "  - name: %s\n",
--				      infos[pol_idx].pi_name);
-+				   infos[pol_idx].pi_name);
- 
- 
- 		seq_printf(m, "    state: %s\n"
--			      "    fallback: %s\n"
--			      "    queued: %-20d\n"
--			      "    active: %-20d\n\n",
--			      nrs_state2str(infos[pol_idx].pi_state),
--			      infos[pol_idx].pi_fallback ? "yes" : "no",
--			      (int)infos[pol_idx].pi_req_queued,
--			      (int)infos[pol_idx].pi_req_started);
-+			   "    fallback: %s\n"
-+			   "    queued: %-20d\n"
-+			   "    active: %-20d\n\n",
-+			   nrs_state2str(infos[pol_idx].pi_state),
-+			   infos[pol_idx].pi_fallback ? "yes" : "no",
-+			   (int)infos[pol_idx].pi_req_queued,
-+			   (int)infos[pol_idx].pi_req_started);
- 	}
- 
- 	if (!hp && nrs_svc_has_hp(svc)) {
-@@ -1047,7 +1052,8 @@ LPROC_SEQ_FOPS_RO(ptlrpc_lprocfs_timeouts);
- static int ptlrpc_lprocfs_hp_ratio_seq_show(struct seq_file *m, void *v)
- {
- 	struct ptlrpc_service *svc = m->private;
--	return seq_printf(m, "%d\n", svc->srv_hpreq_ratio);
-+	seq_printf(m, "%d\n", svc->srv_hpreq_ratio);
-+	return 0;
- }
- 
- static ssize_t
-@@ -1296,12 +1302,11 @@ int lprocfs_pinger_recov_seq_show(struct seq_file *m, void *n)
- {
- 	struct obd_device *obd = m->private;
- 	struct obd_import *imp = obd->u.cli.cl_import;
--	int rc;
- 
- 	LPROCFS_CLIMP_CHECK(obd);
--	rc = seq_printf(m, "%d\n", !imp->imp_no_pinger_recover);
-+	seq_printf(m, "%d\n", !imp->imp_no_pinger_recover);
- 	LPROCFS_CLIMP_EXIT(obd);
--	return rc;
-+	return 0;
- }
- EXPORT_SYMBOL(lprocfs_pinger_recov_seq_show);
- 
-diff --git a/lustre/ptlrpc/nodemap_lproc.c b/lustre/ptlrpc/nodemap_lproc.c
-index e5c4b0c..a77c478 100644
---- a/lustre/ptlrpc/nodemap_lproc.c
-+++ b/lustre/ptlrpc/nodemap_lproc.c
-@@ -239,7 +239,8 @@ static int nodemap_exports_open(struct inode *inode, struct file *file)
-  */
- static int nodemap_active_seq_show(struct seq_file *m, void *data)
- {
--	return seq_printf(m, "%u\n", (unsigned int)nodemap_active);
-+	seq_printf(m, "%u\n", (unsigned int)nodemap_active);
-+	return 0;
- }
- 
- /**
-@@ -290,21 +291,20 @@ LPROC_SEQ_FOPS(nodemap_active);
- static int nodemap_id_seq_show(struct seq_file *m, void *data)
- {
- 	struct lu_nodemap *nodemap;
--	int rc;
- 
- 	mutex_lock(&active_config_lock);
- 	nodemap = nodemap_lookup(m->private);
- 	mutex_unlock(&active_config_lock);
- 	if (IS_ERR(nodemap)) {
--		rc = PTR_ERR(nodemap);
-+		int rc = PTR_ERR(nodemap);
- 		CERROR("cannot find nodemap '%s': rc = %d\n",
- 			(char *)m->private, rc);
- 		return rc;
- 	}
- 
--	rc = seq_printf(m, "%u\n", nodemap->nm_id);
-+	seq_printf(m, "%u\n", nodemap->nm_id);
- 	nodemap_putref(nodemap);
--	return rc;
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(nodemap_id);
- 
-@@ -318,21 +318,20 @@ LPROC_SEQ_FOPS_RO(nodemap_id);
- static int nodemap_squash_uid_seq_show(struct seq_file *m, void *data)
- {
- 	struct lu_nodemap *nodemap;
--	int rc;
- 
- 	mutex_lock(&active_config_lock);
- 	nodemap = nodemap_lookup(m->private);
- 	mutex_unlock(&active_config_lock);
- 	if (IS_ERR(nodemap)) {
--		rc = PTR_ERR(nodemap);
-+		int rc = PTR_ERR(nodemap);
- 		CERROR("cannot find nodemap '%s': rc = %d\n",
- 			(char *)m->private, rc);
- 		return rc;
- 	}
- 
--	rc = seq_printf(m, "%u\n", nodemap->nm_squash_uid);
-+	seq_printf(m, "%u\n", nodemap->nm_squash_uid);
- 	nodemap_putref(nodemap);
--	return rc;
-+	return 0;
- }
- 
- /**
-@@ -345,21 +344,20 @@ static int nodemap_squash_uid_seq_show(struct seq_file *m, void *data)
- static int nodemap_squash_gid_seq_show(struct seq_file *m, void *data)
- {
- 	struct lu_nodemap *nodemap;
--	int rc;
- 
- 	mutex_lock(&active_config_lock);
- 	nodemap = nodemap_lookup(m->private);
- 	mutex_unlock(&active_config_lock);
- 	if (IS_ERR(nodemap)) {
--		rc = PTR_ERR(nodemap);
-+		int rc = PTR_ERR(nodemap);
- 		CERROR("cannot find nodemap '%s': rc = %d\n",
- 			(char *)m->private, rc);
- 		return rc;
- 	}
- 
--	rc = seq_printf(m, "%u\n", nodemap->nm_squash_gid);
-+	seq_printf(m, "%u\n", nodemap->nm_squash_gid);
- 	nodemap_putref(nodemap);
--	return rc;
-+	return 0;
- }
- 
- /**
-@@ -372,21 +370,21 @@ static int nodemap_squash_gid_seq_show(struct seq_file *m, void *data)
- static int nodemap_trusted_seq_show(struct seq_file *m, void *data)
- {
- 	struct lu_nodemap *nodemap;
--	int rc;
- 
- 	mutex_lock(&active_config_lock);
- 	nodemap = nodemap_lookup(m->private);
- 	mutex_unlock(&active_config_lock);
- 	if (IS_ERR(nodemap)) {
--		rc = PTR_ERR(nodemap);
-+		int rc = PTR_ERR(nodemap);
-+
- 		CERROR("cannot find nodemap '%s': rc = %d\n",
- 			(char *)m->private, rc);
- 		return rc;
- 	}
- 
--	rc = seq_printf(m, "%d\n", (int)nodemap->nmf_trust_client_ids);
-+	seq_printf(m, "%d\n", (int)nodemap->nmf_trust_client_ids);
- 	nodemap_putref(nodemap);
--	return rc;
-+	return 0;
- }
- 
- /**
-@@ -411,9 +409,9 @@ static int nodemap_admin_seq_show(struct seq_file *m, void *data)
- 		return rc;
- 	}
- 
--	rc = seq_printf(m, "%d\n", (int)nodemap->nmf_allow_root_access);
-+	seq_printf(m, "%d\n", (int)nodemap->nmf_allow_root_access);
- 	nodemap_putref(nodemap);
--	return rc;
-+	return 0;
- }
- 
- #ifdef NODEMAP_PROC_DEBUG
-diff --git a/lustre/ptlrpc/nrs_tbf.c b/lustre/ptlrpc/nrs_tbf.c
-index 7f92e10..6c94ff5 100644
---- a/lustre/ptlrpc/nrs_tbf.c
-+++ b/lustre/ptlrpc/nrs_tbf.c
-@@ -832,9 +832,10 @@ static int nrs_tbf_jobid_rule_init(struct ptlrpc_nrs_policy *policy,
- static int
- nrs_tbf_jobid_rule_dump(struct nrs_tbf_rule *rule, struct seq_file *m)
- {
--	return seq_printf(m, "%s {%s} %llu, ref %d\n", rule->tr_name,
-+	seq_printf(m, "%s {%s} %llu, ref %d\n", rule->tr_name,
- 			  rule->tr_jobids_str, rule->tr_rpc_rate,
- 			  atomic_read(&rule->tr_ref) - 1);
-+	return 0;
- }
- 
- static int
-@@ -1037,9 +1038,10 @@ static int nrs_tbf_nid_rule_init(struct ptlrpc_nrs_policy *policy,
- static int
- nrs_tbf_nid_rule_dump(struct nrs_tbf_rule *rule, struct seq_file *m)
- {
--	return seq_printf(m, "%s {%s} %llu, ref %d\n", rule->tr_name,
-+	seq_printf(m, "%s {%s} %llu, ref %d\n", rule->tr_name,
- 			  rule->tr_nids_str, rule->tr_rpc_rate,
- 			  atomic_read(&rule->tr_ref) - 1);
-+	return 0;
- }
- 
- static int
-diff --git a/lustre/ptlrpc/sec_bulk.c b/lustre/ptlrpc/sec_bulk.c
-index c091dd6..87b570e 100644
---- a/lustre/ptlrpc/sec_bulk.c
-+++ b/lustre/ptlrpc/sec_bulk.c
-@@ -138,55 +138,49 @@ static struct shrinker *pools_shrinker;
-  */
- int sptlrpc_proc_enc_pool_seq_show(struct seq_file *m, void *v)
- {
--        int     rc;
--
- 	spin_lock(&page_pools.epp_lock);
- 
--	rc = seq_printf(m,
--                      "physical pages:          %lu\n"
--                      "pages per pool:          %lu\n"
--                      "max pages:               %lu\n"
--                      "max pools:               %u\n"
--                      "total pages:             %lu\n"
--                      "total free:              %lu\n"
--                      "idle index:              %lu/100\n"
--                      "last shrink:             %lds\n"
--                      "last access:             %lds\n"
--                      "max pages reached:       %lu\n"
--                      "grows:                   %u\n"
--                      "grows failure:           %u\n"
--                      "shrinks:                 %u\n"
--                      "cache access:            %lu\n"
--                      "cache missing:           %lu\n"
--                      "low free mark:           %lu\n"
--                      "max waitqueue depth:     %u\n"
--		      "max wait time:           "CFS_TIME_T"/%lu\n"
--		      "out of mem:             %lu\n"
--                      ,
--		      totalram_pages,
--                      PAGES_PER_POOL,
--                      page_pools.epp_max_pages,
--                      page_pools.epp_max_pools,
--                      page_pools.epp_total_pages,
--                      page_pools.epp_free_pages,
--                      page_pools.epp_idle_idx,
--                      cfs_time_current_sec() - page_pools.epp_last_shrink,
--                      cfs_time_current_sec() - page_pools.epp_last_access,
--                      page_pools.epp_st_max_pages,
--                      page_pools.epp_st_grows,
--                      page_pools.epp_st_grow_fails,
--                      page_pools.epp_st_shrinks,
--                      page_pools.epp_st_access,
--		      page_pools.epp_st_missings,
--		      page_pools.epp_st_lowfree,
--		      page_pools.epp_st_max_wqlen,
--		      page_pools.epp_st_max_wait,
--		      msecs_to_jiffies(MSEC_PER_SEC),
--		      page_pools.epp_st_outofmem
--		     );
-+	seq_printf(m, "physical pages:          %lu\n"
-+		   "pages per pool:          %lu\n"
-+		   "max pages:               %lu\n"
-+		   "max pools:               %u\n"
-+		   "total pages:             %lu\n"
-+		   "total free:              %lu\n"
-+		   "idle index:              %lu/100\n"
-+		   "last shrink:             %lds\n"
-+		   "last access:             %lds\n"
-+		   "max pages reached:       %lu\n"
-+		   "grows:                   %u\n"
-+		   "grows failure:           %u\n"
-+		   "shrinks:                 %u\n"
-+		   "cache access:            %lu\n"
-+		   "cache missing:           %lu\n"
-+		   "low free mark:           %lu\n"
-+		   "max waitqueue depth:     %u\n"
-+		   "max wait time:           "CFS_TIME_T"/%lu\n"
-+		   "out of mem:             %lu\n",
-+		   totalram_pages, PAGES_PER_POOL,
-+		   page_pools.epp_max_pages,
-+		   page_pools.epp_max_pools,
-+		   page_pools.epp_total_pages,
-+		   page_pools.epp_free_pages,
-+		   page_pools.epp_idle_idx,
-+		   cfs_time_current_sec() - page_pools.epp_last_shrink,
-+		   cfs_time_current_sec() - page_pools.epp_last_access,
-+		   page_pools.epp_st_max_pages,
-+		   page_pools.epp_st_grows,
-+		   page_pools.epp_st_grow_fails,
-+		   page_pools.epp_st_shrinks,
-+		   page_pools.epp_st_access,
-+		   page_pools.epp_st_missings,
-+		   page_pools.epp_st_lowfree,
-+		   page_pools.epp_st_max_wqlen,
-+		   page_pools.epp_st_max_wait,
-+		   msecs_to_jiffies(MSEC_PER_SEC),
-+		   page_pools.epp_st_outofmem);
- 
- 	spin_unlock(&page_pools.epp_lock);
--	return rc;
-+	return 0;
- }
- 
- static void enc_pools_release_free_pages(long npages)
-diff --git a/lustre/quota/qsd_lib.c b/lustre/quota/qsd_lib.c
-index 9f89cac..efd7840 100644
---- a/lustre/quota/qsd_lib.c
-+++ b/lustre/quota/qsd_lib.c
-@@ -77,7 +77,6 @@ static int qsd_state_seq_show(struct seq_file *m, void *data)
- {
- 	struct qsd_instance	*qsd = m->private;
- 	char			 enabled[5];
--	int			 rc;
- 
- 	LASSERT(qsd != NULL);
- 
-@@ -89,14 +88,14 @@ static int qsd_state_seq_show(struct seq_file *m, void *data)
- 	if (strlen(enabled) == 0)
- 		strcat(enabled, "none");
- 
--	rc = seq_printf(m, "target name:    %s\n"
--			"pool ID:        %d\n"
--			"type:           %s\n"
--			"quota enabled:  %s\n"
--			"conn to master: %s\n",
--			qsd->qsd_svname, qsd->qsd_pool_id,
--			qsd->qsd_is_md ? "md" : "dt", enabled,
--			qsd->qsd_exp_valid ? "setup" : "not setup yet");
-+	seq_printf(m, "target name:    %s\n"
-+		   "pool ID:        %d\n"
-+		   "type:           %s\n"
-+		   "quota enabled:  %s\n"
-+		   "conn to master: %s\n",
-+		   qsd->qsd_svname, qsd->qsd_pool_id,
-+		   qsd->qsd_is_md ? "md" : "dt", enabled,
-+		   qsd->qsd_exp_valid ? "setup" : "not setup yet");
- 
- 	if (qsd->qsd_prepared) {
- 		memset(enabled, 0, sizeof(enabled));
-@@ -106,18 +105,18 @@ static int qsd_state_seq_show(struct seq_file *m, void *data)
- 			strcat(enabled, "g");
- 		if (strlen(enabled) == 0)
- 			strcat(enabled, "none");
--		rc += seq_printf(m, "space acct:     %s\n"
--				"user uptodate:  glb[%d],slv[%d],reint[%d]\n"
--				"group uptodate: glb[%d],slv[%d],reint[%d]\n",
--				enabled,
--				qsd->qsd_type_array[USRQUOTA]->qqi_glb_uptodate,
--				qsd->qsd_type_array[USRQUOTA]->qqi_slv_uptodate,
--				qsd->qsd_type_array[USRQUOTA]->qqi_reint,
--				qsd->qsd_type_array[GRPQUOTA]->qqi_glb_uptodate,
--				qsd->qsd_type_array[GRPQUOTA]->qqi_slv_uptodate,
--				qsd->qsd_type_array[GRPQUOTA]->qqi_reint);
-+		seq_printf(m, "space acct:     %s\n"
-+			   "user uptodate:  glb[%d],slv[%d],reint[%d]\n"
-+			   "group uptodate: glb[%d],slv[%d],reint[%d]\n",
-+			   enabled,
-+			   qsd->qsd_type_array[USRQUOTA]->qqi_glb_uptodate,
-+			   qsd->qsd_type_array[USRQUOTA]->qqi_slv_uptodate,
-+			   qsd->qsd_type_array[USRQUOTA]->qqi_reint,
-+			   qsd->qsd_type_array[GRPQUOTA]->qqi_glb_uptodate,
-+			   qsd->qsd_type_array[GRPQUOTA]->qqi_slv_uptodate,
-+			   qsd->qsd_type_array[GRPQUOTA]->qqi_reint);
- 	}
--	return rc;
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(qsd_state);
- 
-@@ -136,7 +135,8 @@ static int qsd_enabled_seq_show(struct seq_file *m, void *data)
- 	if (strlen(enabled) == 0)
- 		strcat(enabled, "none");
- 
--	return seq_printf(m, "%s\n", enabled);
-+	seq_printf(m, "%s\n", enabled);
-+	return 0;
- }
- LPROC_SEQ_FOPS_RO(qsd_enabled);
- 
-@@ -185,7 +185,8 @@ static int qsd_timeout_seq_show(struct seq_file *m, void *data)
- 	struct qsd_instance *qsd = m->private;
- 	LASSERT(qsd != NULL);
- 
--	return seq_printf(m, "%d\n", qsd_wait_timeout(qsd));
-+	seq_printf(m, "%d\n", qsd_wait_timeout(qsd));
-+	return 0;
- }
- 
- static ssize_t
--- 
-2.8.2
-

diff --git a/sys-cluster/lustre/files/0013-LU-8056-libcfs-Support-for-linux-4.2-kernels.patch b/sys-cluster/lustre/files/0001-LU-8056-libcfs-Support-for-linux-4.2-kernels.patch
similarity index 89%
rename from sys-cluster/lustre/files/0013-LU-8056-libcfs-Support-for-linux-4.2-kernels.patch
rename to sys-cluster/lustre/files/0001-LU-8056-libcfs-Support-for-linux-4.2-kernels.patch
index b894476..e16ec2e 100644
--- a/sys-cluster/lustre/files/0013-LU-8056-libcfs-Support-for-linux-4.2-kernels.patch
+++ b/sys-cluster/lustre/files/0001-LU-8056-libcfs-Support-for-linux-4.2-kernels.patch
@@ -1,7 +1,7 @@
-From f6253abe465ac9ffea7664da948e0f40b46ca24f Mon Sep 17 00:00:00 2001
+From 9b478d607922c9683663f8e317d93b840e528884 Mon Sep 17 00:00:00 2001
 From: Dmitry Eremin <dmitry.eremin@intel.com>
 Date: Thu, 5 May 2016 22:08:05 +0300
-Subject: [PATCH 13/19] LU-8056 libcfs: Support for linux 4.2 kernels
+Subject: [PATCH 1/7] LU-8056 libcfs: Support for linux 4.2 kernels
 
 In kernel version 4.2 commit df6b35f409af0a8ff1ef62f552b8402f3fef8665
 header file i387.h was renamed to fpu/api.h
@@ -15,10 +15,10 @@ Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
  3 files changed, 19 insertions(+)
 
 diff --git a/libcfs/autoconf/lustre-libcfs.m4 b/libcfs/autoconf/lustre-libcfs.m4
-index c787203..9ae2698 100644
+index 636d0ed..cc0e184 100644
 --- a/libcfs/autoconf/lustre-libcfs.m4
 +++ b/libcfs/autoconf/lustre-libcfs.m4
-@@ -318,6 +318,16 @@ topology_sibling_cpumask, [
+@@ -312,6 +312,16 @@ topology_sibling_cpumask, [
  ]) # LIBCFS_HAVE_TOPOLOGY_SIBLING_CPUMASK
  
  #
@@ -35,7 +35,7 @@ index c787203..9ae2698 100644
  # LIBCFS_PROG_LINUX
  #
  # LibCFS linux kernel checks
-@@ -356,6 +366,7 @@ LIBCFS_SHRINKER_COUNT
+@@ -350,6 +360,7 @@ LIBCFS_SHRINKER_COUNT
  LIBCFS_HLIST_ADD_AFTER
  # 4.2
  LIBCFS_HAVE_TOPOLOGY_SIBLING_CPUMASK

diff --git a/sys-cluster/lustre/files/0002-LU-6215-gss-cache_head-is-now-on-a-hlist-in-4.3-kern.patch b/sys-cluster/lustre/files/0002-LU-6215-gss-cache_head-is-now-on-a-hlist-in-4.3-kern.patch
deleted file mode 100644
index ba4c2f1..0000000
--- a/sys-cluster/lustre/files/0002-LU-6215-gss-cache_head-is-now-on-a-hlist-in-4.3-kern.patch
+++ /dev/null
@@ -1,192 +0,0 @@
-From 449e99feba4cfd3e417cdfc87e0eb33e163c2cb6 Mon Sep 17 00:00:00 2001
-From: Li Dongyang <dongyang.li@anu.edu.au>
-Date: Tue, 1 Mar 2016 16:10:48 +1100
-Subject: [PATCH 02/19] LU-6215 gss: cache_head is now on a hlist in 4.3+
- kernels
-
-Since kernel 4.3 struct cache_head switched from a single
-list to a hlist. This patch handles the change.
-
-Linux-commit: 129e5824cd96d9289679973f0ff7c48e88d569bb
-
-Signed-off-by: Li Dongyang <dongyang.li@anu.edu.au>
-Change-Id: Iec4c7d0acf106a8f7b60d72eb2038b6d9e12f422
-Reviewed-on: http://review.whamcloud.com/18728
-Tested-by: Jenkins
-Tested-by: Maloo <hpdd-maloo@intel.com>
-Reviewed-by: James Simmons <uja.ornl@yahoo.com>
-Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
-Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
----
- lustre/autoconf/lustre-core.m4     | 46 +++++++++++++++++++++++++++++++++++++
- lustre/ptlrpc/gss/gss_svc_upcall.c | 47 ++++++++++++++++++++++++++++++++------
- 2 files changed, 86 insertions(+), 7 deletions(-)
-
-diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4
-index b8285d0..8ed3500 100644
---- a/lustre/autoconf/lustre-core.m4
-+++ b/lustre/autoconf/lustre-core.m4
-@@ -1948,6 +1948,49 @@ bio_endio, [
- ]) # LC_BIO_ENDIO_USES_ONE_ARG
- 
- #
-+# LC_HAVE_LOOP_CTL_GET_FREE
-+#
-+# 4.x kernel have moved userspace APIs to
-+# the separate directory and all of them
-+# support LOOP_CTL_GET_FREE
-+#
-+AC_DEFUN([LC_HAVE_LOOP_CTL_GET_FREE], [
-+LB_CHECK_FILE([$LINUX/include/linux/loop.h], [
-+	LB_CHECK_COMPILE([if have 'HAVE_LOOP_CTL_GET_FREE'],
-+	LOOP_CTL_GET_FREE, [
-+		#include <linux/loop.h>
-+	],[
-+		int i;
-+
-+		i = LOOP_CTL_GET_FREE;
-+	],[
-+		AC_DEFINE(HAVE_LOOP_CTL_GET_FREE, 1,
-+			[LOOP_CTL_GET_FREE exist])
-+	])
-+],[
-+	AC_DEFINE(HAVE_LOOP_CTL_GET_FREE, 1,
-+		[kernel has LOOP_CTL_GET_FREE])
-+])
-+]) # LC_HAVE_LOOP_CTL_GET_FREE
-+
-+#
-+# LC_HAVE_CACHE_HEAD_HLIST
-+#
-+# 4.3 kernel swiched to hlist for cache_head
-+#
-+AC_DEFUN([LC_HAVE_CACHE_HEAD_HLIST], [
-+LB_CHECK_COMPILE([if 'struct cache_head' has 'cache_list' field],
-+cache_head_has_hlist, [
-+	#include <linux/sunrpc/cache.h>
-+],[
-+	do {} while(sizeof(((struct cache_head *)0)->cache_list));
-+],[
-+	AC_DEFINE(HAVE_CACHE_HEAD_HLIST, 1,
-+		[cache_head has hlist cache_list])
-+])
-+]) # LC_HAVE_CACHE_HEAD_HLIST
-+
-+#
- # LC_PROG_LINUX
- #
- # Lustre linux kernel checks
-@@ -2108,6 +2151,9 @@ AC_DEFUN([LC_PROG_LINUX], [
- 	LC_BIO_ENDIO_USES_ONE_ARG
- 	LC_SYMLINK_OPS_USE_NAMEIDATA
- 
-+	# 4.3
-+	LC_HAVE_CACHE_HEAD_HLIST
-+
- 	#
- 	AS_IF([test "x$enable_server" != xno], [
- 		LC_FUNC_DEV_SET_RDONLY
-diff --git a/lustre/ptlrpc/gss/gss_svc_upcall.c b/lustre/ptlrpc/gss/gss_svc_upcall.c
-index 429b1eb..2786d69 100644
---- a/lustre/ptlrpc/gss/gss_svc_upcall.c
-+++ b/lustre/ptlrpc/gss/gss_svc_upcall.c
-@@ -149,7 +149,11 @@ struct rsi {
- 	int                     major_status, minor_status;
- };
- 
-+#ifdef HAVE_CACHE_HEAD_HLIST
-+static struct hlist_head rsi_table[RSI_HASHMAX];
-+#else
- static struct cache_head *rsi_table[RSI_HASHMAX];
-+#endif
- static struct cache_detail rsi_cache;
- static struct rsi *rsi_update(struct rsi *new, struct rsi *old);
- static struct rsi *rsi_lookup(struct rsi *item);
-@@ -242,7 +246,11 @@ static void rsi_put(struct kref *ref)
- {
-         struct rsi *rsi = container_of(ref, struct rsi, h.ref);
- 
--        LASSERT(rsi->h.next == NULL);
-+#ifdef HAVE_CACHE_HEAD_HLIST
-+	LASSERT(rsi->h.cache_list.next == NULL);
-+#else
-+	LASSERT(rsi->h.next == NULL);
-+#endif
-         rsi_free(rsi);
-         OBD_FREE_PTR(rsi);
- }
-@@ -430,7 +438,11 @@ struct rsc {
-         struct gss_svc_ctx      ctx;
- };
- 
-+#ifdef HAVE_CACHE_HEAD_HLIST
-+static struct hlist_head rsc_table[RSC_HASHMAX];
-+#else
- static struct cache_head *rsc_table[RSC_HASHMAX];
-+#endif
- static struct cache_detail rsc_cache;
- static struct rsc *rsc_update(struct rsc *new, struct rsc *old);
- static struct rsc *rsc_lookup(struct rsc *item);
-@@ -477,7 +489,11 @@ static void rsc_put(struct kref *ref)
- {
-         struct rsc *rsci = container_of(ref, struct rsc, h.ref);
- 
-+#ifdef HAVE_CACHE_HEAD_HLIST
-+	LASSERT(rsci->h.cache_list.next == NULL);
-+#else
-         LASSERT(rsci->h.next == NULL);
-+#endif
-         rsc_free(rsci);
-         OBD_FREE_PTR(rsci);
- }
-@@ -693,24 +709,41 @@ typedef int rsc_entry_match(struct rsc *rscp, long data);
- 
- static void rsc_flush(rsc_entry_match *match, long data)
- {
--        struct cache_head **ch;
-+#ifdef HAVE_CACHE_HEAD_HLIST
-+	struct cache_head *ch = NULL;
-+	struct hlist_head *head;
-+#else
-+	struct cache_head **ch;
-+#endif
-         struct rsc *rscp;
-         int n;
-         ENTRY;
- 
- 	write_lock(&rsc_cache.hash_lock);
-         for (n = 0; n < RSC_HASHMAX; n++) {
--                for (ch = &rsc_cache.hash_table[n]; *ch;) {
--                        rscp = container_of(*ch, struct rsc, h);
-+#ifdef HAVE_CACHE_HEAD_HLIST
-+		head = &rsc_cache.hash_table[n];
-+		hlist_for_each_entry(ch, head, cache_list) {
-+			rscp = container_of(ch, struct rsc, h);
-+#else
-+		for (ch = &rsc_cache.hash_table[n]; *ch;) {
-+			rscp = container_of(*ch, struct rsc, h);
-+#endif
- 
-                         if (!match(rscp, data)) {
--                                ch = &((*ch)->next);
-+#ifndef HAVE_CACHE_HEAD_HLIST
-+				ch = &((*ch)->next);
-+#endif
-                                 continue;
-                         }
- 
-                         /* it seems simply set NEGATIVE doesn't work */
--                        *ch = (*ch)->next;
--                        rscp->h.next = NULL;
-+#ifdef HAVE_CACHE_HEAD_HLIST
-+			hlist_del_init(&ch->cache_list);
-+#else
-+			*ch = (*ch)->next;
-+			rscp->h.next = NULL;
-+#endif
-                         cache_get(&rscp->h);
- 			set_bit(CACHE_NEGATIVE, &rscp->h.flags);
-                         COMPAT_RSC_PUT(&rscp->h, &rsc_cache);
--- 
-2.8.2
-

diff --git a/sys-cluster/lustre/files/0014-LU-8056-o2iblnd-ib_query_device-removed-in-4.5.patch b/sys-cluster/lustre/files/0002-LU-8056-o2iblnd-ib_query_device-removed-in-4.5.patch
similarity index 53%
rename from sys-cluster/lustre/files/0014-LU-8056-o2iblnd-ib_query_device-removed-in-4.5.patch
rename to sys-cluster/lustre/files/0002-LU-8056-o2iblnd-ib_query_device-removed-in-4.5.patch
index 4647eed..6ce8433 100644
--- a/sys-cluster/lustre/files/0014-LU-8056-o2iblnd-ib_query_device-removed-in-4.5.patch
+++ b/sys-cluster/lustre/files/0002-LU-8056-o2iblnd-ib_query_device-removed-in-4.5.patch
@@ -1,7 +1,7 @@
-From 53b7041eed99418ec8b2a6c3fb29eaa331accfe2 Mon Sep 17 00:00:00 2001
+From 0242d060692573dcb6f09750a62db1fa0f6d36df Mon Sep 17 00:00:00 2001
 From: Li Dongyang <dongyang.li@anu.edu.au>
 Date: Mon, 16 May 2016 17:18:39 +1000
-Subject: [PATCH 14/19] LU-8056 o2iblnd: ib_query_device removed in 4.5
+Subject: [PATCH 2/7] LU-8056 o2iblnd: ib_query_device removed in 4.5
 
 We should use the cached attributes in ib_device instead of
 calling ib_query_device since kernel 4.5
@@ -12,12 +12,12 @@ Linux-commit:cebfe5ca038e2a0f677b41e9682501708ffa2ff3
 Signed-off-by: Li Dongyang <dongyang.li@anu.edu.au>
 Change-Id: Ie2ab681a3b508f0a1f89d3ff86bf2713b7257e62
 ---
- lnet/autoconf/lustre-lnet.m4 | 22 ++++++++++++++
- lnet/klnds/o2iblnd/o2iblnd.c | 69 ++++++++++++++++++++++++++++++++++++++------
- 2 files changed, 82 insertions(+), 9 deletions(-)
+ lnet/autoconf/lustre-lnet.m4 | 22 ++++++++++++++++++++++
+ lnet/klnds/o2iblnd/o2iblnd.c | 20 ++++++++++++++++++--
+ 2 files changed, 40 insertions(+), 2 deletions(-)
 
 diff --git a/lnet/autoconf/lustre-lnet.m4 b/lnet/autoconf/lustre-lnet.m4
-index 2e2adb2..2aefe70 100644
+index 05b47db..30ad208 100644
 --- a/lnet/autoconf/lustre-lnet.m4
 +++ b/lnet/autoconf/lustre-lnet.m4
 @@ -460,6 +460,28 @@ AS_IF([test $ENABLEO2IB != "no"], [
@@ -50,88 +50,59 @@ index 2e2adb2..2aefe70 100644
  ]) # LN_CONFIG_O2IB
  
 diff --git a/lnet/klnds/o2iblnd/o2iblnd.c b/lnet/klnds/o2iblnd/o2iblnd.c
-index ada1322..5bae966 100644
+index 92254b8..b174799 100644
 --- a/lnet/klnds/o2iblnd/o2iblnd.c
 +++ b/lnet/klnds/o2iblnd/o2iblnd.c
-@@ -1562,25 +1562,70 @@ kiblnd_create_fmr_pool(kib_fmr_poolset_t *fps, kib_fmr_pool_t **pp_fpo)
+@@ -1579,9 +1579,11 @@ kiblnd_create_fmr_pool(kib_fmr_poolset_t *fps, kib_fmr_pool_t **pp_fpo)
  	kib_fmr_pool_t *fpo;
  	int rc;
  
 +#ifndef HAVE_IB_DEVICE_ATTRS
-+	dev_attr = kmalloc(sizeof(*dev_attr), GFP_KERNEL);
-+	if (!dev_attr)
-+		return -ENOMEM;
+ 	dev_attr = kmalloc(sizeof(*dev_attr), GFP_KERNEL);
+ 	if (!dev_attr)
+ 		return -ENOMEM;
 +#endif
-+
+ 
  	LIBCFS_CPT_ALLOC(fpo, lnet_cpt_table(), fps->fps_cpt, sizeof(*fpo));
- 	if (fpo == NULL)
- 		return -ENOMEM;
+ 	if (!fpo) {
+@@ -1591,12 +1593,16 @@ kiblnd_create_fmr_pool(kib_fmr_poolset_t *fps, kib_fmr_pool_t **pp_fpo)
  
  	fpo->fpo_hdev = kiblnd_current_hdev(dev);
  
--	fpo->fpo_fmr_pool = ib_create_fmr_pool(fpo->fpo_hdev->ibh_pd, &param);
--	if (IS_ERR(fpo->fpo_fmr_pool)) {
--		rc = PTR_ERR(fpo->fpo_fmr_pool);
--		CERROR("Failed to create FMR pool: %d\n", rc);
 +#ifdef HAVE_IB_DEVICE_ATTRS
 +	dev_attr = &fpo->fpo_hdev->ibh_ibdev->attrs;
 +#else
-+	rc = ib_query_device(fpo->fpo_hdev->ibh_ibdev, dev_attr);
-+	if (rc) {
-+		CERROR("Query device failed for %s: %d\n",
-+			fpo->fpo_hdev->ibh_ibdev->name, rc);
-+		goto out_dev_attr;
-+	}
+ 	rc = ib_query_device(fpo->fpo_hdev->ibh_ibdev, dev_attr);
+ 	if (rc) {
+ 		CERROR("Query device failed for %s: %d\n",
+ 			fpo->fpo_hdev->ibh_ibdev->name, rc);
+ 		goto out_dev_attr;
+ 	}
 +#endif
-+
-+	/* Check for FMR or FastReg support */
-+	fpo->fpo_is_fmr = 0;
-+	if (fpo->fpo_hdev->ibh_ibdev->alloc_fmr &&
-+	    fpo->fpo_hdev->ibh_ibdev->dealloc_fmr &&
-+	    fpo->fpo_hdev->ibh_ibdev->map_phys_fmr &&
-+	    fpo->fpo_hdev->ibh_ibdev->unmap_fmr) {
-+		LCONSOLE_INFO("Using FMR for registration\n");
-+		fpo->fpo_is_fmr = 1;
-+	} else if (dev_attr->device_cap_flags & IB_DEVICE_MEM_MGT_EXTENSIONS) {
-+		LCONSOLE_INFO("Using FastReg for registration\n");
-+	} else {
-+		rc = -ENOSYS;
-+		LCONSOLE_ERROR_MSG(rc, "IB device does not support FMRs nor FastRegs, can't register memory\n");
-+		goto out_dev_attr;
-+	}
-+
-+	if (fpo->fpo_is_fmr)
-+		rc = kiblnd_alloc_fmr_pool(fps, fpo);
-+	else
-+		rc = kiblnd_alloc_freg_pool(fps, fpo);
-+	if (rc)
-+		goto out_fpo;
-+
+ 
+ 	/* Check for FMR or FastReg support */
+ 	fpo->fpo_is_fmr = 0;
+@@ -1621,7 +1627,9 @@ kiblnd_create_fmr_pool(kib_fmr_poolset_t *fps, kib_fmr_pool_t **pp_fpo)
+ 	if (rc)
+ 		goto out_fpo;
+ 
 +#ifndef HAVE_IB_DEVICE_ATTRS
-+	kfree(dev_attr);
+ 	kfree(dev_attr);
 +#endif
-+	fpo->fpo_deadline = cfs_time_shift(IBLND_POOL_DEADLINE);
-+	fpo->fpo_owner    = fps;
-+	*pp_fpo = fpo;
-+
-+	return 0;
- 
-                 kiblnd_hdev_decref(fpo->fpo_hdev);
-                 LIBCFS_FREE(fpo, sizeof(kib_fmr_pool_t));
-                 return rc;
-         }
+ 	fpo->fpo_deadline = cfs_time_shift(IBLND_POOL_DEADLINE);
+ 	fpo->fpo_owner    = fps;
+ 	*pp_fpo = fpo;
+@@ -1633,7 +1641,9 @@ out_fpo:
+ 	LIBCFS_FREE(fpo, sizeof(*fpo));
  
--        fpo->fpo_deadline = cfs_time_shift(IBLND_POOL_DEADLINE);
--        fpo->fpo_owner    = fps;
--        *pp_fpo = fpo;
-+out_dev_attr:
+ out_dev_attr:
 +#ifndef HAVE_IB_DEVICE_ATTRS
-+	kfree(dev_attr);
+ 	kfree(dev_attr);
 +#endif
  
-         return 0;
+ 	return rc;
  }
-@@ -2388,8 +2433,10 @@ kiblnd_net_init_pools(kib_net_t *net, __u32 *cpts, int ncpts)
+@@ -2462,8 +2472,10 @@ kiblnd_net_init_pools(kib_net_t *net, lnet_ni_t *ni, __u32 *cpts, int ncpts)
  static int
  kiblnd_hdev_get_attr(kib_hca_dev_t *hdev)
  {
@@ -144,7 +115,7 @@ index ada1322..5bae966 100644
  
          /* It's safe to assume a HCA can handle a page size
           * matching that of the native system */
-@@ -2397,6 +2444,9 @@ kiblnd_hdev_get_attr(kib_hca_dev_t *hdev)
+@@ -2471,6 +2483,9 @@ kiblnd_hdev_get_attr(kib_hca_dev_t *hdev)
          hdev->ibh_page_size  = 1 << PAGE_SHIFT;
          hdev->ibh_page_mask  = ~((__u64)hdev->ibh_page_size - 1);
  
@@ -154,7 +125,7 @@ index ada1322..5bae966 100644
          LIBCFS_ALLOC(attr, sizeof(*attr));
          if (attr == NULL) {
                  CERROR("Out of memory\n");
-@@ -2413,6 +2463,7 @@ kiblnd_hdev_get_attr(kib_hca_dev_t *hdev)
+@@ -2487,6 +2502,7 @@ kiblnd_hdev_get_attr(kib_hca_dev_t *hdev)
                  CERROR("Failed to query IB device: %d\n", rc);
                  return rc;
          }

diff --git a/sys-cluster/lustre/files/0003-LU-6215-llite-handle-locks-API-change-in-4.4-kernels.patch b/sys-cluster/lustre/files/0003-LU-6215-llite-handle-locks-API-change-in-4.4-kernels.patch
deleted file mode 100644
index 4c1c668..0000000
--- a/sys-cluster/lustre/files/0003-LU-6215-llite-handle-locks-API-change-in-4.4-kernels.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-From ffcc66dc3a0e7249ac6d5f7506c595cc69209e54 Mon Sep 17 00:00:00 2001
-From: Li Dongyang <dongyang.li@anu.edu.au>
-Date: Tue, 1 Mar 2016 16:36:49 +1100
-Subject: [PATCH 03/19] LU-6215 llite: handle locks API change in 4.4+ kernels
-
-Since 4.4 linux kernel replaced both posix_lock_file_wait() and
-flock_lock_file_wait() by introducing locks_lock_file_wait().
-This patch handles the API change.
-
-Linux-commit: 4f6563677ae833baad8003e14353241bc25da4fc
-
-Signed-off-by: Li Dongyang <dongyang.li@anu.edu.au>
-Change-Id: I1b9c98c2afcad9da3fb377c3e788b12f20261e9e
-Reviewed-on: http://review.whamcloud.com/18729
-Tested-by: Jenkins
-Tested-by: Maloo <hpdd-maloo@intel.com>
-Reviewed-by: James Simmons <uja.ornl@yahoo.com>
-Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
-Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
----
- lustre/autoconf/lustre-core.m4 | 21 +++++++++++++++++++++
- lustre/llite/file.c            |  6 ++++++
- 2 files changed, 27 insertions(+)
-
-diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4
-index 8ed3500..b2a4af0 100644
---- a/lustre/autoconf/lustre-core.m4
-+++ b/lustre/autoconf/lustre-core.m4
-@@ -1991,6 +1991,24 @@ cache_head_has_hlist, [
- ]) # LC_HAVE_CACHE_HEAD_HLIST
- 
- #
-+# LC_HAVE_LOCKS_LOCK_FILE_WAIT
-+#
-+# 4.4 kernel have moved locks API users to
-+# locks_lock_inode_wait()
-+#
-+AC_DEFUN([LC_HAVE_LOCKS_LOCK_FILE_WAIT], [
-+LB_CHECK_COMPILE([if 'locks_lock_file_wait' exists],
-+locks_lock_file_wait, [
-+	#include <linux/fs.h>
-+],[
-+	locks_lock_file_wait(NULL, NULL);
-+],[
-+	AC_DEFINE(HAVE_LOCKS_LOCK_FILE_WAIT, 1,
-+		[kernel has locks_lock_file_wait])
-+])
-+]) # LC_HAVE_LOCKS_LOCK_FILE_WAIT
-+
-+#
- # LC_PROG_LINUX
- #
- # Lustre linux kernel checks
-@@ -2154,6 +2172,9 @@ AC_DEFUN([LC_PROG_LINUX], [
- 	# 4.3
- 	LC_HAVE_CACHE_HEAD_HLIST
- 
-+	# 4.4
-+	LC_HAVE_LOCKS_LOCK_FILE_WAIT
-+
- 	#
- 	AS_IF([test "x$enable_server" != xno], [
- 		LC_FUNC_DEV_SET_RDONLY
-diff --git a/lustre/llite/file.c b/lustre/llite/file.c
-index 8e6afbd..d1819c6 100644
---- a/lustre/llite/file.c
-+++ b/lustre/llite/file.c
-@@ -2918,6 +2918,11 @@ ll_file_flock(struct file *file, int cmd, struct file_lock *file_lock)
- 	if (!(flags & LDLM_FL_TEST_LOCK))
- 		file_lock->fl_type = fl_type;
- 
-+#ifdef HAVE_LOCKS_LOCK_FILE_WAIT
-+	if ((rc == 0 || file_lock->fl_type == F_UNLCK) &&
-+	    !(flags & LDLM_FL_TEST_LOCK))
-+		rc2  = locks_lock_file_wait(file, file_lock);
-+#else
-         if ((file_lock->fl_flags & FL_FLOCK) &&
-             (rc == 0 || file_lock->fl_type == F_UNLCK))
- 		rc2  = flock_lock_file_wait(file, file_lock);
-@@ -2925,6 +2930,7 @@ ll_file_flock(struct file *file, int cmd, struct file_lock *file_lock)
-             (rc == 0 || file_lock->fl_type == F_UNLCK) &&
-             !(flags & LDLM_FL_TEST_LOCK))
- 		rc2  = posix_lock_file_wait(file, file_lock);
-+#endif /* HAVE_LOCKS_LOCK_FILE_WAIT */
- 
- 	if (rc2 && file_lock->fl_type != F_UNLCK) {
- 		einfo.ei_mode = LCK_NL;
--- 
-2.8.2
-

diff --git a/sys-cluster/lustre/files/0015-LU-8056-socklnd-NETIF_F_ALL_CSUM-renamed-to-NETIF_F_.patch b/sys-cluster/lustre/files/0003-LU-8056-socklnd-NETIF_F_ALL_CSUM-renamed-to-NETIF_F_.patch
similarity index 84%
rename from sys-cluster/lustre/files/0015-LU-8056-socklnd-NETIF_F_ALL_CSUM-renamed-to-NETIF_F_.patch
rename to sys-cluster/lustre/files/0003-LU-8056-socklnd-NETIF_F_ALL_CSUM-renamed-to-NETIF_F_.patch
index f39059c..756c911 100644
--- a/sys-cluster/lustre/files/0015-LU-8056-socklnd-NETIF_F_ALL_CSUM-renamed-to-NETIF_F_.patch
+++ b/sys-cluster/lustre/files/0003-LU-8056-socklnd-NETIF_F_ALL_CSUM-renamed-to-NETIF_F_.patch
@@ -1,7 +1,7 @@
-From ed100a806582374d95a7ef5d714d28276bffe9dc Mon Sep 17 00:00:00 2001
+From 6c3f19ba5b6db287980241e4d20be9ac5d0c1293 Mon Sep 17 00:00:00 2001
 From: Li Dongyang <dongyang.li@anu.edu.au>
 Date: Mon, 16 May 2016 17:27:23 +1000
-Subject: [PATCH 15/19] LU-8056 socklnd: NETIF_F_ALL_CSUM renamed to
+Subject: [PATCH 3/7] LU-8056 socklnd: NETIF_F_ALL_CSUM renamed to
  NETIF_F_CSUM_MASK
 
 In kernel 4.5 NETIF_F_CSUM_MASK got renamed to NETIF_F_CSUM_MASK.
@@ -17,7 +17,7 @@ Change-Id: Id57505eeca613303c584d3cf74284920a837bb43
  2 files changed, 5 insertions(+), 1 deletion(-)
 
 diff --git a/lnet/klnds/socklnd/socklnd.h b/lnet/klnds/socklnd/socklnd.h
-index 4065ef3..ad04fb5 100644
+index f02003a..54794c0 100644
 --- a/lnet/klnds/socklnd/socklnd.h
 +++ b/lnet/klnds/socklnd/socklnd.h
 @@ -66,6 +66,10 @@
@@ -32,10 +32,10 @@ index 4065ef3..ad04fb5 100644
  #define SOCKNAL_NSCHEDS		3
  #define SOCKNAL_NSCHEDS_HIGH	(SOCKNAL_NSCHEDS << 1)
 diff --git a/lnet/klnds/socklnd/socklnd_lib.c b/lnet/klnds/socklnd/socklnd_lib.c
-index f270fa7..a672791 100644
+index 9dca0e4..e26db71 100644
 --- a/lnet/klnds/socklnd/socklnd_lib.c
 +++ b/lnet/klnds/socklnd/socklnd_lib.c
-@@ -377,7 +377,7 @@ ksocknal_lib_zc_capable(ksock_conn_t *conn)
+@@ -71,7 +71,7 @@ ksocknal_lib_zc_capable(ksock_conn_t *conn)
  
  	/* ZC if the socket supports scatter/gather and doesn't need software
  	 * checksums */

diff --git a/sys-cluster/lustre/files/0004-LU-6215-llite-make_request_fn-returns-blk_qc_t-in-ke.patch b/sys-cluster/lustre/files/0004-LU-6215-llite-make_request_fn-returns-blk_qc_t-in-ke.patch
deleted file mode 100644
index 3be9aef..0000000
--- a/sys-cluster/lustre/files/0004-LU-6215-llite-make_request_fn-returns-blk_qc_t-in-ke.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From 7d62fb54e3faec60e86135d75cc6349cf626a46b Mon Sep 17 00:00:00 2001
-From: Li Dongyang <dongyang.li@anu.edu.au>
-Date: Tue, 1 Mar 2016 16:53:49 +1100
-Subject: [PATCH 04/19] LU-6215 llite: make_request_fn returns blk_qc_t in
- kernel 4.4
-
-For the 4.4 kernel request_queue.make_request_fn is defined as
-a function returns blk_qc_t. loop_make_request() should return
-BLK_QC_T_NONE in this case.
-
-Linux-commit: dece16353ef47d8d33f5302bc158072a9d65e26f
-
-Signed-off-by: Li Dongyang <dongyang.li@anu.edu.au>
-Change-Id: I20a796caf6d8e6411f084db2392683c12307a0bf
-Reviewed-on: http://review.whamcloud.com/18730
-Tested-by: Jenkins
-Tested-by: Maloo <hpdd-maloo@intel.com>
-Reviewed-by: James Simmons <uja.ornl@yahoo.com>
-Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
-Reviewed-by: Lai Siyao <lai.siyao@intel.com>
-Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
----
- lustre/autoconf/lustre-core.m4 | 21 +++++++++++++++++++++
- lustre/include/lustre_compat.h | 15 ++++++++++-----
- 2 files changed, 31 insertions(+), 5 deletions(-)
-
-diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4
-index b2a4af0..0201a28 100644
---- a/lustre/autoconf/lustre-core.m4
-+++ b/lustre/autoconf/lustre-core.m4
-@@ -2009,6 +2009,26 @@ locks_lock_file_wait, [
- ]) # LC_HAVE_LOCKS_LOCK_FILE_WAIT
- 
- #
-+# LC_HAVE_QC_MAKE_REQUEST_FN
-+#
-+# 4.4 request_queue.make_request_fn defined as function returns with blk_qc_t
-+# see kernel commit dece16353ef47d8d33f5302bc158072a9d65e26f
-+#
-+AC_DEFUN([LC_HAVE_QC_MAKE_REQUEST_FN], [
-+LB_CHECK_COMPILE([if 'request_queue.make_request_fn' returns blk_qc_t],
-+make_request_fn_blk_qc_t, [
-+	#include <linux/blkdev.h>
-+],[
-+	blk_qc_t ret;
-+	make_request_fn *mrf;
-+	ret = mrf(NULL, NULL);
-+],[
-+	AC_DEFINE(HAVE_QC_MAKE_REQUEST_FN, 1,
-+		[request_queue.make_request_fn returns blk_qc_t])
-+])
-+]) # LC_HAVE_QC_MAKE_REQUEST_FN
-+
-+#
- # LC_PROG_LINUX
- #
- # Lustre linux kernel checks
-@@ -2174,6 +2194,7 @@ AC_DEFUN([LC_PROG_LINUX], [
- 
- 	# 4.4
- 	LC_HAVE_LOCKS_LOCK_FILE_WAIT
-+	LC_HAVE_QC_MAKE_REQUEST_FN
- 
- 	#
- 	AS_IF([test "x$enable_server" != xno], [
-diff --git a/lustre/include/lustre_compat.h b/lustre/include/lustre_compat.h
-index c038aa1..4e9f3ac 100644
---- a/lustre/include/lustre_compat.h
-+++ b/lustre/include/lustre_compat.h
-@@ -298,12 +298,17 @@ static inline int ll_namei_to_lookup_intent_flag(int flag)
- 	return flag;
- }
- 
--#ifdef HAVE_VOID_MAKE_REQUEST_FN
--# define ll_mrf_ret void
--# define LL_MRF_RETURN(rc)
-+#ifdef HAVE_QC_MAKE_REQUEST_FN
-+# define ll_mrf_ret blk_qc_t
-+# define LL_MRF_RETURN(rc) RETURN(BLK_QC_T_NONE)
- #else
--# define ll_mrf_ret int
--# define LL_MRF_RETURN(rc) RETURN(rc)
-+# ifdef HAVE_VOID_MAKE_REQUEST_FN
-+#  define ll_mrf_ret void
-+#  define LL_MRF_RETURN(rc)
-+# else
-+#  define ll_mrf_ret int
-+#  define LL_MRF_RETURN(rc) RETURN(rc)
-+# endif
- #endif
- 
- #include <linux/fs.h>
--- 
-2.8.2
-

diff --git a/sys-cluster/lustre/files/0016-LU-8056-llite-use-inode_lock-to-access-i_mutex.patch b/sys-cluster/lustre/files/0004-LU-8056-llite-use-inode_lock-to-access-i_mutex.patch
similarity index 82%
rename from sys-cluster/lustre/files/0016-LU-8056-llite-use-inode_lock-to-access-i_mutex.patch
rename to sys-cluster/lustre/files/0004-LU-8056-llite-use-inode_lock-to-access-i_mutex.patch
index 7ed56fe..e0aab10 100644
--- a/sys-cluster/lustre/files/0016-LU-8056-llite-use-inode_lock-to-access-i_mutex.patch
+++ b/sys-cluster/lustre/files/0004-LU-8056-llite-use-inode_lock-to-access-i_mutex.patch
@@ -1,7 +1,7 @@
-From 917e3d42d9fe0584c740584db5c5f59cf6875c9f Mon Sep 17 00:00:00 2001
+From ab0006e3a3bf5b0ff63f0914a9e7246dfa1729f8 Mon Sep 17 00:00:00 2001
 From: Li Dongyang <dongyang.li@anu.edu.au>
 Date: Mon, 16 May 2016 17:40:55 +1000
-Subject: [PATCH 16/19] LU-8056 llite: use inode_lock to access i_mutex
+Subject: [PATCH 4/7] LU-8056 llite: use inode_lock to access i_mutex
 
 Linux kernel 4.5 introduced wrappers for i_mutex as the type
 of i_mutex will be changed in the future.
@@ -22,7 +22,7 @@ Change-Id: Ia4c30443cddfaa5232e1dc1519c33c97dba2a271
  lustre/include/lustre_compat.h |  6 ++++++
  lustre/include/lvfs.h          |  4 ++--
  lustre/llite/dir.c             |  4 ++--
- lustre/llite/file.c            | 29 +++++++++++++++++++----------
+ lustre/llite/file.c            | 20 ++++++++++----------
  lustre/llite/llite_internal.h  |  2 --
  lustre/llite/llite_lib.c       |  8 ++++----
  lustre/llite/llite_nfs.c       |  4 ++--
@@ -30,13 +30,13 @@ Change-Id: Ia4c30443cddfaa5232e1dc1519c33c97dba2a271
  lustre/llite/rw26.c            |  4 ++--
  lustre/llite/vvp_io.c          |  4 ++--
  lustre/llite/vvp_page.c        |  4 ++--
- 12 files changed, 63 insertions(+), 30 deletions(-)
+ 12 files changed, 54 insertions(+), 30 deletions(-)
 
 diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4
-index 9497cdd..622345f 100644
+index 0d5c599..5554490 100644
 --- a/lustre/autoconf/lustre-core.m4
 +++ b/lustre/autoconf/lustre-core.m4
-@@ -2045,6 +2045,23 @@ key_payload_data_array, [
+@@ -2087,6 +2087,23 @@ key_payload_data_array, [
  ]) #LC_HAVE_KEY_PAYLOAD_DATA_ARRAY
  
  #
@@ -60,7 +60,7 @@ index 9497cdd..622345f 100644
  # LC_PROG_LINUX
  #
  # Lustre linux kernel checks
-@@ -2213,6 +2230,9 @@ AC_DEFUN([LC_PROG_LINUX], [
+@@ -2259,6 +2276,9 @@ AC_DEFUN([LC_PROG_LINUX], [
  	LC_HAVE_QC_MAKE_REQUEST_FN
  	LC_HAVE_KEY_PAYLOAD_DATA_ARRAY
  
@@ -71,10 +71,10 @@ index 9497cdd..622345f 100644
  	AS_IF([test "x$enable_server" != xno], [
  		LC_FUNC_DEV_SET_RDONLY
 diff --git a/lustre/include/lustre_compat.h b/lustre/include/lustre_compat.h
-index 4e9f3ac..2a5a2fd 100644
+index d777993..0d303f2 100644
 --- a/lustre/include/lustre_compat.h
 +++ b/lustre/include/lustre_compat.h
-@@ -370,6 +370,12 @@ static inline struct dentry *d_make_root(struct inode *root)
+@@ -371,6 +371,12 @@ static inline struct dentry *d_make_root(struct inode *root)
  #define ll_vfs_unlink(a, b) vfs_unlink(a, b)
  #endif
  
@@ -104,10 +104,10 @@ index be4187f..2bdee77 100644
  	if (IS_ERR(dchild) || dchild->d_inode == NULL)
  		return dchild;
 diff --git a/lustre/llite/dir.c b/lustre/llite/dir.c
-index 4f28145..f657725 100644
+index ec71a19..1f6e02c 100644
 --- a/lustre/llite/dir.c
 +++ b/lustre/llite/dir.c
-@@ -1736,7 +1736,7 @@ static loff_t ll_dir_seek(struct file *file, loff_t offset, int origin)
+@@ -1733,7 +1733,7 @@ static loff_t ll_dir_seek(struct file *file, loff_t offset, int origin)
          loff_t ret = -EINVAL;
          ENTRY;
  
@@ -116,7 +116,7 @@ index 4f28145..f657725 100644
          switch (origin) {
                  case SEEK_SET:
                          break;
-@@ -1774,7 +1774,7 @@ static loff_t ll_dir_seek(struct file *file, loff_t offset, int origin)
+@@ -1771,7 +1771,7 @@ static loff_t ll_dir_seek(struct file *file, loff_t offset, int origin)
          GOTO(out, ret);
  
  out:
@@ -126,10 +126,10 @@ index 4f28145..f657725 100644
  }
  
 diff --git a/lustre/llite/file.c b/lustre/llite/file.c
-index d1819c6..b8670c7 100644
+index cfc01f4..f381d26 100644
 --- a/lustre/llite/file.c
 +++ b/lustre/llite/file.c
-@@ -2144,13 +2144,13 @@ static int ll_hsm_import(struct inode *inode, struct file *file,
+@@ -2162,13 +2162,13 @@ static int ll_hsm_import(struct inode *inode, struct file *file,
  			 ATTR_MTIME | ATTR_MTIME_SET |
  			 ATTR_ATIME | ATTR_ATIME_SET;
  
@@ -145,7 +145,7 @@ index d1819c6..b8670c7 100644
  
  out:
  	if (hss != NULL)
-@@ -2197,9 +2197,9 @@ static int ll_file_futimes_3(struct file *file, const struct ll_futimes_3 *lfu)
+@@ -2215,9 +2215,9 @@ static int ll_file_futimes_3(struct file *file, const struct ll_futimes_3 *lfu)
  	if (!S_ISREG(inode->i_mode))
  		RETURN(-EINVAL);
  
@@ -157,7 +157,7 @@ index d1819c6..b8670c7 100644
  
  	RETURN(rc);
  }
-@@ -2598,9 +2598,9 @@ generic_file_llseek_size(struct file *file, loff_t offset, int origin,
+@@ -2715,9 +2715,9 @@ generic_file_llseek_size(struct file *file, loff_t offset, int origin,
  		 * SEEK_CURs. Note that parallel writes and reads behave
  		 * like SEEK_SET.
  		 */
@@ -169,7 +169,7 @@ index d1819c6..b8670c7 100644
  		return offset;
  	case SEEK_DATA:
  		/*
-@@ -2758,7 +2758,7 @@ int ll_fsync(struct file *file, struct dentry *dentry, int datasync)
+@@ -2875,7 +2875,7 @@ int ll_fsync(struct file *file, struct dentry *dentry, int datasync)
  
  #ifdef HAVE_FILE_FSYNC_4ARGS
  	rc = filemap_write_and_wait_range(inode->i_mapping, start, end);
@@ -178,7 +178,7 @@ index d1819c6..b8670c7 100644
  #else
  	/* fsync's caller has already called _fdata{sync,write}, we want
  	 * that IO to finish before calling the osc and mdc sync methods */
-@@ -2796,7 +2796,7 @@ int ll_fsync(struct file *file, struct dentry *dentry, int datasync)
+@@ -2913,7 +2913,7 @@ int ll_fsync(struct file *file, struct dentry *dentry, int datasync)
  	}
  
  #ifdef HAVE_FILE_FSYNC_4ARGS
@@ -187,38 +187,29 @@ index d1819c6..b8670c7 100644
  #endif
  	RETURN(rc);
  }
-@@ -3021,7 +3021,15 @@ int ll_migrate(struct inode *parent, struct file *file, int mdtidx,
- 	if (child_inode == NULL)
- 		GOTO(out_free, rc = -EINVAL);
+@@ -3146,7 +3146,7 @@ int ll_migrate(struct inode *parent, struct file *file, int mdtidx,
+ 	if (child_inode == parent->i_sb->s_root->d_inode)
+ 		GOTO(out_iput, rc = -EINVAL);
  
 -	mutex_lock(&child_inode->i_mutex);
-+	/*
-+	 * lfs migrate command needs to be blocked on the client
-+	 * by checking the migrate FID against the FID of the
-+	 * filesystem root.
-+	 */
-+	if (child_inode == parent->i_sb->s_root->d_inode)
-+		GOTO(out_iput, rc = -EINVAL);
-+
 +	inode_lock(child_inode);
  	op_data->op_fid3 = *ll_inode2fid(child_inode);
  	if (!fid_is_sane(&op_data->op_fid3)) {
  		CERROR("%s: migrate %s, but FID "DFID" is insane\n",
-@@ -3099,7 +3107,8 @@ out_close:
+@@ -3224,7 +3224,7 @@ out_close:
  	if (rc == 0)
  		clear_nlink(child_inode);
  out_unlock:
 -	mutex_unlock(&child_inode->i_mutex);
 +	inode_unlock(child_inode);
-+out_iput:
+ out_iput:
  	iput(child_inode);
  out_free:
- 	ll_finish_md_op_data(op_data);
 diff --git a/lustre/llite/llite_internal.h b/lustre/llite/llite_internal.h
-index adbf9d3..94c8045 100644
+index 20956f4..9c9979e 100644
 --- a/lustre/llite/llite_internal.h
 +++ b/lustre/llite/llite_internal.h
-@@ -681,8 +681,6 @@ struct ll_file_data {
+@@ -693,8 +693,6 @@ struct ll_file_data {
  	struct list_head fd_lccs; /* list of ll_cl_context */
  };
  
@@ -228,10 +219,10 @@ index adbf9d3..94c8045 100644
  
  static inline struct inode *ll_info2i(struct ll_inode_info *lli)
 diff --git a/lustre/llite/llite_lib.c b/lustre/llite/llite_lib.c
-index d1050d4..bf80506 100644
+index c488fc2..9a8c69b 100644
 --- a/lustre/llite/llite_lib.c
 +++ b/lustre/llite/llite_lib.c
-@@ -1521,10 +1521,10 @@ static int ll_md_setattr(struct dentry *dentry, struct md_op_data *op_data)
+@@ -1545,10 +1545,10 @@ static int ll_md_setattr(struct dentry *dentry, struct md_op_data *op_data)
  	 * cache is not cleared yet. */
  	op_data->op_attr.ia_valid &= ~(TIMES_SET_FLAGS | ATTR_SIZE);
  	if (S_ISREG(inode->i_mode))
@@ -244,7 +235,7 @@ index d1050d4..bf80506 100644
  	op_data->op_attr.ia_valid = ia_valid;
  
  	rc = ll_update_inode(inode, &md);
-@@ -1613,7 +1613,7 @@ int ll_setattr_raw(struct dentry *dentry, struct iattr *attr, bool hsm_import)
+@@ -1637,7 +1637,7 @@ int ll_setattr_raw(struct dentry *dentry, struct iattr *attr, bool hsm_import)
  	if (S_ISREG(inode->i_mode)) {
  		if (attr->ia_valid & ATTR_SIZE)
  			inode_dio_write_done(inode);
@@ -253,7 +244,7 @@ index d1050d4..bf80506 100644
  	}
  
  	/* We always do an MDS RPC, even if we're only changing the size;
-@@ -1690,7 +1690,7 @@ out:
+@@ -1714,7 +1714,7 @@ out:
  		ll_finish_md_op_data(op_data);
  
  	if (S_ISREG(inode->i_mode)) {
@@ -283,7 +274,7 @@ index 9e19e78..bc238f5 100644
  	if (!rc && !lgd.lgd_found)
  		rc = -ENOENT;
 diff --git a/lustre/llite/lloop.c b/lustre/llite/lloop.c
-index f3b9288..c20df96 100644
+index b8ae0b5..64318ca 100644
 --- a/lustre/llite/lloop.c
 +++ b/lustre/llite/lloop.c
 @@ -277,9 +277,9 @@ static int do_bio_lustrebacked(struct lloop_device *lo, struct bio *head)
@@ -299,10 +290,10 @@ index f3b9288..c20df96 100644
  	return (bytes == pvec->ldp_size) ? 0 : (int)bytes;
  }
 diff --git a/lustre/llite/rw26.c b/lustre/llite/rw26.c
-index b362532..ad692db 100644
+index d9482b2..3f02754 100644
 --- a/lustre/llite/rw26.c
 +++ b/lustre/llite/rw26.c
-@@ -388,7 +388,7 @@ ll_direct_IO(
+@@ -389,7 +389,7 @@ ll_direct_IO(
  	 * 1. Need inode mutex to operate transient pages.
  	 */
  	if (iov_iter_rw(iter) == READ)
@@ -311,7 +302,7 @@ index b362532..ad692db 100644
  
  	while (iov_iter_count(iter)) {
  		struct page **pages;
-@@ -439,7 +439,7 @@ ll_direct_IO(
+@@ -440,7 +440,7 @@ ll_direct_IO(
  	}
  out:
  	if (iov_iter_rw(iter) == READ)
@@ -321,10 +312,10 @@ index b362532..ad692db 100644
  	if (tot_bytes > 0) {
  		struct vvp_io *vio = vvp_env_io(env);
 diff --git a/lustre/llite/vvp_io.c b/lustre/llite/vvp_io.c
-index cbc4997..8dc657b 100644
+index 8a81b83..a48a0b0 100644
 --- a/lustre/llite/vvp_io.c
 +++ b/lustre/llite/vvp_io.c
-@@ -736,7 +736,7 @@ static int vvp_io_setattr_start(const struct lu_env *env,
+@@ -661,7 +661,7 @@ static int vvp_io_setattr_start(const struct lu_env *env,
  	struct inode		*inode = vvp_object_inode(io->ci_obj);
  	struct ll_inode_info	*lli   = ll_i2info(inode);
  
@@ -333,7 +324,7 @@ index cbc4997..8dc657b 100644
  	if (cl_io_is_trunc(io)) {
  		down_write(&lli->lli_trunc_sem);
  		inode_dio_wait(inode);
-@@ -762,7 +762,7 @@ static void vvp_io_setattr_end(const struct lu_env *env,
+@@ -687,7 +687,7 @@ static void vvp_io_setattr_end(const struct lu_env *env,
  		inode_dio_write_done(inode);
  		up_write(&lli->lli_trunc_sem);
  	}

diff --git a/sys-cluster/lustre/files/0005-LU-6215-gss-key-payload.data-is-an-array-in-4.4-kern.patch b/sys-cluster/lustre/files/0005-LU-6215-gss-key-payload.data-is-an-array-in-4.4-kern.patch
deleted file mode 100644
index a21f41b..0000000
--- a/sys-cluster/lustre/files/0005-LU-6215-gss-key-payload.data-is-an-array-in-4.4-kern.patch
+++ /dev/null
@@ -1,229 +0,0 @@
-From fba216ef655a9c13f5bac27d5911da2e6745ea3d Mon Sep 17 00:00:00 2001
-From: Li Dongyang <dongyang.li@anu.edu.au>
-Date: Thu, 21 Apr 2016 10:25:28 -0400
-Subject: [PATCH 05/19] LU-6215 gss: key->payload.data is an array in 4.4+
- kernels
-
-Kernel 4.4 merged the type-specific data with the payload data
-for keys, as a result, payload.data is now an array.
-This patch handles the code change.
-
-Linux-commit: 146aa8b1453bd8f1ff2304ffb71b4ee0eb9acdcc
-
-Signed-off-by: Li Dongyang <dongyang.li@anu.edu.au>
-Signed-off-by: James Simmons <uja.ornl@yahoo.com>
-Change-Id: I1036ab927514f0efa073d9f0136e299be8950461
-Reviewed-on: http://review.whamcloud.com/18731
-Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
-Tested-by: Jenkins
-Tested-by: Maloo <hpdd-maloo@intel.com>
-Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
-Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
----
- lustre/autoconf/lustre-core.m4  | 17 +++++++++++
- lustre/ptlrpc/gss/gss_keyring.c | 67 ++++++++++++++++++++++++++++++++---------
- 2 files changed, 69 insertions(+), 15 deletions(-)
-
-diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4
-index 0201a28..9497cdd 100644
---- a/lustre/autoconf/lustre-core.m4
-+++ b/lustre/autoconf/lustre-core.m4
-@@ -2029,6 +2029,22 @@ make_request_fn_blk_qc_t, [
- ]) # LC_HAVE_QC_MAKE_REQUEST_FN
- 
- #
-+# LC_HAVE_KEY_PAYLOAD_DATA_ARRAY
-+#
-+# 4.4 kernel merged type-specific data with the payload data for keys
-+#
-+AC_DEFUN([LC_HAVE_KEY_PAYLOAD_DATA_ARRAY], [
-+LB_CHECK_COMPILE([if 'struct key' has 'payload.data' as an array],
-+key_payload_data_array, [
-+	#include <linux/key.h>
-+],[
-+	((struct key *)0)->payload.data[0] = NULL;
-+],[
-+	AC_DEFINE(HAVE_KEY_PAYLOAD_DATA_ARRAY, 1, [payload.data is an array])
-+])
-+]) #LC_HAVE_KEY_PAYLOAD_DATA_ARRAY
-+
-+#
- # LC_PROG_LINUX
- #
- # Lustre linux kernel checks
-@@ -2195,6 +2211,7 @@ AC_DEFUN([LC_PROG_LINUX], [
- 	# 4.4
- 	LC_HAVE_LOCKS_LOCK_FILE_WAIT
- 	LC_HAVE_QC_MAKE_REQUEST_FN
-+	LC_HAVE_KEY_PAYLOAD_DATA_ARRAY
- 
- 	#
- 	AS_IF([test "x$enable_server" != xno], [
-diff --git a/lustre/ptlrpc/gss/gss_keyring.c b/lustre/ptlrpc/gss/gss_keyring.c
-index 67188f5..e8fbe50 100644
---- a/lustre/ptlrpc/gss/gss_keyring.c
-+++ b/lustre/ptlrpc/gss/gss_keyring.c
-@@ -348,6 +348,43 @@ static int ctx_unlist_kr(struct ptlrpc_cli_ctx *ctx, int locked)
- }
- 
- /*
-+ * Get specific payload. Newer kernels support 4 slots.
-+ */
-+static void *
-+key_get_payload(struct key *key, unsigned int index)
-+{
-+	void *key_ptr = NULL;
-+
-+#ifdef HAVE_KEY_PAYLOAD_DATA_ARRAY
-+	key_ptr = key->payload.data[index];
-+#else
-+	if (!index)
-+		key_ptr = key->payload.data;
-+#endif
-+	return key_ptr;
-+}
-+
-+/*
-+ * Set specific payload. Newer kernels support 4 slots.
-+ */
-+static int key_set_payload(struct key *key, unsigned int index,
-+			   struct ptlrpc_cli_ctx *ctx)
-+{
-+	int rc = -EINVAL;
-+
-+#ifdef HAVE_KEY_PAYLOAD_DATA_ARRAY
-+	if (index < 4) {
-+		key->payload.data[index] = ctx;
-+#else
-+	if (!index) {
-+		key->payload.data = ctx;
-+#endif
-+		rc = 0;
-+	}
-+	return rc;
-+}
-+
-+/*
-  * bind a key with a ctx together.
-  * caller must hold write lock of the key, as well as ref on key & ctx.
-  */
-@@ -356,13 +393,13 @@ static void bind_key_ctx(struct key *key, struct ptlrpc_cli_ctx *ctx)
- 	LASSERT(atomic_read(&ctx->cc_refcount) > 0);
-         LASSERT(atomic_read(&key->usage) > 0);
- 	LASSERT(ctx2gctx_keyring(ctx)->gck_key == NULL);
--	LASSERT(key->payload.data == NULL);
-+	LASSERT(!key_get_payload(key, 0));
- 
- 	/* at this time context may or may not in list. */
- 	key_get(key);
- 	atomic_inc(&ctx->cc_refcount);
- 	ctx2gctx_keyring(ctx)->gck_key = key;
--	key->payload.data = ctx;
-+	LASSERT(!key_set_payload(key, 0, ctx));
- }
- 
- /*
-@@ -371,13 +408,13 @@ static void bind_key_ctx(struct key *key, struct ptlrpc_cli_ctx *ctx)
-  */
- static void unbind_key_ctx(struct key *key, struct ptlrpc_cli_ctx *ctx)
- {
--        LASSERT(key->payload.data == ctx);
-+	LASSERT(key_get_payload(key, 0) == ctx);
- 	LASSERT(test_bit(PTLRPC_CTX_CACHED_BIT, &ctx->cc_flags) == 0);
- 
-         /* must revoke the key, or others may treat it as newly created */
-         key_revoke_locked(key);
- 
--        key->payload.data = NULL;
-+	key_set_payload(key, 0, NULL);
-         ctx2gctx_keyring(ctx)->gck_key = NULL;
- 
-         /* once ctx get split from key, the timer is meaningless */
-@@ -397,7 +434,7 @@ static void unbind_ctx_kr(struct ptlrpc_cli_ctx *ctx)
-         struct key      *key = ctx2gctx_keyring(ctx)->gck_key;
- 
-         if (key) {
--                LASSERT(key->payload.data == ctx);
-+		LASSERT(key_get_payload(key, 0) == ctx);
- 
-                 key_get(key);
-                 down_write(&key->sem);
-@@ -413,7 +450,7 @@ static void unbind_ctx_kr(struct ptlrpc_cli_ctx *ctx)
-  */
- static void unbind_key_locked(struct key *key)
- {
--        struct ptlrpc_cli_ctx   *ctx = key->payload.data;
-+	struct ptlrpc_cli_ctx *ctx = key_get_payload(key, 0);
- 
-         if (ctx)
-                 unbind_key_ctx(key, ctx);
-@@ -434,7 +471,7 @@ static void kill_ctx_kr(struct ptlrpc_cli_ctx *ctx)
-  */
- static void kill_key_locked(struct key *key)
- {
--        struct ptlrpc_cli_ctx *ctx = key->payload.data;
-+	struct ptlrpc_cli_ctx *ctx = key_get_payload(key, 0);
- 
-         if (ctx && ctx_unlist_kr(ctx, 0))
-                 unbind_key_locked(key);
-@@ -799,9 +836,8 @@ struct ptlrpc_cli_ctx * gss_sec_lookup_ctx_kr(struct ptlrpc_sec *sec,
-          * need wirtelock of key->sem to serialize them. */
-         down_write(&key->sem);
- 
--	if (likely(key->payload.data != NULL)) {
--		ctx = key->payload.data;
--
-+	ctx = key_get_payload(key, 0);
-+	if (likely(ctx)) {
- 		LASSERT(atomic_read(&ctx->cc_refcount) >= 1);
- 		LASSERT(ctx2gctx_keyring(ctx)->gck_key == key);
- 		LASSERT(atomic_read(&key->usage) >= 2);
-@@ -1167,7 +1203,7 @@ int sec_install_rctx_kr(struct ptlrpc_sec *sec,
- 
-         down_write(&key->sem);
- 
--        LASSERT(key->payload.data == NULL);
-+	LASSERT(!key_get_payload(key, 0));
- 
-         cli_ctx = ctx_create_kr(sec, &vcred);
-         if (cli_ctx == NULL) {
-@@ -1251,7 +1287,7 @@ int gss_kt_instantiate(struct key *key, const void *data, size_t datalen)
-                 RETURN(-EINVAL);
-         }
- 
--	if (key->payload.data != NULL) {
-+	if (key_get_payload(key, 0)) {
-                 CERROR("key already have payload\n");
-                 RETURN(-EINVAL);
-         }
-@@ -1278,7 +1314,8 @@ int gss_kt_instantiate(struct key *key, const void *data, size_t datalen)
- 		RETURN(rc);
- 	}
- 
--	CDEBUG(D_SEC, "key %p instantiated, ctx %p\n", key, key->payload.data);
-+	CDEBUG(D_SEC, "key %p instantiated, ctx %p\n", key,
-+	       key_get_payload(key, 0));
- 	RETURN(0);
- }
- 
-@@ -1297,7 +1334,7 @@ int gss_kt_update(struct key *key, const void *data, size_t datalen)
- {
- 	__u32                    datalen32 = (__u32) datalen;
- #endif
--        struct ptlrpc_cli_ctx   *ctx = key->payload.data;
-+	struct ptlrpc_cli_ctx *ctx = key_get_payload(key, 0);
-         struct gss_cli_ctx      *gctx;
-         rawobj_t                 tmpobj = RAWOBJ_EMPTY;
-         int                      rc;
-@@ -1442,7 +1479,7 @@ static
- void gss_kt_destroy(struct key *key)
- {
-         ENTRY;
--        LASSERT(key->payload.data == NULL);
-+	LASSERT(!key_get_payload(key, 0));
-         CDEBUG(D_SEC, "destroy key %p\n", key);
-         EXIT;
- }
--- 
-2.8.2
-

diff --git a/sys-cluster/lustre/files/0017-LU-8056-llite-inode_operations-interface-changed-in-.patch b/sys-cluster/lustre/files/0005-LU-8056-llite-inode_operations-interface-changed-in-.patch
similarity index 92%
rename from sys-cluster/lustre/files/0017-LU-8056-llite-inode_operations-interface-changed-in-.patch
rename to sys-cluster/lustre/files/0005-LU-8056-llite-inode_operations-interface-changed-in-.patch
index 1c574f6..11f2de4 100644
--- a/sys-cluster/lustre/files/0017-LU-8056-llite-inode_operations-interface-changed-in-.patch
+++ b/sys-cluster/lustre/files/0005-LU-8056-llite-inode_operations-interface-changed-in-.patch
@@ -1,8 +1,7 @@
-From 4780e65730a868432c4be7c6ea635496c725fc3a Mon Sep 17 00:00:00 2001
+From 0ec0c36d7a0ec5636e19eece4d5df7615f656c23 Mon Sep 17 00:00:00 2001
 From: Li Dongyang <dongyang.li@anu.edu.au>
 Date: Mon, 16 May 2016 21:57:31 +1000
-Subject: [PATCH 17/19] LU-8056 llite: inode_operations interface changed in
- 4.5
+Subject: [PATCH 5/7] LU-8056 llite: inode_operations interface changed in 4.5
 
 Linux kernel 4.5 replaced follow_link() with get_link()
 while put_link() is removed.
@@ -20,10 +19,10 @@ Change-Id: Ia9b8c9b855ed5ab7a428a370074b8801e34d3f99
  3 files changed, 71 insertions(+), 9 deletions(-)
 
 diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4
-index 622345f..867fa51 100644
+index 5554490..ec18055 100644
 --- a/lustre/autoconf/lustre-core.m4
 +++ b/lustre/autoconf/lustre-core.m4
-@@ -2062,6 +2062,25 @@ inode_lock, [
+@@ -2104,6 +2104,25 @@ inode_lock, [
  ]) # LC_HAVE_INODE_LOCK
  
  #
@@ -49,7 +48,7 @@ index 622345f..867fa51 100644
  # LC_PROG_LINUX
  #
  # Lustre linux kernel checks
-@@ -2232,6 +2251,7 @@ AC_DEFUN([LC_PROG_LINUX], [
+@@ -2278,6 +2297,7 @@ AC_DEFUN([LC_PROG_LINUX], [
  
  	# 4.5
  	LC_HAVE_INODE_LOCK
@@ -58,10 +57,10 @@ index 622345f..867fa51 100644
  	#
  	AS_IF([test "x$enable_server" != xno], [
 diff --git a/lustre/llite/dcache.c b/lustre/llite/dcache.c
-index 4ec4421..d579ba0 100644
+index 8c3db0a..3168ca8 100644
 --- a/lustre/llite/dcache.c
 +++ b/lustre/llite/dcache.c
-@@ -368,7 +368,11 @@ static int ll_revalidate_dentry(struct dentry *dentry,
+@@ -331,7 +331,11 @@ static int ll_revalidate_dentry(struct dentry *dentry,
  		return 1;
  
  	/* Symlink - always valid as long as the dentry was found */

diff --git a/sys-cluster/lustre/files/0006-LU-6215-o2iblnd-rdma_create_id-takes-extra-parameter.patch b/sys-cluster/lustre/files/0006-LU-6215-o2iblnd-rdma_create_id-takes-extra-parameter.patch
deleted file mode 100644
index 3c725cc..0000000
--- a/sys-cluster/lustre/files/0006-LU-6215-o2iblnd-rdma_create_id-takes-extra-parameter.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From 2d1eb63fe95584ae964e854479cabbe3f21783be Mon Sep 17 00:00:00 2001
-From: Li Dongyang <dongyang.li@anu.edu.au>
-Date: Fri, 1 Apr 2016 20:26:46 -0400
-Subject: [PATCH 06/19] LU-6215 o2iblnd: rdma_create_id() takes extra parameter
-
-4.4 kernel added network namespace parameter to rdma_create_id().
-This patch handles the API change.
-
-Linux-commit: fa20105e09e97e81aadf02f722c31195e4a75c84
-
-Signed-off-by: Li Dongyang <dongyang.li@anu.edu.au>
-Change-Id: I3f3792e70e91ac3b3d9fefdd58cc9e7e4d1c25c6
-Reviewed-on: http://review.whamcloud.com/18759
-Reviewed-by: James Simmons <uja.ornl@yahoo.com>
-Tested-by: Jenkins
-Tested-by: Maloo <hpdd-maloo@intel.com>
-Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
-Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
----
- lnet/autoconf/lustre-lnet.m4 | 44 ++++++++++++++++++++++++++++++++++++++++++++
- lnet/klnds/o2iblnd/o2iblnd.h | 13 ++++++++++---
- 2 files changed, 54 insertions(+), 3 deletions(-)
-
-diff --git a/lnet/autoconf/lustre-lnet.m4 b/lnet/autoconf/lustre-lnet.m4
-index 842873d..f7eb217 100644
---- a/lnet/autoconf/lustre-lnet.m4
-+++ b/lnet/autoconf/lustre-lnet.m4
-@@ -379,6 +379,50 @@ AS_IF([test $ENABLEO2IB != "no"], [
- 			[struct ib_cq_init_attr is used by ib_create_cq])
- 	])
- ])
-+
-+# 4.3 removed ib_alloc_fast_reg_mr()
-+AS_IF([test $ENABLEO2IB != "no"], [
-+	LB_CHECK_COMPILE([if 'ib_alloc_fast_reg_mr' exists],
-+	ib_alloc_fast_reg_mr, [
-+		#ifdef HAVE_COMPAT_RDMA
-+		#undef PACKAGE_NAME
-+		#undef PACKAGE_TARNAME
-+		#undef PACKAGE_VERSION
-+		#undef PACKAGE_STRING
-+		#undef PACKAGE_BUGREPORT
-+		#undef PACKAGE_URL
-+		#include <linux/compat-2.6.h>
-+		#endif
-+		#include <rdma/ib_verbs.h>
-+	],[
-+		ib_alloc_fast_reg_mr(NULL, 0);
-+	],[
-+		AC_DEFINE(HAVE_IB_ALLOC_FAST_REG_MR, 1,
-+			[ib_alloc_fast_reg_mr is defined])
-+	])
-+])
-+
-+# 4.4 added network namespace parameter for rdma_create_id()
-+AS_IF([test $ENABLEO2IB != "no"], [
-+	LB_CHECK_COMPILE([if 'rdma_create_id' wants five args],
-+	rdma_create_id_5args, [
-+		#ifdef HAVE_COMPAT_RDMA
-+		#undef PACKAGE_NAME
-+		#undef PACKAGE_TARNAME
-+		#undef PACKAGE_VERSION
-+		#undef PACKAGE_STRING
-+		#undef PACKAGE_BUGREPORT
-+		#undef PACKAGE_URL
-+		#include <linux/compat-2.6.h>
-+		#endif
-+		#include <rdma/rdma_cm.h>
-+	],[
-+		rdma_create_id(NULL, NULL, NULL, 0, 0);
-+	],[
-+		AC_DEFINE(HAVE_RDMA_CREATE_ID_5ARG, 1,
-+			[rdma_create_id wants 5 args])
-+	])
-+])
- ]) # LN_CONFIG_O2IB
- 
- #
-diff --git a/lnet/klnds/o2iblnd/o2iblnd.h b/lnet/klnds/o2iblnd/o2iblnd.h
-index b3d9332..e69cd9f 100644
---- a/lnet/klnds/o2iblnd/o2iblnd.h
-+++ b/lnet/klnds/o2iblnd/o2iblnd.h
-@@ -138,10 +138,17 @@ extern kib_tunables_t  kiblnd_tunables;
-                                      IBLND_CREDIT_HIGHWATER_V1 : \
-                                      *kiblnd_tunables.kib_peercredits_hiw) /* when eagerly to return credits */
- 
--#ifdef HAVE_RDMA_CREATE_ID_4ARG
--#define kiblnd_rdma_create_id(cb, dev, ps, qpt) rdma_create_id(cb, dev, ps, qpt)
-+#ifdef HAVE_RDMA_CREATE_ID_5ARG
-+# define kiblnd_rdma_create_id(cb, dev, ps, qpt) rdma_create_id(current->nsproxy->net_ns, \
-+								cb, dev, \
-+								ps, qpt)
- #else
--#define kiblnd_rdma_create_id(cb, dev, ps, qpt) rdma_create_id(cb, dev, ps)
-+# ifdef HAVE_RDMA_CREATE_ID_4ARG
-+#  define kiblnd_rdma_create_id(cb, dev, ps, qpt) rdma_create_id(cb, dev, \
-+								 ps, qpt)
-+# else
-+#  define kiblnd_rdma_create_id(cb, dev, ps, qpt) rdma_create_id(cb, dev, ps)
-+# endif
- #endif
- 
- static inline int
--- 
-2.8.2
-

diff --git a/sys-cluster/lustre/files/0018-LU-8056-llite-POSIX_ACL_XATTR_-ACCESS-DEFAULT-remove.patch b/sys-cluster/lustre/files/0006-LU-8056-llite-POSIX_ACL_XATTR_-ACCESS-DEFAULT-remove.patch
similarity index 91%
rename from sys-cluster/lustre/files/0018-LU-8056-llite-POSIX_ACL_XATTR_-ACCESS-DEFAULT-remove.patch
rename to sys-cluster/lustre/files/0006-LU-8056-llite-POSIX_ACL_XATTR_-ACCESS-DEFAULT-remove.patch
index 9da787c..a564203 100644
--- a/sys-cluster/lustre/files/0018-LU-8056-llite-POSIX_ACL_XATTR_-ACCESS-DEFAULT-remove.patch
+++ b/sys-cluster/lustre/files/0006-LU-8056-llite-POSIX_ACL_XATTR_-ACCESS-DEFAULT-remove.patch
@@ -1,7 +1,7 @@
-From 9f0940464d87e1111ab665684f9e9a45db6c3787 Mon Sep 17 00:00:00 2001
+From 103a363fa53f691d2bdbb38280e44d1c830c7322 Mon Sep 17 00:00:00 2001
 From: Li Dongyang <dongyang.li@anu.edu.au>
 Date: Mon, 16 May 2016 22:07:54 +1000
-Subject: [PATCH 18/19] LU-8056 llite: POSIX_ACL_XATTR_{ACCESS,DEFAULT} removed
+Subject: [PATCH 6/7] LU-8056 llite: POSIX_ACL_XATTR_{ACCESS,DEFAULT} removed
  in 4.5
 
 POSIX_ACL_XATTR_{ACCESS,DEFAULT} are duplicate

diff --git a/sys-cluster/lustre/files/0007-LU-6215-lnet-split-struct-ib_send_wr.patch b/sys-cluster/lustre/files/0007-LU-6215-lnet-split-struct-ib_send_wr.patch
deleted file mode 100644
index 1520983..0000000
--- a/sys-cluster/lustre/files/0007-LU-6215-lnet-split-struct-ib_send_wr.patch
+++ /dev/null
@@ -1,451 +0,0 @@
-From 6c4eae3aaac92d6d9ef35806fc7badb272702136 Mon Sep 17 00:00:00 2001
-From: Dmitry Eremin <dmitry.eremin@intel.com>
-Date: Tue, 17 May 2016 09:22:15 -0400
-Subject: [PATCH 07/19] LU-6215 lnet: split struct ib_send_wr
-
-In v4.4 Linux kernel split up struct ib_send_wr so that all non-trivial
-verbs use their own structure which embeds struct ib_send_wr.
-
-Linux-commit: e622f2f4ad2142d2a613a57fb85f8cf737935ef5
-Change-Id: Iea2599ea57a576a4c061841be47a989aba097cc6
-Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
-Reviewed-on: http://review.whamcloud.com/19168
-Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
-Reviewed-by: James Simmons <uja.ornl@yahoo.com>
-Reviewed-by: Li Dongyang <dongyang.li@anu.edu.au>
-Tested-by: Jenkins
-Tested-by: Maloo <hpdd-maloo@intel.com>
-Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
----
- lnet/autoconf/lustre-lnet.m4    |  84 ++++++++++++++++++--------
- lnet/klnds/o2iblnd/o2iblnd.c    | 127 +++++++++++++++++++++++++++++++++++++---
- lnet/klnds/o2iblnd/o2iblnd.h    |  21 ++++++-
- lnet/klnds/o2iblnd/o2iblnd_cb.c |  71 ++++++++++++++--------
- 4 files changed, 246 insertions(+), 57 deletions(-)
-
-diff --git a/lnet/autoconf/lustre-lnet.m4 b/lnet/autoconf/lustre-lnet.m4
-index f7eb217..2e2adb2 100644
---- a/lnet/autoconf/lustre-lnet.m4
-+++ b/lnet/autoconf/lustre-lnet.m4
-@@ -329,8 +329,8 @@ AC_SUBST(O2IBLND)
- AC_SUBST(O2IBPATH)
- AC_SUBST(ENABLEO2IB)
- 
--# In RHEL 6.2, rdma_create_id() takes the queue-pair type as a fourth argument
- AS_IF([test $ENABLEO2IB != "no"], [
-+	# In RHEL 6.2, rdma_create_id() takes the queue-pair type as a fourth argument
- 	LB_CHECK_COMPILE([if 'rdma_create_id' wants four args],
- 	rdma_create_id_4args, [
- 		#ifdef HAVE_COMPAT_RDMA
-@@ -349,15 +349,32 @@ AS_IF([test $ENABLEO2IB != "no"], [
- 		AC_DEFINE(HAVE_RDMA_CREATE_ID_4ARG, 1,
- 			[rdma_create_id wants 4 args])
- 	])
--])
--#
--# 4.2 introduced struct ib_cq_init_attr which is used
--# by ib_create_cq(). Note some OFED stacks only keep
--# their headers in sync with latest kernels but not
--# the functionality which means for infiniband testing
--# we need to always test functionality testings.
--#
--AS_IF([test $ENABLEO2IB != "no"], [
-+
-+	# 4.4 added network namespace parameter for rdma_create_id()
-+	LB_CHECK_COMPILE([if 'rdma_create_id' wants five args],
-+	rdma_create_id_5args, [
-+		#ifdef HAVE_COMPAT_RDMA
-+		#undef PACKAGE_NAME
-+		#undef PACKAGE_TARNAME
-+		#undef PACKAGE_VERSION
-+		#undef PACKAGE_STRING
-+		#undef PACKAGE_BUGREPORT
-+		#undef PACKAGE_URL
-+		#include <linux/compat-2.6.h>
-+		#endif
-+		#include <rdma/rdma_cm.h>
-+	],[
-+		rdma_create_id(NULL, NULL, NULL, 0, 0);
-+	],[
-+		AC_DEFINE(HAVE_RDMA_CREATE_ID_5ARG, 1,
-+			[rdma_create_id wants 5 args])
-+	])
-+
-+	# 4.2 introduced struct ib_cq_init_attr which is used
-+	# by ib_create_cq(). Note some OFED stacks only keep
-+	# their headers in sync with latest kernels but not
-+	# the functionality which means for infiniband testing
-+	# we need to always test functionality testings.
- 	LB_CHECK_COMPILE([if 'struct ib_cq_init_attr' is used],
- 	ib_cq_init_attr, [
- 		#ifdef HAVE_COMPAT_RDMA
-@@ -378,10 +395,8 @@ AS_IF([test $ENABLEO2IB != "no"], [
- 		AC_DEFINE(HAVE_IB_CQ_INIT_ATTR, 1,
- 			[struct ib_cq_init_attr is used by ib_create_cq])
- 	])
--])
- 
--# 4.3 removed ib_alloc_fast_reg_mr()
--AS_IF([test $ENABLEO2IB != "no"], [
-+	# 4.3 removed ib_alloc_fast_reg_mr()
- 	LB_CHECK_COMPILE([if 'ib_alloc_fast_reg_mr' exists],
- 	ib_alloc_fast_reg_mr, [
- 		#ifdef HAVE_COMPAT_RDMA
-@@ -400,12 +415,13 @@ AS_IF([test $ENABLEO2IB != "no"], [
- 		AC_DEFINE(HAVE_IB_ALLOC_FAST_REG_MR, 1,
- 			[ib_alloc_fast_reg_mr is defined])
- 	])
--])
- 
--# 4.4 added network namespace parameter for rdma_create_id()
--AS_IF([test $ENABLEO2IB != "no"], [
--	LB_CHECK_COMPILE([if 'rdma_create_id' wants five args],
--	rdma_create_id_5args, [
-+	# In v4.4 Linux kernel,
-+	# commit e622f2f4ad2142d2a613a57fb85f8cf737935ef5
-+	# split up struct ib_send_wr so that all non-trivial verbs
-+	# use their own structure which embedds struct ib_send_wr.
-+	LB_CHECK_COMPILE([if 'struct ib_rdma_wr' is defined],
-+	ib_rdma_wr, [
- 		#ifdef HAVE_COMPAT_RDMA
- 		#undef PACKAGE_NAME
- 		#undef PACKAGE_TARNAME
-@@ -415,14 +431,36 @@ AS_IF([test $ENABLEO2IB != "no"], [
- 		#undef PACKAGE_URL
- 		#include <linux/compat-2.6.h>
- 		#endif
--		#include <rdma/rdma_cm.h>
-+		#include <rdma/ib_verbs.h>
- 	],[
--		rdma_create_id(NULL, NULL, NULL, 0, 0);
-+		struct ib_rdma_wr *wr __attribute__ ((unused));
-+
-+		wr = rdma_wr(NULL);
- 	],[
--		AC_DEFINE(HAVE_RDMA_CREATE_ID_5ARG, 1,
--			[rdma_create_id wants 5 args])
-+		AC_DEFINE(HAVE_IB_RDMA_WR, 1,
-+			[struct ib_rdma_wr is defined])
- 	])
--])
-+
-+	# new fast registration API introduced in 4.4
-+	LB_CHECK_COMPILE([if 'ib_map_mr_sg' exists],
-+	ib_map_mr_sg, [
-+		#ifdef HAVE_COMPAT_RDMA
-+		#undef PACKAGE_NAME
-+		#undef PACKAGE_TARNAME
-+		#undef PACKAGE_VERSION
-+		#undef PACKAGE_STRING
-+		#undef PACKAGE_BUGREPORT
-+		#undef PACKAGE_URL
-+		#include <linux/compat-2.6.h>
-+		#endif
-+		#include <rdma/ib_verbs.h>
-+	],[
-+		ib_map_mr_sg(NULL, NULL, 0, 0);
-+	],[
-+		AC_DEFINE(HAVE_IB_MAP_MR_SG, 1,
-+			[ib_map_mr_sg exists])
-+	])
-+]) # ENABLEO2IB != "no"
- ]) # LN_CONFIG_O2IB
- 
- #
-diff --git a/lnet/klnds/o2iblnd/o2iblnd.c b/lnet/klnds/o2iblnd/o2iblnd.c
-index d9761ee..00c4ce2 100644
---- a/lnet/klnds/o2iblnd/o2iblnd.c
-+++ b/lnet/klnds/o2iblnd/o2iblnd.c
-@@ -1592,13 +1592,126 @@ again:
- 		fpo->fpo_map_count++;
- 		spin_unlock(&fps->fps_lock);
- 
--                pfmr = ib_fmr_pool_map_phys(fpo->fpo_fmr_pool,
--                                            pages, npages, iov);
--                if (likely(!IS_ERR(pfmr))) {
--                        fmr->fmr_pool = fpo;
--                        fmr->fmr_pfmr = pfmr;
--                        return 0;
--                }
-+		if (fpo->fpo_is_fmr) {
-+			struct ib_pool_fmr *pfmr;
-+
-+			spin_unlock(&fps->fps_lock);
-+
-+			if (!tx_pages_mapped) {
-+				npages = kiblnd_map_tx_pages(tx, rd);
-+				tx_pages_mapped = 1;
-+			}
-+
-+			pfmr = ib_fmr_pool_map_phys(fpo->fmr.fpo_fmr_pool,
-+						    pages, npages, iov);
-+			if (likely(!IS_ERR(pfmr))) {
-+				fmr->fmr_key  = is_rx ? pfmr->fmr->rkey
-+						      : pfmr->fmr->lkey;
-+				fmr->fmr_frd  = NULL;
-+				fmr->fmr_pfmr = pfmr;
-+				fmr->fmr_pool = fpo;
-+				return 0;
-+			}
-+			rc = PTR_ERR(pfmr);
-+		} else {
-+			if (!list_empty(&fpo->fast_reg.fpo_pool_list)) {
-+				struct kib_fast_reg_descriptor *frd;
-+#ifdef HAVE_IB_MAP_MR_SG
-+				struct ib_reg_wr *wr;
-+				int n;
-+#else
-+				struct ib_rdma_wr *wr;
-+				struct ib_fast_reg_page_list *frpl;
-+#endif
-+				struct ib_mr *mr;
-+
-+				frd = list_first_entry(&fpo->fast_reg.fpo_pool_list,
-+							struct kib_fast_reg_descriptor,
-+							frd_list);
-+				list_del(&frd->frd_list);
-+				spin_unlock(&fps->fps_lock);
-+
-+#ifndef HAVE_IB_MAP_MR_SG
-+				frpl = frd->frd_frpl;
-+#endif
-+				mr   = frd->frd_mr;
-+
-+				if (!frd->frd_valid) {
-+					struct ib_rdma_wr *inv_wr;
-+					__u32 key = is_rx ? mr->rkey : mr->lkey;
-+
-+					inv_wr = &frd->frd_inv_wr;
-+					memset(inv_wr, 0, sizeof(*inv_wr));
-+
-+					inv_wr->wr.opcode = IB_WR_LOCAL_INV;
-+					inv_wr->wr.wr_id  = IBLND_WID_MR;
-+					inv_wr->wr.ex.invalidate_rkey = key;
-+
-+					/* Bump the key */
-+					key = ib_inc_rkey(key);
-+					ib_update_fast_reg_key(mr, key);
-+				}
-+
-+#ifdef HAVE_IB_MAP_MR_SG
-+				n = ib_map_mr_sg(mr, tx->tx_frags,
-+						 tx->tx_nfrags, PAGE_SIZE);
-+				if (unlikely(n != tx->tx_nfrags)) {
-+					CERROR("Failed to map mr %d/%d "
-+					       "elements\n", n, tx->tx_nfrags);
-+					return n < 0 ? n : -EINVAL;
-+				}
-+
-+				mr->iova = iov;
-+
-+				wr = &frd->frd_fastreg_wr;
-+				memset(wr, 0, sizeof(*wr));
-+
-+				wr->wr.opcode = IB_WR_REG_MR;
-+				wr->wr.wr_id  = IBLND_WID_MR;
-+				wr->wr.num_sge = 0;
-+				wr->wr.send_flags = 0;
-+				wr->mr = mr;
-+				wr->key = is_rx ? mr->rkey : mr->lkey;
-+				wr->access = (IB_ACCESS_LOCAL_WRITE |
-+					      IB_ACCESS_REMOTE_WRITE);
-+#else
-+				if (!tx_pages_mapped) {
-+					npages = kiblnd_map_tx_pages(tx, rd);
-+					tx_pages_mapped = 1;
-+				}
-+
-+				LASSERT(npages <= frpl->max_page_list_len);
-+				memcpy(frpl->page_list, pages,
-+					sizeof(*pages) * npages);
-+
-+				/* Prepare FastReg WR */
-+				wr = &frd->frd_fastreg_wr;
-+				memset(wr, 0, sizeof(*wr));
-+
-+				wr->wr.opcode = IB_WR_FAST_REG_MR;
-+				wr->wr.wr_id  = IBLND_WID_MR;
-+
-+				wr->wr.wr.fast_reg.iova_start = iov;
-+				wr->wr.wr.fast_reg.page_list  = frpl;
-+				wr->wr.wr.fast_reg.page_list_len = npages;
-+				wr->wr.wr.fast_reg.page_shift = PAGE_SHIFT;
-+				wr->wr.wr.fast_reg.length = nob;
-+				wr->wr.wr.fast_reg.rkey =
-+						is_rx ? mr->rkey : mr->lkey;
-+				wr->wr.wr.fast_reg.access_flags =
-+						(IB_ACCESS_LOCAL_WRITE |
-+						 IB_ACCESS_REMOTE_WRITE);
-+#endif
-+
-+				fmr->fmr_key  = is_rx ? mr->rkey : mr->lkey;
-+				fmr->fmr_frd  = frd;
-+				fmr->fmr_pfmr = NULL;
-+				fmr->fmr_pool = fpo;
-+				return 0;
-+			}
-+			spin_unlock(&fps->fps_lock);
-+			rc = -EBUSY;
-+		}
- 
- 		spin_lock(&fps->fps_lock);
- 		fpo->fpo_map_count--;
-diff --git a/lnet/klnds/o2iblnd/o2iblnd.h b/lnet/klnds/o2iblnd/o2iblnd.h
-index e69cd9f..3baa255 100644
---- a/lnet/klnds/o2iblnd/o2iblnd.h
-+++ b/lnet/klnds/o2iblnd/o2iblnd.h
-@@ -344,6 +344,25 @@ typedef struct
- 	cfs_time_t		fps_next_retry;
- } kib_fmr_poolset_t;
- 
-+#ifndef HAVE_IB_RDMA_WR
-+struct ib_rdma_wr {
-+	struct ib_send_wr wr;
-+};
-+#endif
-+
-+struct kib_fast_reg_descriptor { /* For fast registration */
-+	struct list_head		 frd_list;
-+	struct ib_rdma_wr		 frd_inv_wr;
-+#ifdef HAVE_IB_MAP_MR_SG
-+	struct ib_reg_wr		 frd_fastreg_wr;
-+#else
-+	struct ib_rdma_wr		 frd_fastreg_wr;
-+	struct ib_fast_reg_page_list    *frd_frpl;
-+#endif
-+	struct ib_mr			*frd_mr;
-+	bool				 frd_valid;
-+};
-+
- typedef struct
- {
- 	struct list_head	fpo_list;	/* chain on pool list */
-@@ -620,7 +639,7 @@ typedef struct kib_tx                           /* transmit message */
- 	/* # send work items */
- 	int			tx_nwrq;
- 	/* send work items... */
--	struct ib_send_wr	*tx_wrq;
-+	struct ib_rdma_wr	*tx_wrq;
- 	/* ...and their memory */
- 	struct ib_sge		*tx_sge;
- 	/* rdma descriptor */
-diff --git a/lnet/klnds/o2iblnd/o2iblnd_cb.c b/lnet/klnds/o2iblnd/o2iblnd_cb.c
-index 6887c07..d25e45a 100644
---- a/lnet/klnds/o2iblnd/o2iblnd_cb.c
-+++ b/lnet/klnds/o2iblnd/o2iblnd_cb.c
-@@ -847,14 +847,27 @@ __must_hold(&conn->ibc_lock)
-                 /* close_conn will launch failover */
-                 rc = -ENETDOWN;
-         } else {
--		struct ib_send_wr *wrq = &tx->tx_wrq[tx->tx_nwrq - 1];
-+		struct kib_fast_reg_descriptor *frd = tx->fmr.fmr_frd;
-+		struct ib_send_wr *bad = &tx->tx_wrq[tx->tx_nwrq - 1].wr;
-+		struct ib_send_wr *wr  = &tx->tx_wrq[0].wr;
-+
-+		if (frd != NULL) {
-+			if (!frd->frd_valid) {
-+				wr = &frd->frd_inv_wr.wr;
-+				wr->next = &frd->frd_fastreg_wr.wr;
-+			} else {
-+				wr = &frd->frd_fastreg_wr.wr;
-+			}
-+			frd->frd_fastreg_wr.wr.next = &tx->tx_wrq[0].wr;
-+		}
- 
- 		LASSERTF(wrq->wr_id == kiblnd_ptr2wreqid(tx, IBLND_WID_TX),
- 			 "bad wr_id "LPX64", opc %d, flags %d, peer: %s\n",
- 			 wrq->wr_id, wrq->opcode, wrq->send_flags,
- 			 libcfs_nid2str(conn->ibc_peer->ibp_nid));
--		wrq = NULL;
--		rc = ib_post_send(conn->ibc_cmid->qp, tx->tx_wrq, &wrq);
-+
-+		bad = NULL;
-+		rc = ib_post_send(conn->ibc_cmid->qp, wr, &bad);
- 	}
- 
-         conn->ibc_last_send = jiffies;
-@@ -1023,11 +1036,11 @@ kiblnd_tx_complete (kib_tx_t *tx, int status)
- static void
- kiblnd_init_tx_msg (lnet_ni_t *ni, kib_tx_t *tx, int type, int body_nob)
- {
--        kib_hca_dev_t     *hdev = tx->tx_pool->tpo_hdev;
--        struct ib_sge     *sge = &tx->tx_sge[tx->tx_nwrq];
--        struct ib_send_wr *wrq = &tx->tx_wrq[tx->tx_nwrq];
--        int                nob = offsetof (kib_msg_t, ibm_u) + body_nob;
--	struct ib_mr      *mr = hdev->ibh_mrs;
-+	kib_hca_dev_t *hdev = tx->tx_pool->tpo_hdev;
-+	struct ib_sge *sge = &tx->tx_sge[tx->tx_nwrq];
-+	struct ib_rdma_wr *wrq;
-+	int nob = offsetof(kib_msg_t, ibm_u) + body_nob;
-+	struct ib_mr *mr = hdev->ibh_mrs;
- 
- 	LASSERT(tx->tx_nwrq >= 0);
- 	LASSERT(tx->tx_nwrq < IBLND_MAX_RDMA_FRAGS + 1);
-@@ -1040,16 +1053,17 @@ kiblnd_init_tx_msg (lnet_ni_t *ni, kib_tx_t *tx, int type, int body_nob)
-         sge->addr   = tx->tx_msgaddr;
-         sge->length = nob;
- 
--        memset(wrq, 0, sizeof(*wrq));
-+	wrq = &tx->tx_wrq[tx->tx_nwrq];
-+	memset(wrq, 0, sizeof(*wrq));
- 
--        wrq->next       = NULL;
--        wrq->wr_id      = kiblnd_ptr2wreqid(tx, IBLND_WID_TX);
--        wrq->sg_list    = sge;
--        wrq->num_sge    = 1;
--        wrq->opcode     = IB_WR_SEND;
--        wrq->send_flags = IB_SEND_SIGNALED;
-+	wrq->wr.next		= NULL;
-+	wrq->wr.wr_id		= kiblnd_ptr2wreqid(tx, IBLND_WID_TX);
-+	wrq->wr.sg_list		= sge;
-+	wrq->wr.num_sge		= 1;
-+	wrq->wr.opcode		= IB_WR_SEND;
-+	wrq->wr.send_flags	= IB_SEND_SIGNALED;
- 
--        tx->tx_nwrq++;
-+	tx->tx_nwrq++;
- }
- 
- static int
-@@ -1059,7 +1073,7 @@ kiblnd_init_rdma(kib_conn_t *conn, kib_tx_t *tx, int type,
- 	kib_msg_t         *ibmsg = tx->tx_msg;
- 	kib_rdma_desc_t   *srcrd = tx->tx_rd;
- 	struct ib_sge     *sge = &tx->tx_sge[0];
--	struct ib_send_wr *wrq = &tx->tx_wrq[0];
-+	struct ib_rdma_wr *wrq;
- 	int                rc  = resid;
- 	int                srcidx;
- 	int                dstidx;
-@@ -1106,15 +1120,20 @@ kiblnd_init_rdma(kib_conn_t *conn, kib_tx_t *tx, int type,
- 
-                 wrq = &tx->tx_wrq[tx->tx_nwrq];
- 
--                wrq->next       = wrq + 1;
--                wrq->wr_id      = kiblnd_ptr2wreqid(tx, IBLND_WID_RDMA);
--                wrq->sg_list    = sge;
--                wrq->num_sge    = 1;
--                wrq->opcode     = IB_WR_RDMA_WRITE;
--                wrq->send_flags = 0;
--
--                wrq->wr.rdma.remote_addr = kiblnd_rd_frag_addr(dstrd, dstidx);
--                wrq->wr.rdma.rkey        = kiblnd_rd_frag_key(dstrd, dstidx);
-+		wrq->wr.next		= &(wrq + 1)->wr;
-+		wrq->wr.wr_id		= kiblnd_ptr2wreqid(tx, IBLND_WID_RDMA);
-+		wrq->wr.sg_list		= sge;
-+		wrq->wr.num_sge		= 1;
-+		wrq->wr.opcode		= IB_WR_RDMA_WRITE;
-+		wrq->wr.send_flags	= 0;
-+
-+#ifdef HAVE_IB_RDMA_WR
-+		wrq->remote_addr	= kiblnd_rd_frag_addr(dstrd, dstidx);
-+		wrq->rkey		= kiblnd_rd_frag_key(dstrd, dstidx);
-+#else
-+		wrq->wr.wr.rdma.remote_addr = kiblnd_rd_frag_addr(dstrd, dstidx);
-+		wrq->wr.wr.rdma.rkey	= kiblnd_rd_frag_key(dstrd, dstidx);
-+#endif
- 
-                 srcidx = kiblnd_rd_consume_frag(srcrd, srcidx, wrknob);
-                 dstidx = kiblnd_rd_consume_frag(dstrd, dstidx, wrknob);
--- 
-2.8.2
-

diff --git a/sys-cluster/lustre/files/0019-LU-8056-lloop-fix-bio_for_each_segment_all-for-newer.patch b/sys-cluster/lustre/files/0007-LU-8056-lloop-fix-bio_for_each_segment_all-for-newer.patch
similarity index 77%
rename from sys-cluster/lustre/files/0019-LU-8056-lloop-fix-bio_for_each_segment_all-for-newer.patch
rename to sys-cluster/lustre/files/0007-LU-8056-lloop-fix-bio_for_each_segment_all-for-newer.patch
index a613540..656f7f6 100644
--- a/sys-cluster/lustre/files/0019-LU-8056-lloop-fix-bio_for_each_segment_all-for-newer.patch
+++ b/sys-cluster/lustre/files/0007-LU-8056-lloop-fix-bio_for_each_segment_all-for-newer.patch
@@ -1,7 +1,7 @@
-From 6f44b5a0d02e5a805c5be265d5b92ab69ef9a421 Mon Sep 17 00:00:00 2001
+From 028c4416216af21dcae53f7daa4f549d0c2bad4f Mon Sep 17 00:00:00 2001
 From: James Simmons <uja.ornl@yahoo.com>
 Date: Fri, 3 Jun 2016 14:09:54 -0400
-Subject: [PATCH 19/19] LU-8056 lloop: fix bio_for_each_segment_all for newer
+Subject: [PATCH 7/7] LU-8056 lloop: fix bio_for_each_segment_all for newer
  kernels
 
 Lustre patch http://review.whamcloud.com/20478 back ported
@@ -12,11 +12,11 @@ work with newer kernels.
 Change-Id: I6a926320f80113169a13d2319190721c83d58b1d
 Signed-off-by: James Simmons <uja.ornl@yahoo.com>
 ---
- lustre/llite/lloop.c | 17 ++---------------
- 1 file changed, 2 insertions(+), 15 deletions(-)
+ lustre/llite/lloop.c | 15 +--------------
+ 1 file changed, 1 insertion(+), 14 deletions(-)
 
 diff --git a/lustre/llite/lloop.c b/lustre/llite/lloop.c
-index c20df96..834d068 100644
+index 64318ca..64da8c2 100644
 --- a/lustre/llite/lloop.c
 +++ b/lustre/llite/lloop.c
 @@ -193,13 +193,8 @@ static int do_bio_lustrebacked(struct lloop_device *lo, struct bio *head)
@@ -33,11 +33,11 @@ index c20df96..834d068 100644
          int                   rw;
  	size_t		      page_count = 0;
          struct bio           *bio;
-@@ -226,17 +221,10 @@ static int do_bio_lustrebacked(struct lloop_device *lo, struct bio *head)
+@@ -226,16 +221,9 @@ static int do_bio_lustrebacked(struct lloop_device *lo, struct bio *head)
  
  #ifdef HAVE_BVEC_ITER
  		offset = (pgoff_t)(bio->bi_iter.bi_sector << 9) + lo->lo_offset;
--		bio_for_each_segment(bvec, bio, iter) {
+-		bio_for_each_segment_all(bvec, bio, iter) {
 -			BUG_ON(bvec.bv_offset != 0);
 -			BUG_ON(bvec.bv_len != PAGE_CACHE_SIZE);
 -
@@ -47,12 +47,10 @@ index c20df96..834d068 100644
 -			offset += bvec.bv_len;
  #else
  		offset = (pgoff_t)(bio->bi_sector << 9) + lo->lo_offset;
--		bio_for_each_segment(bvec, bio, iter) {
 +#endif
-+		bio_for_each_segment_all(bvec, bio, iter) {
+ 		bio_for_each_segment_all(bvec, bio, iter) {
  			BUG_ON(bvec->bv_offset != 0);
  			BUG_ON(bvec->bv_len != PAGE_CACHE_SIZE);
- 
 @@ -244,7 +232,6 @@ static int do_bio_lustrebacked(struct lloop_device *lo, struct bio *head)
  			offsets[page_count] = offset;
  			page_count++;

diff --git a/sys-cluster/lustre/files/0008-LU-6215-o2iblnd-ib_alloc_fast_reg_mr-removed-in-4.3.patch b/sys-cluster/lustre/files/0008-LU-6215-o2iblnd-ib_alloc_fast_reg_mr-removed-in-4.3.patch
deleted file mode 100644
index 993f3b9..0000000
--- a/sys-cluster/lustre/files/0008-LU-6215-o2iblnd-ib_alloc_fast_reg_mr-removed-in-4.3.patch
+++ /dev/null
@@ -1,199 +0,0 @@
-From 12fe2bd8fb80b71bcbc6526f916e6225c12610ee Mon Sep 17 00:00:00 2001
-From: Li Dongyang <dongyang.li@anu.edu.au>
-Date: Tue, 29 Mar 2016 14:57:57 +1100
-Subject: [PATCH 08/19] LU-6215 o2iblnd: ib_alloc_fast_reg_mr() removed in 4.3
-
-ib_alloc_fast_reg_mr() is replaced by a more generic
-ib_alloc_mr() since kernel 4.3
-
-Linux-commit: d9f272c523db47a56a64942eb6f25361c400de66
-
-Signed-off-by: Li Dongyang <dongyang.li@anu.edu.au>
-Change-Id: I53f4e7c395c83d731aaa342f308f878b07b54d61
-Reviewed-on: http://review.whamcloud.com/19185
-Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
-Tested-by: Jenkins
-Tested-by: Maloo <hpdd-maloo@intel.com>
-Reviewed-by: James Simmons <uja.ornl@yahoo.com>
-Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
----
- lnet/autoconf/lustre-lnet.m4 | 51 ++----------------------
- lnet/klnds/o2iblnd/o2iblnd.c | 92 +++++++++++++++++++++++++++++++++++++++++++-
- 2 files changed, 95 insertions(+), 48 deletions(-)
-
-diff --git a/lnet/autoconf/lustre-lnet.m4 b/lnet/autoconf/lustre-lnet.m4
-index 2e2adb2..a1498aa 100644
---- a/lnet/autoconf/lustre-lnet.m4
-+++ b/lnet/autoconf/lustre-lnet.m4
-@@ -395,8 +395,10 @@ AS_IF([test $ENABLEO2IB != "no"], [
- 		AC_DEFINE(HAVE_IB_CQ_INIT_ATTR, 1,
- 			[struct ib_cq_init_attr is used by ib_create_cq])
- 	])
-+])
- 
--	# 4.3 removed ib_alloc_fast_reg_mr()
-+# 4.3 removed ib_alloc_fast_reg_mr()
-+AS_IF([test $ENABLEO2IB != "no"], [
- 	LB_CHECK_COMPILE([if 'ib_alloc_fast_reg_mr' exists],
- 	ib_alloc_fast_reg_mr, [
- 		#ifdef HAVE_COMPAT_RDMA
-@@ -415,52 +417,7 @@ AS_IF([test $ENABLEO2IB != "no"], [
- 		AC_DEFINE(HAVE_IB_ALLOC_FAST_REG_MR, 1,
- 			[ib_alloc_fast_reg_mr is defined])
- 	])
--
--	# In v4.4 Linux kernel,
--	# commit e622f2f4ad2142d2a613a57fb85f8cf737935ef5
--	# split up struct ib_send_wr so that all non-trivial verbs
--	# use their own structure which embedds struct ib_send_wr.
--	LB_CHECK_COMPILE([if 'struct ib_rdma_wr' is defined],
--	ib_rdma_wr, [
--		#ifdef HAVE_COMPAT_RDMA
--		#undef PACKAGE_NAME
--		#undef PACKAGE_TARNAME
--		#undef PACKAGE_VERSION
--		#undef PACKAGE_STRING
--		#undef PACKAGE_BUGREPORT
--		#undef PACKAGE_URL
--		#include <linux/compat-2.6.h>
--		#endif
--		#include <rdma/ib_verbs.h>
--	],[
--		struct ib_rdma_wr *wr __attribute__ ((unused));
--
--		wr = rdma_wr(NULL);
--	],[
--		AC_DEFINE(HAVE_IB_RDMA_WR, 1,
--			[struct ib_rdma_wr is defined])
--	])
--
--	# new fast registration API introduced in 4.4
--	LB_CHECK_COMPILE([if 'ib_map_mr_sg' exists],
--	ib_map_mr_sg, [
--		#ifdef HAVE_COMPAT_RDMA
--		#undef PACKAGE_NAME
--		#undef PACKAGE_TARNAME
--		#undef PACKAGE_VERSION
--		#undef PACKAGE_STRING
--		#undef PACKAGE_BUGREPORT
--		#undef PACKAGE_URL
--		#include <linux/compat-2.6.h>
--		#endif
--		#include <rdma/ib_verbs.h>
--	],[
--		ib_map_mr_sg(NULL, NULL, 0, 0);
--	],[
--		AC_DEFINE(HAVE_IB_MAP_MR_SG, 1,
--			[ib_map_mr_sg exists])
--	])
--]) # ENABLEO2IB != "no"
-+])
- ]) # LN_CONFIG_O2IB
- 
- #
-diff --git a/lnet/klnds/o2iblnd/o2iblnd.c b/lnet/klnds/o2iblnd/o2iblnd.c
-index 00c4ce2..57f51ca 100644
---- a/lnet/klnds/o2iblnd/o2iblnd.c
-+++ b/lnet/klnds/o2iblnd/o2iblnd.c
-@@ -1444,7 +1444,97 @@ kiblnd_create_fmr_pool(kib_fmr_poolset_t *fps, kib_fmr_pool_t **pp_fpo)
- 		.dirty_watermark   = fps->fps_flush_trigger,
- 		.flush_function    = NULL,
- 		.flush_arg         = NULL,
--		.cache             = !!*kiblnd_tunables.kib_fmr_cache};
-+		.cache             = !!fps->fps_cache };
-+	int rc = 0;
-+
-+	fpo->fmr.fpo_fmr_pool = ib_create_fmr_pool(fpo->fpo_hdev->ibh_pd,
-+						   &param);
-+	if (IS_ERR(fpo->fmr.fpo_fmr_pool)) {
-+		rc = PTR_ERR(fpo->fmr.fpo_fmr_pool);
-+		if (rc != -ENOSYS)
-+			CERROR("Failed to create FMR pool: %d\n", rc);
-+		else
-+			CERROR("FMRs are not supported\n");
-+	}
-+
-+	return rc;
-+}
-+
-+static int kiblnd_alloc_freg_pool(kib_fmr_poolset_t *fps, kib_fmr_pool_t *fpo)
-+{
-+	struct kib_fast_reg_descriptor *frd, *tmp;
-+	int i, rc;
-+
-+	INIT_LIST_HEAD(&fpo->fast_reg.fpo_pool_list);
-+	fpo->fast_reg.fpo_pool_size = 0;
-+	for (i = 0; i < fps->fps_pool_size; i++) {
-+		LIBCFS_CPT_ALLOC(frd, lnet_cpt_table(), fps->fps_cpt,
-+				 sizeof(*frd));
-+		if (!frd) {
-+			CERROR("Failed to allocate a new fast_reg descriptor\n");
-+			rc = -ENOMEM;
-+			goto out;
-+		}
-+		frd->frd_mr = NULL;
-+
-+		frd->frd_frpl = ib_alloc_fast_reg_page_list(fpo->fpo_hdev->ibh_ibdev,
-+							    LNET_MAX_PAYLOAD/PAGE_SIZE);
-+		if (IS_ERR(frd->frd_frpl)) {
-+			rc = PTR_ERR(frd->frd_frpl);
-+			CERROR("Failed to allocate ib_fast_reg_page_list: %d\n",
-+				rc);
-+			frd->frd_frpl = NULL;
-+			goto out_middle;
-+		}
-+
-+#ifdef HAVE_IB_ALLOC_FAST_REG_MR
-+		frd->frd_mr = ib_alloc_fast_reg_mr(fpo->fpo_hdev->ibh_pd,
-+						   LNET_MAX_PAYLOAD/PAGE_SIZE);
-+#else
-+		frd->frd_mr = ib_alloc_mr(fpo->fpo_hdev->ibh_pd,
-+					  IB_MR_TYPE_MEM_REG,
-+					  LNET_MAX_PAYLOAD/PAGE_SIZE);
-+#endif
-+		if (IS_ERR(frd->frd_mr)) {
-+			rc = PTR_ERR(frd->frd_mr);
-+			CERROR("Failed to allocate ib_fast_reg_mr: %d\n", rc);
-+			frd->frd_mr = NULL;
-+			goto out_middle;
-+		}
-+
-+		frd->frd_valid = true;
-+
-+		list_add_tail(&frd->frd_list, &fpo->fast_reg.fpo_pool_list);
-+		fpo->fast_reg.fpo_pool_size++;
-+	}
-+
-+	return 0;
-+
-+out_middle:
-+	if (frd->frd_mr)
-+		ib_dereg_mr(frd->frd_mr);
-+	if (frd->frd_frpl)
-+		ib_free_fast_reg_page_list(frd->frd_frpl);
-+	LIBCFS_FREE(frd, sizeof(*frd));
-+
-+out:
-+	list_for_each_entry_safe(frd, tmp, &fpo->fast_reg.fpo_pool_list,
-+				 frd_list) {
-+		list_del(&frd->frd_list);
-+		ib_free_fast_reg_page_list(frd->frd_frpl);
-+		ib_dereg_mr(frd->frd_mr);
-+		LIBCFS_FREE(frd, sizeof(*frd));
-+	}
-+
-+	return rc;
-+}
-+
-+static int
-+kiblnd_create_fmr_pool(kib_fmr_poolset_t *fps, kib_fmr_pool_t **pp_fpo)
-+{
-+	struct ib_device_attr *dev_attr;
-+	kib_dev_t *dev = fps->fps_net->ibn_dev;
-+	kib_fmr_pool_t *fpo;
- 	int rc;
- 
- 	LIBCFS_CPT_ALLOC(fpo, lnet_cpt_table(), fps->fps_cpt, sizeof(*fpo));
--- 
-2.8.2
-

diff --git a/sys-cluster/lustre/files/0009-LU-6215-o2iblnd-port-to-new-fast-reg-API-introduced-.patch b/sys-cluster/lustre/files/0009-LU-6215-o2iblnd-port-to-new-fast-reg-API-introduced-.patch
deleted file mode 100644
index b2df9e8..0000000
--- a/sys-cluster/lustre/files/0009-LU-6215-o2iblnd-port-to-new-fast-reg-API-introduced-.patch
+++ /dev/null
@@ -1,332 +0,0 @@
-From f1b1ef4f8af7751e1fc73b8f4ad2363b48159fa9 Mon Sep 17 00:00:00 2001
-From: Li Dongyang <dongyang.li@anu.edu.au>
-Date: Wed, 4 May 2016 13:11:15 -0400
-Subject: [PATCH 09/19] LU-6215 o2iblnd: port to new fast reg API introduced in
- 4.4
-
-Remove the allocation of fastreg page list, as the page
-vector is now private to the provider. Just pass tx_frags
-to ib_map_mr_sg() and construct ib_reg_wr.
-Defer the conversion of tx_frags to tx_pages and only do
-it when the new API is not available.
-
-Linux-commit: 4c67e2bfc8b7121d51434362fa7c2d012f8bcf1b
-Linux-commit: 39bfc271bd687be2c8e396e976c0fb9a97963400
-
-Signed-off-by: Li Dongyang <dongyang.li@anu.edu.au>
-Change-Id: I5c62b0370ad6ddcc93102a29343491968e4446d0
-Reviewed-on: http://review.whamcloud.com/19186
-Tested-by: Jenkins
-Reviewed-by: James Simmons <uja.ornl@yahoo.com>
-Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
-Tested-by: Maloo <hpdd-maloo@intel.com>
-Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
----
- lnet/autoconf/lustre-lnet.m4    | 44 +++++++++++++++++++++++++
- lnet/klnds/o2iblnd/o2iblnd.c    | 71 ++++++++++++++++++++++++++++++++++-------
- lnet/klnds/o2iblnd/o2iblnd.h    | 11 ++++---
- lnet/klnds/o2iblnd/o2iblnd_cb.c | 39 ++++++++++------------
- 4 files changed, 127 insertions(+), 38 deletions(-)
-
-diff --git a/lnet/autoconf/lustre-lnet.m4 b/lnet/autoconf/lustre-lnet.m4
-index a1498aa..5f90bca 100644
---- a/lnet/autoconf/lustre-lnet.m4
-+++ b/lnet/autoconf/lustre-lnet.m4
-@@ -418,6 +418,50 @@ AS_IF([test $ENABLEO2IB != "no"], [
- 			[ib_alloc_fast_reg_mr is defined])
- 	])
- ])
-+
-+# 4.4 added network namespace parameter for rdma_create_id()
-+AS_IF([test $ENABLEO2IB != "no"], [
-+	LB_CHECK_COMPILE([if 'rdma_create_id' wants five args],
-+	rdma_create_id_5args, [
-+		#ifdef HAVE_COMPAT_RDMA
-+		#undef PACKAGE_NAME
-+		#undef PACKAGE_TARNAME
-+		#undef PACKAGE_VERSION
-+		#undef PACKAGE_STRING
-+		#undef PACKAGE_BUGREPORT
-+		#undef PACKAGE_URL
-+		#include <linux/compat-2.6.h>
-+		#endif
-+		#include <rdma/rdma_cm.h>
-+	],[
-+		rdma_create_id(NULL, NULL, NULL, 0, 0);
-+	],[
-+		AC_DEFINE(HAVE_RDMA_CREATE_ID_5ARG, 1,
-+			[rdma_create_id wants 5 args])
-+	])
-+])
-+
-+# new fast registration API introduced in 4.4
-+AS_IF([test $ENABLEO2IB != "no"], [
-+	LB_CHECK_COMPILE([if 'ib_map_mr_sg' exists],
-+	ib_map_mr_sg, [
-+		#ifdef HAVE_COMPAT_RDMA
-+		#undef PACKAGE_NAME
-+		#undef PACKAGE_TARNAME
-+		#undef PACKAGE_VERSION
-+		#undef PACKAGE_STRING
-+		#undef PACKAGE_BUGREPORT
-+		#undef PACKAGE_URL
-+		#include <linux/compat-2.6.h>
-+		#endif
-+		#include <rdma/ib_verbs.h>
-+	],[
-+		ib_map_mr_sg(NULL, NULL, 0, 0);
-+	],[
-+		AC_DEFINE(HAVE_IB_MAP_MR_SG, 1,
-+			[ib_map_mr_sg exists])
-+	])
-+])
- ]) # LN_CONFIG_O2IB
- 
- #
-diff --git a/lnet/klnds/o2iblnd/o2iblnd.c b/lnet/klnds/o2iblnd/o2iblnd.c
-index 57f51ca..1262268 100644
---- a/lnet/klnds/o2iblnd/o2iblnd.c
-+++ b/lnet/klnds/o2iblnd/o2iblnd.c
-@@ -1394,8 +1394,27 @@ kiblnd_destroy_fmr_pool(kib_fmr_pool_t *pool)
- {
-         LASSERT (pool->fpo_map_count == 0);
- 
--        if (pool->fpo_fmr_pool != NULL)
--                ib_destroy_fmr_pool(pool->fpo_fmr_pool);
-+	if (fpo->fpo_is_fmr) {
-+		if (fpo->fmr.fpo_fmr_pool)
-+			ib_destroy_fmr_pool(fpo->fmr.fpo_fmr_pool);
-+	} else {
-+		struct kib_fast_reg_descriptor *frd, *tmp;
-+		int i = 0;
-+
-+		list_for_each_entry_safe(frd, tmp, &fpo->fast_reg.fpo_pool_list,
-+					 frd_list) {
-+			list_del(&frd->frd_list);
-+#ifndef HAVE_IB_MAP_MR_SG
-+			ib_free_fast_reg_page_list(frd->frd_frpl);
-+#endif
-+			ib_dereg_mr(frd->frd_mr);
-+			LIBCFS_FREE(frd, sizeof(*frd));
-+			i++;
-+		}
-+		if (i < fpo->fast_reg.fpo_pool_size)
-+			CERROR("FastReg pool still has %d regions registered\n",
-+				fpo->fast_reg.fpo_pool_size - i);
-+	}
- 
-         if (pool->fpo_hdev != NULL)
-                 kiblnd_hdev_decref(pool->fpo_hdev);
-@@ -1477,6 +1496,7 @@ static int kiblnd_alloc_freg_pool(kib_fmr_poolset_t *fps, kib_fmr_pool_t *fpo)
- 		}
- 		frd->frd_mr = NULL;
- 
-+#ifndef HAVE_IB_MAP_MR_SG
- 		frd->frd_frpl = ib_alloc_fast_reg_page_list(fpo->fpo_hdev->ibh_ibdev,
- 							    LNET_MAX_PAYLOAD/PAGE_SIZE);
- 		if (IS_ERR(frd->frd_frpl)) {
-@@ -1486,6 +1506,7 @@ static int kiblnd_alloc_freg_pool(kib_fmr_poolset_t *fps, kib_fmr_pool_t *fpo)
- 			frd->frd_frpl = NULL;
- 			goto out_middle;
- 		}
-+#endif
- 
- #ifdef HAVE_IB_ALLOC_FAST_REG_MR
- 		frd->frd_mr = ib_alloc_fast_reg_mr(fpo->fpo_hdev->ibh_pd,
-@@ -1513,15 +1534,19 @@ static int kiblnd_alloc_freg_pool(kib_fmr_poolset_t *fps, kib_fmr_pool_t *fpo)
- out_middle:
- 	if (frd->frd_mr)
- 		ib_dereg_mr(frd->frd_mr);
-+#ifndef HAVE_IB_MAP_MR_SG
- 	if (frd->frd_frpl)
- 		ib_free_fast_reg_page_list(frd->frd_frpl);
-+#endif
- 	LIBCFS_FREE(frd, sizeof(*frd));
- 
- out:
- 	list_for_each_entry_safe(frd, tmp, &fpo->fast_reg.fpo_pool_list,
- 				 frd_list) {
- 		list_del(&frd->frd_list);
-+#ifndef HAVE_IB_MAP_MR_SG
- 		ib_free_fast_reg_page_list(frd->frd_frpl);
-+#endif
- 		ib_dereg_mr(frd->frd_mr);
- 		LIBCFS_FREE(frd, sizeof(*frd));
- 	}
-@@ -1625,6 +1650,28 @@ kiblnd_fmr_pool_is_idle(kib_fmr_pool_t *fpo, cfs_time_t now)
-         return cfs_time_aftereq(now, fpo->fpo_deadline);
- }
- 
-+static int
-+kiblnd_map_tx_pages(kib_tx_t *tx, kib_rdma_desc_t *rd)
-+{
-+	kib_hca_dev_t	*hdev;
-+	__u64		*pages = tx->tx_pages;
-+	int		npages;
-+	int		size;
-+	int		i;
-+
-+	hdev = tx->tx_pool->tpo_hdev;
-+
-+	for (i = 0, npages = 0; i < rd->rd_nfrags; i++) {
-+		for (size = 0; size <  rd->rd_frags[i].rf_nob;
-+			size += hdev->ibh_page_size) {
-+			pages[npages++] = (rd->rd_frags[i].rf_addr &
-+					   hdev->ibh_page_mask) + size;
-+		}
-+	}
-+
-+	return npages;
-+}
-+
- void
- kiblnd_fmr_pool_unmap(kib_fmr_t *fmr, int status)
- {
-@@ -1666,13 +1713,16 @@ kiblnd_fmr_pool_unmap(kib_fmr_t *fmr, int status)
- }
- 
- int
--kiblnd_fmr_pool_map(kib_fmr_poolset_t *fps, __u64 *pages, int npages,
--                    __u64 iov, kib_fmr_t *fmr)
-+kiblnd_fmr_pool_map(kib_fmr_poolset_t *fps, kib_tx_t *tx, kib_rdma_desc_t *rd,
-+		    __u32 nob, __u64 iov, kib_fmr_t *fmr)
- {
--        struct ib_pool_fmr *pfmr;
--        kib_fmr_pool_t     *fpo;
--        __u64               version;
--        int                 rc;
-+	kib_fmr_pool_t *fpo;
-+	__u64 *pages = tx->tx_pages;
-+	__u64 version;
-+	bool is_rx = (rd != tx->tx_rd);
-+	bool tx_pages_mapped = 0;
-+	int npages = 0;
-+	int rc;
- 
- again:
- 	spin_lock(&fps->fps_lock);
-@@ -1710,7 +1760,7 @@ again:
- 				struct ib_reg_wr *wr;
- 				int n;
- #else
--				struct ib_rdma_wr *wr;
-+				struct ib_send_wr *wr;
- 				struct ib_fast_reg_page_list *frpl;
- #endif
- 				struct ib_mr *mr;
-@@ -1755,9 +1805,8 @@ again:
- 
- 				wr = &frd->frd_fastreg_wr;
- 				memset(wr, 0, sizeof(*wr));
--
- 				wr->wr.opcode = IB_WR_REG_MR;
--				wr->wr.wr_id  = IBLND_WID_MR;
-+				wr->wr.wr_id = IBLND_WID_MR;
- 				wr->wr.num_sge = 0;
- 				wr->wr.send_flags = 0;
- 				wr->mr = mr;
-diff --git a/lnet/klnds/o2iblnd/o2iblnd.h b/lnet/klnds/o2iblnd/o2iblnd.h
-index 3baa255..60334b7 100644
---- a/lnet/klnds/o2iblnd/o2iblnd.h
-+++ b/lnet/klnds/o2iblnd/o2iblnd.h
-@@ -352,12 +352,12 @@ struct ib_rdma_wr {
- 
- struct kib_fast_reg_descriptor { /* For fast registration */
- 	struct list_head		 frd_list;
--	struct ib_rdma_wr		 frd_inv_wr;
-+	struct ib_send_wr		 frd_inv_wr;
- #ifdef HAVE_IB_MAP_MR_SG
- 	struct ib_reg_wr		 frd_fastreg_wr;
- #else
--	struct ib_rdma_wr		 frd_fastreg_wr;
--	struct ib_fast_reg_page_list    *frd_frpl;
-+	struct ib_send_wr		 frd_fastreg_wr;
-+	struct ib_fast_reg_page_list	*frd_frpl;
- #endif
- 	struct ib_mr			*frd_mr;
- 	bool				 frd_valid;
-@@ -1125,8 +1125,9 @@ void kiblnd_unmap_rx_descs(kib_conn_t *conn);
- void kiblnd_pool_free_node(kib_pool_t *pool, struct list_head *node);
- struct list_head *kiblnd_pool_alloc_node(kib_poolset_t *ps);
- 
--int  kiblnd_fmr_pool_map(kib_fmr_poolset_t *fps, __u64 *pages,
--                         int npages, __u64 iov, kib_fmr_t *fmr);
-+int  kiblnd_fmr_pool_map(kib_fmr_poolset_t *fps, kib_tx_t *tx,
-+			 kib_rdma_desc_t *rd, __u32 nob, __u64 iov,
-+			 kib_fmr_t *fmr);
- void kiblnd_fmr_pool_unmap(kib_fmr_t *fmr, int status);
- 
- int  kiblnd_tunables_init(void);
-diff --git a/lnet/klnds/o2iblnd/o2iblnd_cb.c b/lnet/klnds/o2iblnd/o2iblnd_cb.c
-index d25e45a..e400eb2 100644
---- a/lnet/klnds/o2iblnd/o2iblnd_cb.c
-+++ b/lnet/klnds/o2iblnd/o2iblnd_cb.c
-@@ -565,35 +565,22 @@ static int
- kiblnd_fmr_map_tx(kib_net_t *net, kib_tx_t *tx, kib_rdma_desc_t *rd, int nob)
- {
- 	kib_hca_dev_t		*hdev;
--	__u64			*pages = tx->tx_pages;
- 	kib_fmr_poolset_t	*fps;
--	int			npages;
--	int			size;
- 	int			cpt;
- 	int			rc;
--	int			i;
- 
- 	LASSERT(tx->tx_pool != NULL);
- 	LASSERT(tx->tx_pool->tpo_pool.po_owner != NULL);
- 
--	hdev  = tx->tx_pool->tpo_hdev;
--
--        for (i = 0, npages = 0; i < rd->rd_nfrags; i++) {
--                for (size = 0; size <  rd->rd_frags[i].rf_nob;
--                               size += hdev->ibh_page_size) {
--                        pages[npages ++] = (rd->rd_frags[i].rf_addr &
--                                            hdev->ibh_page_mask) + size;
--                }
--        }
--
-+	hdev = tx->tx_pool->tpo_hdev;
- 	cpt = tx->tx_pool->tpo_pool.po_owner->ps_cpt;
- 
- 	fps = net->ibn_fmr_ps[cpt];
--	rc = kiblnd_fmr_pool_map(fps, pages, npages, 0, &tx->fmr);
--        if (rc != 0) {
--                CERROR ("Can't map %d pages: %d\n", npages, rc);
--                return rc;
--        }
-+	rc = kiblnd_fmr_pool_map(fps, tx, rd, nob, 0, &tx->fmr);
-+	if (rc != 0) {
-+		CERROR("Can't map %u pages: %d\n", nob, rc);
-+		return rc;
-+	}
- 
- 	/* If rd is not tx_rd, it's going to get sent to a peer, who will need
- 	 * the rkey */
-@@ -853,12 +840,20 @@ __must_hold(&conn->ibc_lock)
- 
- 		if (frd != NULL) {
- 			if (!frd->frd_valid) {
--				wr = &frd->frd_inv_wr.wr;
--				wr->next = &frd->frd_fastreg_wr.wr;
-+				wrq = &frd->frd_inv_wr;
-+#ifdef HAVE_IB_MAP_MR_SG
-+				wrq->next = &frd->frd_fastreg_wr.wr;
-+			} else {
-+				wrq = &frd->frd_fastreg_wr.wr;
-+			}
-+			frd->frd_fastreg_wr.wr.next = tx->tx_wrq;
-+#else
-+				wrq->next = &frd->frd_fastreg_wr;
- 			} else {
- 				wr = &frd->frd_fastreg_wr.wr;
- 			}
--			frd->frd_fastreg_wr.wr.next = &tx->tx_wrq[0].wr;
-+			frd->frd_fastreg_wr.next = tx->tx_wrq;
-+#endif
- 		}
- 
- 		LASSERTF(wrq->wr_id == kiblnd_ptr2wreqid(tx, IBLND_WID_TX),
--- 
-2.8.2
-

diff --git a/sys-cluster/lustre/files/0010-LU-6215-o2iblnd-rdma_create_id-takes-extra-parameter.patch b/sys-cluster/lustre/files/0010-LU-6215-o2iblnd-rdma_create_id-takes-extra-parameter.patch
deleted file mode 100644
index 5a195bc..0000000
--- a/sys-cluster/lustre/files/0010-LU-6215-o2iblnd-rdma_create_id-takes-extra-parameter.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 2c6365b12588a44c95695bfef2b14f7fa449a8d5 Mon Sep 17 00:00:00 2001
-From: Li Dongyang <dongyang.li@anu.edu.au>
-Date: Fri, 1 Apr 2016 20:26:46 -0400
-Subject: [PATCH 10/19] LU-6215 o2iblnd: rdma_create_id() takes extra parameter
-
-4.4 kernel added network namespace parameter to rdma_create_id().
-This patch handles the API change.
-
-Linux-commit: fa20105e09e97e81aadf02f722c31195e4a75c84
-
-Signed-off-by: Li Dongyang <dongyang.li@anu.edu.au>
-Change-Id: I3f3792e70e91ac3b3d9fefdd58cc9e7e4d1c25c6
-Reviewed-on: http://review.whamcloud.com/18759
-Reviewed-by: James Simmons <uja.ornl@yahoo.com>
-Tested-by: Jenkins
-Tested-by: Maloo <hpdd-maloo@intel.com>
-Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
-Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
----
- lnet/klnds/o2iblnd/o2iblnd.h | 10 ++++------
- 1 file changed, 4 insertions(+), 6 deletions(-)
-
-diff --git a/lnet/klnds/o2iblnd/o2iblnd.h b/lnet/klnds/o2iblnd/o2iblnd.h
-index 60334b7..e784adf 100644
---- a/lnet/klnds/o2iblnd/o2iblnd.h
-+++ b/lnet/klnds/o2iblnd/o2iblnd.h
-@@ -131,12 +131,10 @@ extern kib_tunables_t  kiblnd_tunables;
- #define IBLND_CREDITS_DEFAULT        8          /* default # of peer credits */
- #define IBLND_CREDITS_MAX          ((typeof(((kib_msg_t*) 0)->ibm_credits)) - 1)  /* Max # of peer credits */
- 
--#define IBLND_MSG_QUEUE_SIZE(v)    ((v) == IBLND_MSG_VERSION_1 ? \
--                                     IBLND_MSG_QUEUE_SIZE_V1 :   \
--                                     *kiblnd_tunables.kib_peertxcredits) /* # messages/RDMAs in-flight */
--#define IBLND_CREDITS_HIGHWATER(v) ((v) == IBLND_MSG_VERSION_1 ? \
--                                     IBLND_CREDIT_HIGHWATER_V1 : \
--                                     *kiblnd_tunables.kib_peercredits_hiw) /* when eagerly to return credits */
-+/* when eagerly to return credits */
-+#define IBLND_CREDITS_HIGHWATER(t, v) ((v) == IBLND_MSG_VERSION_1 ? \
-+					IBLND_CREDIT_HIGHWATER_V1 : \
-+					t->lnd_peercredits_hiw)
- 
- #ifdef HAVE_RDMA_CREATE_ID_5ARG
- # define kiblnd_rdma_create_id(cb, dev, ps, qpt) rdma_create_id(current->nsproxy->net_ns, \
--- 
-2.8.2
-

diff --git a/sys-cluster/lustre/files/0011-LU-6215-llite-remove-obsolete-conditional-code.patch b/sys-cluster/lustre/files/0011-LU-6215-llite-remove-obsolete-conditional-code.patch
deleted file mode 100644
index 1b9f266..0000000
--- a/sys-cluster/lustre/files/0011-LU-6215-llite-remove-obsolete-conditional-code.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From b63795fa3bfd8002351c002c316c53b9f0660636 Mon Sep 17 00:00:00 2001
-From: Andreas Dilger <andreas.dilger@intel.com>
-Date: Fri, 29 Apr 2016 14:48:52 -0600
-Subject: [PATCH 11/19] LU-6215 llite: remove obsolete conditional code
-
-Remove conditional flock/aops code that was only for out-of-tree
-vendor kernels but is not relevant anymore.
-
-Linux-commit: 3746e6f93bbf28a25d2d69350ab6bfba02e14654
-
-Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Change-Id: If119a2da2bbc30a48d872029bd048ea90a3ebbe5
-Reviewed-on: http://review.whamcloud.com/19890
-Tested-by: Jenkins
-Reviewed-by: James Simmons <uja.ornl@yahoo.com>
-Reviewed-by: Frank Zago <fzago@cray.com>
-Reviewed-by: John L. Hammond <john.hammond@intel.com>
-Tested-by: Maloo <hpdd-maloo@intel.com>
-Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
-Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
----
- lustre/llite/llite_internal.h |  4 ----
- lustre/llite/llite_lib.c      |  8 --------
- lustre/llite/rw26.c           | 17 -----------------
- 3 files changed, 29 deletions(-)
-
-diff --git a/lustre/llite/llite_internal.h b/lustre/llite/llite_internal.h
-index 15530dc..adbf9d3 100644
---- a/lustre/llite/llite_internal.h
-+++ b/lustre/llite/llite_internal.h
-@@ -813,11 +813,7 @@ struct ll_cl_context *ll_cl_find(struct file *file);
- void ll_cl_add(struct file *file, const struct lu_env *env, struct cl_io *io);
- void ll_cl_remove(struct file *file, const struct lu_env *env);
- 
--#ifndef MS_HAS_NEW_AOPS
- extern const struct address_space_operations ll_aops;
--#else
--extern const struct address_space_operations_ext ll_aops;
--#endif
- 
- /* llite/file.c */
- extern struct file_operations ll_file_operations;
-diff --git a/lustre/llite/llite_lib.c b/lustre/llite/llite_lib.c
-index cf17367..d1050d4 100644
---- a/lustre/llite/llite_lib.c
-+++ b/lustre/llite/llite_lib.c
-@@ -232,14 +232,6 @@ static int client_common_fill_super(struct super_block *sb, char *md, char *dt,
-         if (sbi->ll_flags & LL_SBI_USER_XATTR)
-                 data->ocd_connect_flags |= OBD_CONNECT_XATTR;
- 
--#ifdef HAVE_MS_FLOCK_LOCK
--        /* force vfs to use lustre handler for flock() calls - bug 10743 */
--        sb->s_flags |= MS_FLOCK_LOCK;
--#endif
--#ifdef MS_HAS_NEW_AOPS
--        sb->s_flags |= MS_HAS_NEW_AOPS;
--#endif
--
-         if (sbi->ll_flags & LL_SBI_FLOCK)
-                 sbi->ll_fop = &ll_file_operations_flock;
-         else if (sbi->ll_flags & LL_SBI_LOCALFLOCK)
-diff --git a/lustre/llite/rw26.c b/lustre/llite/rw26.c
-index ee17a73..b362532 100644
---- a/lustre/llite/rw26.c
-+++ b/lustre/llite/rw26.c
-@@ -806,7 +806,6 @@ static int ll_migratepage(struct address_space *mapping,
- }
- #endif
- 
--#ifndef MS_HAS_NEW_AOPS
- const struct address_space_operations ll_aops = {
- 	.readpage	= ll_readpage,
- 	.direct_IO	= ll_direct_IO,
-@@ -821,19 +820,3 @@ const struct address_space_operations ll_aops = {
- 	.migratepage	= ll_migratepage,
- #endif
- };
--#else
--const struct address_space_operations_ext ll_aops = {
--	.orig_aops.readpage		= ll_readpage,
--	.orig_aops.direct_IO		= ll_direct_IO,
--	.orig_aops.writepage		= ll_writepage,
--	.orig_aops.writepages		= ll_writepages,
--	.orig_aops.set_page_dirty	= __set_page_dirty_nobuffers,
--	.orig_aops.invalidatepage	= ll_invalidatepage,
--	.orig_aops.releasepage		= ll_releasepage,
--#ifdef CONFIG_MIGRATION
--	.orig_aops.migratepage		= ll_migratepage,
--#endif
--	.write_begin			= ll_write_begin,
--	.write_end			= ll_write_end
--};
--#endif
--- 
-2.8.2
-

diff --git a/sys-cluster/lustre/files/0012-LU-6215-lnet-split-struct-ib_send_wr.patch b/sys-cluster/lustre/files/0012-LU-6215-lnet-split-struct-ib_send_wr.patch
deleted file mode 100644
index ff28978..0000000
--- a/sys-cluster/lustre/files/0012-LU-6215-lnet-split-struct-ib_send_wr.patch
+++ /dev/null
@@ -1,169 +0,0 @@
-From d514117bc52fee3e392aa48dc44b3552c01a0981 Mon Sep 17 00:00:00 2001
-From: Dmitry Eremin <dmitry.eremin@intel.com>
-Date: Tue, 17 May 2016 09:22:15 -0400
-Subject: [PATCH 12/19] LU-6215 lnet: split struct ib_send_wr
-
-In v4.4 Linux kernel split up struct ib_send_wr so that all non-trivial
-verbs use their own structure which embeds struct ib_send_wr.
-
-Linux-commit: e622f2f4ad2142d2a613a57fb85f8cf737935ef5
-Change-Id: Iea2599ea57a576a4c061841be47a989aba097cc6
-Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
-Reviewed-on: http://review.whamcloud.com/19168
-Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
-Reviewed-by: James Simmons <uja.ornl@yahoo.com>
-Reviewed-by: Li Dongyang <dongyang.li@anu.edu.au>
-Tested-by: Jenkins
-Tested-by: Maloo <hpdd-maloo@intel.com>
-Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
----
- lnet/autoconf/lustre-lnet.m4    | 31 +++++++++++++++----------------
- lnet/klnds/o2iblnd/o2iblnd.c    |  5 +++--
- lnet/klnds/o2iblnd/o2iblnd.h    |  6 +++---
- lnet/klnds/o2iblnd/o2iblnd_cb.c | 14 +++-----------
- 4 files changed, 24 insertions(+), 32 deletions(-)
-
-diff --git a/lnet/autoconf/lustre-lnet.m4 b/lnet/autoconf/lustre-lnet.m4
-index 5f90bca..2e2adb2 100644
---- a/lnet/autoconf/lustre-lnet.m4
-+++ b/lnet/autoconf/lustre-lnet.m4
-@@ -395,10 +395,8 @@ AS_IF([test $ENABLEO2IB != "no"], [
- 		AC_DEFINE(HAVE_IB_CQ_INIT_ATTR, 1,
- 			[struct ib_cq_init_attr is used by ib_create_cq])
- 	])
--])
- 
--# 4.3 removed ib_alloc_fast_reg_mr()
--AS_IF([test $ENABLEO2IB != "no"], [
-+	# 4.3 removed ib_alloc_fast_reg_mr()
- 	LB_CHECK_COMPILE([if 'ib_alloc_fast_reg_mr' exists],
- 	ib_alloc_fast_reg_mr, [
- 		#ifdef HAVE_COMPAT_RDMA
-@@ -417,12 +415,13 @@ AS_IF([test $ENABLEO2IB != "no"], [
- 		AC_DEFINE(HAVE_IB_ALLOC_FAST_REG_MR, 1,
- 			[ib_alloc_fast_reg_mr is defined])
- 	])
--])
- 
--# 4.4 added network namespace parameter for rdma_create_id()
--AS_IF([test $ENABLEO2IB != "no"], [
--	LB_CHECK_COMPILE([if 'rdma_create_id' wants five args],
--	rdma_create_id_5args, [
-+	# In v4.4 Linux kernel,
-+	# commit e622f2f4ad2142d2a613a57fb85f8cf737935ef5
-+	# split up struct ib_send_wr so that all non-trivial verbs
-+	# use their own structure which embedds struct ib_send_wr.
-+	LB_CHECK_COMPILE([if 'struct ib_rdma_wr' is defined],
-+	ib_rdma_wr, [
- 		#ifdef HAVE_COMPAT_RDMA
- 		#undef PACKAGE_NAME
- 		#undef PACKAGE_TARNAME
-@@ -432,17 +431,17 @@ AS_IF([test $ENABLEO2IB != "no"], [
- 		#undef PACKAGE_URL
- 		#include <linux/compat-2.6.h>
- 		#endif
--		#include <rdma/rdma_cm.h>
-+		#include <rdma/ib_verbs.h>
- 	],[
--		rdma_create_id(NULL, NULL, NULL, 0, 0);
-+		struct ib_rdma_wr *wr __attribute__ ((unused));
-+
-+		wr = rdma_wr(NULL);
- 	],[
--		AC_DEFINE(HAVE_RDMA_CREATE_ID_5ARG, 1,
--			[rdma_create_id wants 5 args])
-+		AC_DEFINE(HAVE_IB_RDMA_WR, 1,
-+			[struct ib_rdma_wr is defined])
- 	])
--])
- 
--# new fast registration API introduced in 4.4
--AS_IF([test $ENABLEO2IB != "no"], [
-+	# new fast registration API introduced in 4.4
- 	LB_CHECK_COMPILE([if 'ib_map_mr_sg' exists],
- 	ib_map_mr_sg, [
- 		#ifdef HAVE_COMPAT_RDMA
-@@ -461,7 +460,7 @@ AS_IF([test $ENABLEO2IB != "no"], [
- 		AC_DEFINE(HAVE_IB_MAP_MR_SG, 1,
- 			[ib_map_mr_sg exists])
- 	])
--])
-+]) # ENABLEO2IB != "no"
- ]) # LN_CONFIG_O2IB
- 
- #
-diff --git a/lnet/klnds/o2iblnd/o2iblnd.c b/lnet/klnds/o2iblnd/o2iblnd.c
-index 1262268..ada1322 100644
---- a/lnet/klnds/o2iblnd/o2iblnd.c
-+++ b/lnet/klnds/o2iblnd/o2iblnd.c
-@@ -1760,7 +1760,7 @@ again:
- 				struct ib_reg_wr *wr;
- 				int n;
- #else
--				struct ib_send_wr *wr;
-+				struct ib_rdma_wr *wr;
- 				struct ib_fast_reg_page_list *frpl;
- #endif
- 				struct ib_mr *mr;
-@@ -1805,8 +1805,9 @@ again:
- 
- 				wr = &frd->frd_fastreg_wr;
- 				memset(wr, 0, sizeof(*wr));
-+
- 				wr->wr.opcode = IB_WR_REG_MR;
--				wr->wr.wr_id = IBLND_WID_MR;
-+				wr->wr.wr_id  = IBLND_WID_MR;
- 				wr->wr.num_sge = 0;
- 				wr->wr.send_flags = 0;
- 				wr->mr = mr;
-diff --git a/lnet/klnds/o2iblnd/o2iblnd.h b/lnet/klnds/o2iblnd/o2iblnd.h
-index e784adf..38e5f14 100644
---- a/lnet/klnds/o2iblnd/o2iblnd.h
-+++ b/lnet/klnds/o2iblnd/o2iblnd.h
-@@ -350,12 +350,12 @@ struct ib_rdma_wr {
- 
- struct kib_fast_reg_descriptor { /* For fast registration */
- 	struct list_head		 frd_list;
--	struct ib_send_wr		 frd_inv_wr;
-+	struct ib_rdma_wr		 frd_inv_wr;
- #ifdef HAVE_IB_MAP_MR_SG
- 	struct ib_reg_wr		 frd_fastreg_wr;
- #else
--	struct ib_send_wr		 frd_fastreg_wr;
--	struct ib_fast_reg_page_list	*frd_frpl;
-+	struct ib_rdma_wr		 frd_fastreg_wr;
-+	struct ib_fast_reg_page_list    *frd_frpl;
- #endif
- 	struct ib_mr			*frd_mr;
- 	bool				 frd_valid;
-diff --git a/lnet/klnds/o2iblnd/o2iblnd_cb.c b/lnet/klnds/o2iblnd/o2iblnd_cb.c
-index e400eb2..6541d94 100644
---- a/lnet/klnds/o2iblnd/o2iblnd_cb.c
-+++ b/lnet/klnds/o2iblnd/o2iblnd_cb.c
-@@ -840,20 +840,12 @@ __must_hold(&conn->ibc_lock)
- 
- 		if (frd != NULL) {
- 			if (!frd->frd_valid) {
--				wrq = &frd->frd_inv_wr;
--#ifdef HAVE_IB_MAP_MR_SG
--				wrq->next = &frd->frd_fastreg_wr.wr;
--			} else {
--				wrq = &frd->frd_fastreg_wr.wr;
--			}
--			frd->frd_fastreg_wr.wr.next = tx->tx_wrq;
--#else
--				wrq->next = &frd->frd_fastreg_wr;
-+				wr = &frd->frd_inv_wr.wr;
-+				wr->next = &frd->frd_fastreg_wr.wr;
- 			} else {
- 				wr = &frd->frd_fastreg_wr.wr;
- 			}
--			frd->frd_fastreg_wr.next = tx->tx_wrq;
--#endif
-+			frd->frd_fastreg_wr.wr.next = &tx->tx_wrq[0].wr;
- 		}
- 
- 		LASSERTF(wrq->wr_id == kiblnd_ptr2wreqid(tx, IBLND_WID_TX),
--- 
-2.8.2
-

diff --git a/sys-cluster/lustre/lustre-2.8.0.ebuild b/sys-cluster/lustre/lustre-2.8.54.ebuild
similarity index 61%
rename from sys-cluster/lustre/lustre-2.8.0.ebuild
rename to sys-cluster/lustre/lustre-2.8.54.ebuild
index c56b6b1..57f0f37 100644
--- a/sys-cluster/lustre/lustre-2.8.0.ebuild
+++ b/sys-cluster/lustre/lustre-2.8.54.ebuild
@@ -40,30 +40,18 @@ DEPEND="${RDEPEND}
 	virtual/linux-sources"
 
 REQUIRED_USE="
-	modules? ( client )
-	modules? ( server )"
+	client? ( modules )
+	server? ( modules )"
 
 PATCHES=(
-	"${FILESDIR}/0001-LU-6215-lprocfs-handle-seq_printf-api-change.patch"
-	"${FILESDIR}/0002-LU-6215-gss-cache_head-is-now-on-a-hlist-in-4.3-kern.patch"
-	"${FILESDIR}/0003-LU-6215-llite-handle-locks-API-change-in-4.4-kernels.patch"
-	"${FILESDIR}/0004-LU-6215-llite-make_request_fn-returns-blk_qc_t-in-ke.patch"
-	"${FILESDIR}/0005-LU-6215-gss-key-payload.data-is-an-array-in-4.4-kern.patch"
-	"${FILESDIR}/0006-LU-6215-o2iblnd-rdma_create_id-takes-extra-parameter.patch"
-	"${FILESDIR}/0007-LU-6215-lnet-split-struct-ib_send_wr.patch"
-	"${FILESDIR}/0008-LU-6215-o2iblnd-ib_alloc_fast_reg_mr-removed-in-4.3.patch"
-	"${FILESDIR}/0009-LU-6215-o2iblnd-port-to-new-fast-reg-API-introduced-.patch"
-	"${FILESDIR}/0010-LU-6215-o2iblnd-rdma_create_id-takes-extra-parameter.patch"
-	"${FILESDIR}/0011-LU-6215-llite-remove-obsolete-conditional-code.patch"
-	"${FILESDIR}/0012-LU-6215-lnet-split-struct-ib_send_wr.patch"
-	"${FILESDIR}/0013-LU-8056-libcfs-Support-for-linux-4.2-kernels.patch"
-	"${FILESDIR}/0014-LU-8056-o2iblnd-ib_query_device-removed-in-4.5.patch"
-	"${FILESDIR}/0015-LU-8056-socklnd-NETIF_F_ALL_CSUM-renamed-to-NETIF_F_.patch"
-	"${FILESDIR}/0016-LU-8056-llite-use-inode_lock-to-access-i_mutex.patch"
-	"${FILESDIR}/0017-LU-8056-llite-inode_operations-interface-changed-in-.patch"
-	"${FILESDIR}/0018-LU-8056-llite-POSIX_ACL_XATTR_-ACCESS-DEFAULT-remove.patch"
-	"${FILESDIR}/0019-LU-8056-lloop-fix-bio_for_each_segment_all-for-newer.patch"
 	"${FILESDIR}/lustre-do-not-include-udef.h.patch"
+	"${FILESDIR}/0001-LU-8056-libcfs-Support-for-linux-4.2-kernels.patch"
+	"${FILESDIR}/0002-LU-8056-o2iblnd-ib_query_device-removed-in-4.5.patch"
+	"${FILESDIR}/0003-LU-8056-socklnd-NETIF_F_ALL_CSUM-renamed-to-NETIF_F_.patch"
+	"${FILESDIR}/0004-LU-8056-llite-use-inode_lock-to-access-i_mutex.patch"
+	"${FILESDIR}/0005-LU-8056-llite-inode_operations-interface-changed-in-.patch"
+	"${FILESDIR}/0006-LU-8056-llite-POSIX_ACL_XATTR_-ACCESS-DEFAULT-remove.patch"
+	"${FILESDIR}/0007-LU-8056-lloop-fix-bio_for_each_segment_all-for-newer.patch"
 	)
 
 pkg_setup() {

diff --git a/sys-cluster/lustre/lustre-9999.ebuild b/sys-cluster/lustre/lustre-9999.ebuild
index c56b6b1..5d9301c 100644
--- a/sys-cluster/lustre/lustre-9999.ebuild
+++ b/sys-cluster/lustre/lustre-9999.ebuild
@@ -40,29 +40,10 @@ DEPEND="${RDEPEND}
 	virtual/linux-sources"
 
 REQUIRED_USE="
-	modules? ( client )
-	modules? ( server )"
+	client? ( modules )
+	server? ( modules )"
 
 PATCHES=(
-	"${FILESDIR}/0001-LU-6215-lprocfs-handle-seq_printf-api-change.patch"
-	"${FILESDIR}/0002-LU-6215-gss-cache_head-is-now-on-a-hlist-in-4.3-kern.patch"
-	"${FILESDIR}/0003-LU-6215-llite-handle-locks-API-change-in-4.4-kernels.patch"
-	"${FILESDIR}/0004-LU-6215-llite-make_request_fn-returns-blk_qc_t-in-ke.patch"
-	"${FILESDIR}/0005-LU-6215-gss-key-payload.data-is-an-array-in-4.4-kern.patch"
-	"${FILESDIR}/0006-LU-6215-o2iblnd-rdma_create_id-takes-extra-parameter.patch"
-	"${FILESDIR}/0007-LU-6215-lnet-split-struct-ib_send_wr.patch"
-	"${FILESDIR}/0008-LU-6215-o2iblnd-ib_alloc_fast_reg_mr-removed-in-4.3.patch"
-	"${FILESDIR}/0009-LU-6215-o2iblnd-port-to-new-fast-reg-API-introduced-.patch"
-	"${FILESDIR}/0010-LU-6215-o2iblnd-rdma_create_id-takes-extra-parameter.patch"
-	"${FILESDIR}/0011-LU-6215-llite-remove-obsolete-conditional-code.patch"
-	"${FILESDIR}/0012-LU-6215-lnet-split-struct-ib_send_wr.patch"
-	"${FILESDIR}/0013-LU-8056-libcfs-Support-for-linux-4.2-kernels.patch"
-	"${FILESDIR}/0014-LU-8056-o2iblnd-ib_query_device-removed-in-4.5.patch"
-	"${FILESDIR}/0015-LU-8056-socklnd-NETIF_F_ALL_CSUM-renamed-to-NETIF_F_.patch"
-	"${FILESDIR}/0016-LU-8056-llite-use-inode_lock-to-access-i_mutex.patch"
-	"${FILESDIR}/0017-LU-8056-llite-inode_operations-interface-changed-in-.patch"
-	"${FILESDIR}/0018-LU-8056-llite-POSIX_ACL_XATTR_-ACCESS-DEFAULT-remove.patch"
-	"${FILESDIR}/0019-LU-8056-lloop-fix-bio_for_each_segment_all-for-newer.patch"
 	"${FILESDIR}/lustre-do-not-include-udef.h.patch"
 	)
 


             reply	other threads:[~2016-06-13 10:38 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-13 10:38 Alexey Shvetsov [this message]
  -- strict thread matches above, loose matches on Subject: below --
2020-09-27 15:55 [gentoo-commits] proj/sci:master commit in: sys-cluster/lustre/files/, sys-cluster/lustre/ Aisha Tammy
2016-06-13 11:25 Alexey Shvetsov
2016-06-13 10:13 Alexey Shvetsov
2014-11-13  0:15 Christoph Junghans

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1465814306.91cef20bb91beb8672770f6337f5f37b94045b39.alexxy@gentoo \
    --to=alexxy@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox