On Thu, Oct 23, 2014 at 06:38:32PM -0400, John Morrissey wrote:
> On Tue, Oct 21, 2014 at 06:05:32PM +0200, Bastian Blank wrote:
> > On Fri, Oct 17, 2014 at 12:48:55PM -0400, John Morrissey wrote:
> > > Bastian, I'm happy to help, so please let me know if there's anything I 
> > > can
> > > do.
> > 
> > As the lustre client support in 3.16 is broken, could you review the
> > changes in 3.17 and see if a backport looks reasonable?
> It seems the client is broken on systems with more than one CPU, which I
> kludged around with 'cpu_npartitions=1' - is that the breakage you're
> talking about? I haven't had a chance to look at or try 3.17 yet.

I looked through the changes in the Lustre client between 3.16 and 3.17,
there were a few bugfixes, but mostly stylistic changes. It's a clean
backport with the addition of the attached patch, to account for the
hlist_add_ API changes.

I built backported 3.16 kernel packages and did some basic tests on a
mounted Lustre filesystem, which seemed fine.

> > Also a test setup with some rhel/centos 6 server would be helpful.
> Will do. I'm actually working with Intel to do some benchmarking with
> their Amazon Web Services offering for Lustre, which runs CentOS 6 on the
> server.

Are you looking for access to a test setup with CentOS 6-based Lustre
servers, or someone to test the Debian kernel's Lustre client with CentOS 6?

Like I said, I did some basic smoke tests with the Lustre client in 3.17
(and that version of the client backported to 3.16). I might be able to make
a Lustre server setup available for a short period (a week or so), or I
could run some other tests.

--- linux-3.16.5.orig/drivers/staging/lustre/lustre/libcfs/hash.c
+++ linux-3.16.5/drivers/staging/lustre/lustre/libcfs/hash.c
@@ -351,7 +351,7 @@ cfs_hash_dh_hnode_add(struct cfs_hash *h
 					    cfs_hash_dhead_t, dh_head);
 	if (dh->dh_tail != NULL) /* not empty */
-		hlist_add_behind(hnode, dh->dh_tail);
+		hlist_add_after(dh->dh_tail, hnode);
 	else /* empty list */
 		hlist_add_head(hnode, &dh->dh_head);
 	dh->dh_tail = hnode;
@@ -406,7 +406,7 @@ cfs_hash_dd_hnode_add(struct cfs_hash *h
 						cfs_hash_dhead_dep_t, dd_head);
 	if (dh->dd_tail != NULL) /* not empty */
-		hlist_add_behind(hnode, dh->dd_tail);
+		hlist_add_after(dh->dd_tail, hnode);
 	else /* empty list */
 		hlist_add_head(hnode, &dh->dd_head);
 	dh->dd_tail = hnode;
Pkg-lustre-maintainers mailing list

Reply via email to