All of lore.kernel.org
 help / color / mirror / Atom feed
* [lustre-devel] [PATCH 0/7] staging: lustre: remove uses and definition of container_of0
@ 2015-10-13 22:19 Aya Mahfouz
  2015-10-13 22:22 ` [lustre-devel] [PATCH 1/7] staging: lustre: lcommon_cl.c: replace container_of0 by container_of Aya Mahfouz
                   ` (7 more replies)
  0 siblings, 8 replies; 13+ messages in thread
From: Aya Mahfouz @ 2015-10-13 22:19 UTC (permalink / raw)
  To: lustre-devel

container_of0 can be replaced by the Linux kernel macro container_of.
The only difference is that container_of0 tries to evade type casting
when the pointer is erroneous or null. All uses of container_of0 have
been replaced by container_of and then the macro was removed in the last
patch.

Aya Mahfouz (7):
  staging: lustre: lcommon_cl.c: replace container_of0 by container_of
  staging: lustre: llite_nfs.c: replace container_of0 by container_of
  staging: lustre: lu_object.c: replace container_of0 by container_of
  staging: lustre: echo_client.c: replace container_of0 by container_of
  staging: lustre: osc_io.c: replace container_of0 by container_of
  staging: lustre: osc_object.c: replace container_of0 by container_of
  staging: lustre: remove container_of0 and __container_of

 drivers/staging/lustre/include/linux/libcfs/libcfs.h | 11 -----------
 drivers/staging/lustre/lustre/lclient/lcommon_cl.c   | 10 +++++-----
 drivers/staging/lustre/lustre/llite/llite_nfs.c      |  2 +-
 drivers/staging/lustre/lustre/obdclass/lu_object.c   |  6 +++---
 drivers/staging/lustre/lustre/obdecho/echo_client.c  |  2 +-
 drivers/staging/lustre/lustre/osc/osc_io.c           |  4 ++--
 drivers/staging/lustre/lustre/osc/osc_object.c       |  2 +-
 7 files changed, 13 insertions(+), 24 deletions(-)

-- 
2.4.2


-- 
Kind Regards,
Aya Saif El-yazal Mahfouz

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

* [lustre-devel] [PATCH 1/7] staging: lustre: lcommon_cl.c: replace container_of0 by container_of
  2015-10-13 22:19 [lustre-devel] [PATCH 0/7] staging: lustre: remove uses and definition of container_of0 Aya Mahfouz
@ 2015-10-13 22:22 ` Aya Mahfouz
  2015-10-13 22:23 ` [lustre-devel] [PATCH 2/7] staging: lustre: llite_nfs.c: " Aya Mahfouz
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 13+ messages in thread
From: Aya Mahfouz @ 2015-10-13 22:22 UTC (permalink / raw)
  To: lustre-devel

Replaces container_of0 by container_of. The only difference between
the two implementations is that container_of0 tries to evade
type casting if the pointer is erroneous or null. The use of
container_of is encouraged to bring lustre one step closer to
community standards.

Cc: jes.sorensen at gmail.com
Cc: kyle at mcmartin.ca 
Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@gmail.com>
---
 drivers/staging/lustre/lustre/lclient/lcommon_cl.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/lustre/lustre/lclient/lcommon_cl.c b/drivers/staging/lustre/lustre/lclient/lcommon_cl.c
index ef2e266..a941aaf 100644
--- a/drivers/staging/lustre/lustre/lclient/lcommon_cl.c
+++ b/drivers/staging/lustre/lustre/lclient/lcommon_cl.c
@@ -917,12 +917,12 @@ struct lu_device *ccc2lu_dev(struct ccc_device *vdv)
 
 struct ccc_device *lu2ccc_dev(const struct lu_device *d)
 {
-	return container_of0(d, struct ccc_device, cdv_cl.cd_lu_dev);
+	return container_of(d, struct ccc_device, cdv_cl.cd_lu_dev);
 }
 
 struct ccc_device *cl2ccc_dev(const struct cl_device *d)
 {
-	return container_of0(d, struct ccc_device, cdv_cl);
+	return container_of(d, struct ccc_device, cdv_cl);
 }
 
 struct lu_object *ccc2lu(struct ccc_object *vob)
@@ -932,12 +932,12 @@ struct lu_object *ccc2lu(struct ccc_object *vob)
 
 struct ccc_object *lu2ccc(const struct lu_object *obj)
 {
-	return container_of0(obj, struct ccc_object, cob_cl.co_lu);
+	return container_of(obj, struct ccc_object, cob_cl.co_lu);
 }
 
 struct ccc_object *cl2ccc(const struct cl_object *obj)
 {
-	return container_of0(obj, struct ccc_object, cob_cl);
+	return container_of(obj, struct ccc_object, cob_cl);
 }
 
 struct ccc_lock *cl2ccc_lock(const struct cl_lock_slice *slice)
@@ -957,7 +957,7 @@ struct ccc_io *cl2ccc_io(const struct lu_env *env,
 
 struct ccc_req *cl2ccc_req(const struct cl_req_slice *slice)
 {
-	return container_of0(slice, struct ccc_req, crq_cl);
+	return container_of(slice, struct ccc_req, crq_cl);
 }
 
 struct page *cl2vm_page(const struct cl_page_slice *slice)
-- 
2.4.2


-- 
Kind Regards,
Aya Saif El-yazal Mahfouz

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

* [lustre-devel] [PATCH 2/7] staging: lustre: llite_nfs.c: replace container_of0 by container_of
  2015-10-13 22:19 [lustre-devel] [PATCH 0/7] staging: lustre: remove uses and definition of container_of0 Aya Mahfouz
  2015-10-13 22:22 ` [lustre-devel] [PATCH 1/7] staging: lustre: lcommon_cl.c: replace container_of0 by container_of Aya Mahfouz
@ 2015-10-13 22:23 ` Aya Mahfouz
  2015-10-13 23:25   ` kbuild test robot
  2015-10-13 23:28   ` kbuild test robot
  2015-10-13 22:23 ` [lustre-devel] [PATCH 3/7] staging: lustre: lu_object.c: " Aya Mahfouz
                   ` (5 subsequent siblings)
  7 siblings, 2 replies; 13+ messages in thread
From: Aya Mahfouz @ 2015-10-13 22:23 UTC (permalink / raw)
  To: lustre-devel

Replaces container_of0 by container_of. The only difference between
the two implementations is that container_of0 tries to evade
type casting if the pointer is erroneous or null. The use of
container_of is encouraged to bring lustre one step closer to
community standards.

Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@gmail.com>
---
 drivers/staging/lustre/lustre/llite/llite_nfs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/lustre/lustre/llite/llite_nfs.c b/drivers/staging/lustre/lustre/llite/llite_nfs.c
index e578a11..340fb61 100644
--- a/drivers/staging/lustre/lustre/llite/llite_nfs.c
+++ b/drivers/staging/lustre/lustre/llite/llite_nfs.c
@@ -210,7 +210,7 @@ static int ll_nfs_get_name_filldir(struct dir_context *ctx, const char *name,
 {
 	/* It is hack to access lde_fid for comparison with lgd_fid.
 	 * So the input 'name' must be part of the 'lu_dirent'. */
-	struct lu_dirent *lde = container_of0(name, struct lu_dirent, lde_name);
+	struct lu_dirent *lde = container_of(name, struct lu_dirent, lde_name);
 	struct ll_getname_data *lgd =
 		container_of(ctx, struct ll_getname_data, ctx);
 	struct lu_fid fid;
-- 
2.4.2


-- 
Kind Regards,
Aya Saif El-yazal Mahfouz

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

* [lustre-devel] [PATCH 3/7] staging: lustre: lu_object.c: replace container_of0 by container_of
  2015-10-13 22:19 [lustre-devel] [PATCH 0/7] staging: lustre: remove uses and definition of container_of0 Aya Mahfouz
  2015-10-13 22:22 ` [lustre-devel] [PATCH 1/7] staging: lustre: lcommon_cl.c: replace container_of0 by container_of Aya Mahfouz
  2015-10-13 22:23 ` [lustre-devel] [PATCH 2/7] staging: lustre: llite_nfs.c: " Aya Mahfouz
@ 2015-10-13 22:23 ` Aya Mahfouz
  2015-10-13 22:23 ` [lustre-devel] [PATCH 4/7] staging: lustre: echo_client.c: " Aya Mahfouz
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 13+ messages in thread
From: Aya Mahfouz @ 2015-10-13 22:23 UTC (permalink / raw)
  To: lustre-devel

Replaces container_of0 by container_of. The only difference between
the two implementations is that container_of0 tries to evade
type casting if the pointer is erroneous or null. The use of
container_of is encouraged to bring lustre one step closer to
community standards.

Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@gmail.com>
---
 drivers/staging/lustre/lustre/obdclass/lu_object.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/lustre/lustre/obdclass/lu_object.c b/drivers/staging/lustre/lustre/obdclass/lu_object.c
index 0d15bd5..82873fb 100644
--- a/drivers/staging/lustre/lustre/obdclass/lu_object.c
+++ b/drivers/staging/lustre/lustre/obdclass/lu_object.c
@@ -294,7 +294,7 @@ static void lu_object_free(const struct lu_env *env, struct lu_object *o)
 		 * lives as long as possible and ->loo_object_free() methods
 		 * can look at its contents.
 		 */
-		o = container_of0(splice.prev, struct lu_object, lo_linkage);
+		o = container_of(splice.prev, struct lu_object, lo_linkage);
 		list_del_init(&o->lo_linkage);
 		LASSERT(o->lo_ops->loo_object_free != NULL);
 		o->lo_ops->loo_object_free(env, o);
@@ -368,7 +368,7 @@ int lu_site_purge(const struct lu_env *env, struct lu_site *s, int nr)
 		 * races due to the reasons described in lu_object_put().
 		 */
 		while (!list_empty(&dispose)) {
-			h = container_of0(dispose.next,
+			h = container_of(dispose.next,
 					  struct lu_object_header, loh_lru);
 			list_del_init(&h->loh_lru);
 			lu_object_free(env, lu_object_top(h));
@@ -542,7 +542,7 @@ static struct lu_object *htable_lookup(struct lu_site *s,
 		return ERR_PTR(-ENOENT);
 	}
 
-	h = container_of0(hnode, struct lu_object_header, loh_hash);
+	h = container_of(hnode, struct lu_object_header, loh_hash);
 	if (likely(!lu_object_is_dying(h))) {
 		cfs_hash_get(s->ls_obj_hash, hnode);
 		lprocfs_counter_incr(s->ls_stats, LU_SS_CACHE_HIT);
-- 
2.4.2


-- 
Kind Regards,
Aya Saif El-yazal Mahfouz

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

* [lustre-devel] [PATCH 4/7] staging: lustre: echo_client.c: replace container_of0 by container_of
  2015-10-13 22:19 [lustre-devel] [PATCH 0/7] staging: lustre: remove uses and definition of container_of0 Aya Mahfouz
                   ` (2 preceding siblings ...)
  2015-10-13 22:23 ` [lustre-devel] [PATCH 3/7] staging: lustre: lu_object.c: " Aya Mahfouz
@ 2015-10-13 22:23 ` Aya Mahfouz
  2015-10-13 22:24 ` [lustre-devel] [PATCH 5/7] staging: lustre: osc_io.c: " Aya Mahfouz
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 13+ messages in thread
From: Aya Mahfouz @ 2015-10-13 22:23 UTC (permalink / raw)
  To: lustre-devel

Replaces container_of0 by container_of. The only difference between
the two implementations is that container_of0 tries to evade
type casting if the pointer is erroneous or null. The use of
container_of is encouraged to bring lustre one step closer to
community standards.

Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@gmail.com>
---
 drivers/staging/lustre/lustre/obdecho/echo_client.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/lustre/lustre/obdecho/echo_client.c b/drivers/staging/lustre/lustre/obdecho/echo_client.c
index ef9cb31..1e9a57f 100644
--- a/drivers/staging/lustre/lustre/obdecho/echo_client.c
+++ b/drivers/staging/lustre/lustre/obdecho/echo_client.c
@@ -103,7 +103,7 @@ static int echo_client_cleanup(struct obd_device *obddev);
  */
 static inline struct echo_device *cl2echo_dev(const struct cl_device *dev)
 {
-	return container_of0(dev, struct echo_device, ed_cl);
+	return container_of(dev, struct echo_device, ed_cl);
 }
 
 static inline struct cl_device *echo_dev2cl(struct echo_device *d)
-- 
2.4.2


-- 
Kind Regards,
Aya Saif El-yazal Mahfouz

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

* [lustre-devel] [PATCH 5/7] staging: lustre: osc_io.c: replace container_of0 by container_of
  2015-10-13 22:19 [lustre-devel] [PATCH 0/7] staging: lustre: remove uses and definition of container_of0 Aya Mahfouz
                   ` (3 preceding siblings ...)
  2015-10-13 22:23 ` [lustre-devel] [PATCH 4/7] staging: lustre: echo_client.c: " Aya Mahfouz
@ 2015-10-13 22:24 ` Aya Mahfouz
  2015-10-13 22:24 ` [lustre-devel] [PATCH 6/7] staging: lustre: osc_object.c: " Aya Mahfouz
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 13+ messages in thread
From: Aya Mahfouz @ 2015-10-13 22:24 UTC (permalink / raw)
  To: lustre-devel

Replaces container_of0 by container_of. The only difference between
the two implementations is that container_of0 tries to evade
type casting if the pointer is erroneous or null. The use of
container_of is encouraged to bring lustre one step closer to
community standards.

Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@gmail.com>
---
 drivers/staging/lustre/lustre/osc/osc_io.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/lustre/lustre/osc/osc_io.c b/drivers/staging/lustre/lustre/osc/osc_io.c
index 3a4200f..fb3b415 100644
--- a/drivers/staging/lustre/lustre/osc/osc_io.c
+++ b/drivers/staging/lustre/lustre/osc/osc_io.c
@@ -56,13 +56,13 @@
 static struct osc_req *cl2osc_req(const struct cl_req_slice *slice)
 {
 	LINVRNT(slice->crs_dev->cd_lu_dev.ld_type == &osc_device_type);
-	return container_of0(slice, struct osc_req, or_cl);
+	return container_of(slice, struct osc_req, or_cl);
 }
 
 static struct osc_io *cl2osc_io(const struct lu_env *env,
 				const struct cl_io_slice *slice)
 {
-	struct osc_io *oio = container_of0(slice, struct osc_io, oi_cl);
+	struct osc_io *oio = container_of(slice, struct osc_io, oi_cl);
 
 	LINVRNT(oio == osc_env_io(env));
 	return oio;
-- 
2.4.2


-- 
Kind Regards,
Aya Saif El-yazal Mahfouz

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

* [lustre-devel] [PATCH 6/7] staging: lustre: osc_object.c: replace container_of0 by container_of
  2015-10-13 22:19 [lustre-devel] [PATCH 0/7] staging: lustre: remove uses and definition of container_of0 Aya Mahfouz
                   ` (4 preceding siblings ...)
  2015-10-13 22:24 ` [lustre-devel] [PATCH 5/7] staging: lustre: osc_io.c: " Aya Mahfouz
@ 2015-10-13 22:24 ` Aya Mahfouz
  2015-10-13 22:24 ` [lustre-devel] [PATCH 7/7] staging: lustre: remove container_of0 and __container_of Aya Mahfouz
  2015-10-13 22:42 ` [lustre-devel] [PATCH 0/7] staging: lustre: remove uses and definition of container_of0 Dilger, Andreas
  7 siblings, 0 replies; 13+ messages in thread
From: Aya Mahfouz @ 2015-10-13 22:24 UTC (permalink / raw)
  To: lustre-devel

Replaces container_of0 by container_of. The only difference between
the two implementations is that container_of0 tries to evade
type casting if the pointer is erroneous or null. The use of
container_of is encouraged to bring lustre one step closer to
community standards.

Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@gmail.com>
---
 drivers/staging/lustre/lustre/osc/osc_object.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/lustre/lustre/osc/osc_object.c b/drivers/staging/lustre/lustre/osc/osc_object.c
index acffab9..f916b09 100644
--- a/drivers/staging/lustre/lustre/osc/osc_object.c
+++ b/drivers/staging/lustre/lustre/osc/osc_object.c
@@ -60,7 +60,7 @@ static struct lu_object *osc2lu(struct osc_object *osc)
 static struct osc_object *lu2osc(const struct lu_object *obj)
 {
 	LINVRNT(osc_is_object(obj));
-	return container_of0(obj, struct osc_object, oo_cl.co_lu);
+	return container_of(obj, struct osc_object, oo_cl.co_lu);
 }
 
 /*****************************************************************************
-- 
2.4.2


-- 
Kind Regards,
Aya Saif El-yazal Mahfouz

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

* [lustre-devel] [PATCH 7/7] staging: lustre: remove container_of0 and __container_of
  2015-10-13 22:19 [lustre-devel] [PATCH 0/7] staging: lustre: remove uses and definition of container_of0 Aya Mahfouz
                   ` (5 preceding siblings ...)
  2015-10-13 22:24 ` [lustre-devel] [PATCH 6/7] staging: lustre: osc_object.c: " Aya Mahfouz
@ 2015-10-13 22:24 ` Aya Mahfouz
  2015-10-14  2:50   ` kbuild test robot
  2015-10-24 23:04   ` kbuild test robot
  2015-10-13 22:42 ` [lustre-devel] [PATCH 0/7] staging: lustre: remove uses and definition of container_of0 Dilger, Andreas
  7 siblings, 2 replies; 13+ messages in thread
From: Aya Mahfouz @ 2015-10-13 22:24 UTC (permalink / raw)
  To: lustre-devel

All uses of container_of0 have been replaced by container_of.
container_of0 and __container_of can be safely removed.

Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@gmail.com>
---
 drivers/staging/lustre/include/linux/libcfs/libcfs.h | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/drivers/staging/lustre/include/linux/libcfs/libcfs.h b/drivers/staging/lustre/include/linux/libcfs/libcfs.h
index 385ced1..e4a0c40 100644
--- a/drivers/staging/lustre/include/linux/libcfs/libcfs.h
+++ b/drivers/staging/lustre/include/linux/libcfs/libcfs.h
@@ -128,17 +128,6 @@ void cfs_get_random_bytes(void *buf, int size);
 #include "libcfs_fail.h"
 #include "libcfs_crypto.h"
 
-/* container_of depends on "likely" which is defined in libcfs_private.h */
-static inline void *__container_of(void *ptr, unsigned long shift)
-{
-	if (IS_ERR_OR_NULL(ptr))
-		return ptr;
-	return (char *)ptr - shift;
-}
-
-#define container_of0(ptr, type, member) \
-	((type *)__container_of((void *)(ptr), offsetof(type, member)))
-
 #define _LIBCFS_H
 
 void *libcfs_kvzalloc(size_t size, gfp_t flags);
-- 
2.4.2


-- 
Kind Regards,
Aya Saif El-yazal Mahfouz

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

* [lustre-devel] [PATCH 0/7] staging: lustre: remove uses and definition of container_of0
  2015-10-13 22:19 [lustre-devel] [PATCH 0/7] staging: lustre: remove uses and definition of container_of0 Aya Mahfouz
                   ` (6 preceding siblings ...)
  2015-10-13 22:24 ` [lustre-devel] [PATCH 7/7] staging: lustre: remove container_of0 and __container_of Aya Mahfouz
@ 2015-10-13 22:42 ` Dilger, Andreas
  7 siblings, 0 replies; 13+ messages in thread
From: Dilger, Andreas @ 2015-10-13 22:42 UTC (permalink / raw)
  To: lustre-devel

On 2015/10/13, 16:19, "Aya Mahfouz" <mahfouz.saif.elyazal@gmail.com> wrote:

>container_of0 can be replaced by the Linux kernel macro container_of.
>The only difference is that container_of0 tries to evade type casting
>when the pointer is erroneous or null. All uses of container_of0 have
>been replaced by container_of and then the macro was removed in the last
>patch.

Thank you for your patch.  However, it should be noted that this blanket
replacement of container_of0() isn't necessarily safe.  If the caller isn't
explicitly checking for IS_ERR(ptr) or ptr == NULL then the container_of()
macro can transform the err/NULL pointer into another pointer that is
NOT err/NULL and cause the kernel to oops when the bad pointer is used,
even if there are later IS_ERR() or NULL checks.

I'm not against removing container_of0() completely, but not without a
clear review of the callers to determine whether err/NULL pointers are
not actually possible in this callpath, or explicit checks in the callers
for err/NULL pointers before container_of() is used.  Did you do that?

Cheers, Andreas

>Aya Mahfouz (7):
>  staging: lustre: lcommon_cl.c: replace container_of0 by container_of
>  staging: lustre: llite_nfs.c: replace container_of0 by container_of
>  staging: lustre: lu_object.c: replace container_of0 by container_of
>  staging: lustre: echo_client.c: replace container_of0 by container_of
>  staging: lustre: osc_io.c: replace container_of0 by container_of
>  staging: lustre: osc_object.c: replace container_of0 by container_of
>  staging: lustre: remove container_of0 and __container_of
>
> drivers/staging/lustre/include/linux/libcfs/libcfs.h | 11 -----------
> drivers/staging/lustre/lustre/lclient/lcommon_cl.c   | 10 +++++-----
> drivers/staging/lustre/lustre/llite/llite_nfs.c      |  2 +-
> drivers/staging/lustre/lustre/obdclass/lu_object.c   |  6 +++---
> drivers/staging/lustre/lustre/obdecho/echo_client.c  |  2 +-
> drivers/staging/lustre/lustre/osc/osc_io.c           |  4 ++--
> drivers/staging/lustre/lustre/osc/osc_object.c       |  2 +-
> 7 files changed, 13 insertions(+), 24 deletions(-)
>
>-- 
>2.4.2
>
>
>-- 
>Kind Regards,
>Aya Saif El-yazal Mahfouz
>


Cheers, Andreas
-- 
Andreas Dilger

Lustre Software Architect
Intel High Performance Data Division

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

* [lustre-devel] [PATCH 2/7] staging: lustre: llite_nfs.c: replace container_of0 by container_of
  2015-10-13 22:23 ` [lustre-devel] [PATCH 2/7] staging: lustre: llite_nfs.c: " Aya Mahfouz
@ 2015-10-13 23:25   ` kbuild test robot
  2015-10-13 23:28   ` kbuild test robot
  1 sibling, 0 replies; 13+ messages in thread
From: kbuild test robot @ 2015-10-13 23:25 UTC (permalink / raw)
  To: lustre-devel

Hi Aya,

[auto build test WARNING on staging/staging-next -- if it's inappropriate base, please suggest rules for selecting the more suitable base]

url:    https://github.com/0day-ci/linux/commits/Aya-Mahfouz/staging-lustre-remove-uses-and-definition-of-container_of0/20151014-062751
config: blackfin-allmodconfig (attached as .config)
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=blackfin 

All warnings (new ones prefixed by >>):

   drivers/staging/lustre/lustre/llite/llite_nfs.c: In function 'll_nfs_get_name_filldir':
>> drivers/staging/lustre/lustre/llite/llite_nfs.c:213:26: warning: initialization from incompatible pointer type [enabled by default]
>> drivers/staging/lustre/lustre/llite/llite_nfs.c:213:26: warning: (near initialization for 'lde') [enabled by default]

vim +213 drivers/staging/lustre/lustre/llite/llite_nfs.c

   197		if (*plen < sizeof(struct lustre_nfs_fid) / 4)
   198			return 255;
   199	
   200		nfs_fid->lnf_child = *ll_inode2fid(inode);
   201		nfs_fid->lnf_parent = *ll_inode2fid(parent);
   202		*plen = sizeof(struct lustre_nfs_fid) / 4;
   203	
   204		return LUSTRE_NFS_FID;
   205	}
   206	
   207	static int ll_nfs_get_name_filldir(struct dir_context *ctx, const char *name,
   208					   int namelen, loff_t hash, u64 ino,
   209					   unsigned type)
   210	{
   211		/* It is hack to access lde_fid for comparison with lgd_fid.
   212		 * So the input 'name' must be part of the 'lu_dirent'. */
 > 213		struct lu_dirent *lde = container_of(name, struct lu_dirent, lde_name);
   214		struct ll_getname_data *lgd =
   215			container_of(ctx, struct ll_getname_data, ctx);
   216		struct lu_fid fid;
   217	
   218		fid_le_to_cpu(&fid, &lde->lde_fid);
   219		if (lu_fid_eq(&fid, &lgd->lgd_fid)) {
   220			memcpy(lgd->lgd_name, name, namelen);
   221			lgd->lgd_name[namelen] = 0;

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/octet-stream
Size: 38047 bytes
Desc: not available
URL: <http://lists.lustre.org/pipermail/lustre-devel-lustre.org/attachments/20151014/b9f371b1/attachment-0001.obj>

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

* [lustre-devel] [PATCH 2/7] staging: lustre: llite_nfs.c: replace container_of0 by container_of
  2015-10-13 22:23 ` [lustre-devel] [PATCH 2/7] staging: lustre: llite_nfs.c: " Aya Mahfouz
  2015-10-13 23:25   ` kbuild test robot
@ 2015-10-13 23:28   ` kbuild test robot
  1 sibling, 0 replies; 13+ messages in thread
From: kbuild test robot @ 2015-10-13 23:28 UTC (permalink / raw)
  To: lustre-devel

Hi Aya,

[auto build test WARNING on staging/staging-next -- if it's inappropriate base, please suggest rules for selecting the more suitable base]

url:    https://github.com/0day-ci/linux/commits/Aya-Mahfouz/staging-lustre-remove-uses-and-definition-of-container_of0/20151014-062751
config: arm64-allmodconfig (attached as .config)
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=arm64 

All warnings (new ones prefixed by >>):

   In file included from include/linux/list.h:8:0,
                    from include/linux/wait.h:6,
                    from include/linux/fs.h:5,
                    from drivers/staging/lustre/lustre/llite/../include/linux/lustre_lite.h:44,
                    from drivers/staging/lustre/lustre/llite/../include/lustre_lite.h:45,
                    from drivers/staging/lustre/lustre/llite/llite_nfs.c:45:
   drivers/staging/lustre/lustre/llite/llite_nfs.c: In function 'll_nfs_get_name_filldir':
   include/linux/kernel.h:811:48: warning: initialization from incompatible pointer type
     const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                   ^
   drivers/staging/lustre/lustre/llite/llite_nfs.c:213:26: note: in expansion of macro 'container_of'
     struct lu_dirent *lde = container_of(name, struct lu_dirent, lde_name);
                             ^
>> include/linux/kernel.h:811:48: warning: (near initialization for 'lde')
     const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                   ^
   drivers/staging/lustre/lustre/llite/llite_nfs.c:213:26: note: in expansion of macro 'container_of'
     struct lu_dirent *lde = container_of(name, struct lu_dirent, lde_name);
                             ^

vim +/lde +811 include/linux/kernel.h

^1da177e Linus Torvalds 2005-04-16  795  
91f68b73 Wu Fengguang   2009-01-07  796  
91f68b73 Wu Fengguang   2009-01-07  797  /*
91f68b73 Wu Fengguang   2009-01-07  798   * swap - swap value of @a and @b
91f68b73 Wu Fengguang   2009-01-07  799   */
ac7b9004 Peter Zijlstra 2009-02-04  800  #define swap(a, b) \
ac7b9004 Peter Zijlstra 2009-02-04  801  	do { typeof(a) __tmp = (a); (a) = (b); (b) = __tmp; } while (0)
91f68b73 Wu Fengguang   2009-01-07  802  
^1da177e Linus Torvalds 2005-04-16  803  /**
^1da177e Linus Torvalds 2005-04-16  804   * container_of - cast a member of a structure out to the containing structure
^1da177e Linus Torvalds 2005-04-16  805   * @ptr:	the pointer to the member.
^1da177e Linus Torvalds 2005-04-16  806   * @type:	the type of the container struct this is embedded in.
^1da177e Linus Torvalds 2005-04-16  807   * @member:	the name of the member within the struct.
^1da177e Linus Torvalds 2005-04-16  808   *
^1da177e Linus Torvalds 2005-04-16  809   */
^1da177e Linus Torvalds 2005-04-16  810  #define container_of(ptr, type, member) ({			\
^1da177e Linus Torvalds 2005-04-16 @811  	const typeof( ((type *)0)->member ) *__mptr = (ptr);	\
^1da177e Linus Torvalds 2005-04-16  812  	(type *)( (char *)__mptr - offsetof(type,member) );})
^1da177e Linus Torvalds 2005-04-16  813  
b9d4f426 Arnaud Lacombe 2011-07-25  814  /* Rebuild everything on CONFIG_FTRACE_MCOUNT_RECORD */
b9d4f426 Arnaud Lacombe 2011-07-25  815  #ifdef CONFIG_FTRACE_MCOUNT_RECORD
b9d4f426 Arnaud Lacombe 2011-07-25  816  # define REBUILD_DUE_TO_FTRACE_MCOUNT_RECORD
b9d4f426 Arnaud Lacombe 2011-07-25  817  #endif
9d00f92f WANG Cong      2011-07-25  818  
58f86cc8 Rusty Russell  2014-03-24  819  /* Permissions on a sysfs file: you didn't miss the 0 prefix did you? */

:::::: The code at line 811 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/octet-stream
Size: 45658 bytes
Desc: not available
URL: <http://lists.lustre.org/pipermail/lustre-devel-lustre.org/attachments/20151014/0585f166/attachment-0001.obj>

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

* [lustre-devel] [PATCH 7/7] staging: lustre: remove container_of0 and __container_of
  2015-10-13 22:24 ` [lustre-devel] [PATCH 7/7] staging: lustre: remove container_of0 and __container_of Aya Mahfouz
@ 2015-10-14  2:50   ` kbuild test robot
  2015-10-24 23:04   ` kbuild test robot
  1 sibling, 0 replies; 13+ messages in thread
From: kbuild test robot @ 2015-10-14  2:50 UTC (permalink / raw)
  To: lustre-devel

Hi Aya,

[auto build test WARNING on staging/staging-next -- if it's inappropriate base, please suggest rules for selecting the more suitable base]

url:    https://github.com/0day-ci/linux/commits/Aya-Mahfouz/staging-lustre-remove-uses-and-definition-of-container_of0/20151014-062751
reproduce:
        # apt-get install sparse
        make ARCH=x86_64 allmodconfig
        make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

>> drivers/staging/lustre/lustre/fid/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/fid/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/fid/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/fid/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/fid/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/fid/../include/lu_object.h:745:57: sparse: got lu_object
   In file included from drivers/staging/lustre/lustre/fid/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/fid/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/fid/../include/obd.h:52,
                    from drivers/staging/lustre/lustre/fid/fid_request.c:48:
   drivers/staging/lustre/lustre/fid/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/fid/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/fid/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/fid/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/fid/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/fld/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/fld/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/fld/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/fld/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/fld/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/fld/../include/lu_object.h:745:57: sparse: got lu_object
   In file included from drivers/staging/lustre/lustre/fld/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/fld/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/fld/../include/obd.h:52,
                    from drivers/staging/lustre/lustre/fld/fld_request.c:49:
   drivers/staging/lustre/lustre/fld/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/fld/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/fld/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/fld/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/fld/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/llite/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2690:40: sparse: got cl_object_header
   In file included from drivers/staging/lustre/lustre/llite/../include/linux/../lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/llite/../include/linux/../obd_class.h:41,
                    from drivers/staging/lustre/lustre/llite/../include/linux/lustre_lite.h:47,
                    from drivers/staging/lustre/lustre/llite/../include/lustre_lite.h:45,
                    from drivers/staging/lustre/lustre/llite/dcache.c:44:
   drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/llite/llite_internal.h:45:0,
                    from drivers/staging/lustre/lustre/llite/dcache.c:48:
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/llite/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/llite/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/llite/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2690:40: sparse: got cl_object_header
   In file included from drivers/staging/lustre/lustre/llite/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/llite/../include/obd_class.h:41,
                    from drivers/staging/lustre/lustre/llite/dir.c:52:
   drivers/staging/lustre/lustre/llite/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/llite/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/llite/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/llite/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/llite/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/llite/llite_internal.h:45:0,
                    from drivers/staging/lustre/lustre/llite/dir.c:58:
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/llite/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2690:40: sparse: got cl_object_header
   In file included from drivers/staging/lustre/lustre/llite/../include/linux/../lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/llite/../include/linux/../obd_class.h:41,
                    from drivers/staging/lustre/lustre/llite/../include/linux/lustre_lite.h:47,
                    from drivers/staging/lustre/lustre/llite/../include/lustre_lite.h:45,
                    from drivers/staging/lustre/lustre/llite/llite_nfs.c:45:
   drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/llite/llite_internal.h:45:0,
                    from drivers/staging/lustre/lustre/llite/llite_nfs.c:46:
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   In file included from include/linux/list.h:8:0,
                    from include/linux/wait.h:6,
                    from include/linux/fs.h:5,
                    from drivers/staging/lustre/lustre/llite/../include/linux/lustre_lite.h:44,
                    from drivers/staging/lustre/lustre/llite/../include/lustre_lite.h:45,
                    from drivers/staging/lustre/lustre/llite/llite_nfs.c:45:
   drivers/staging/lustre/lustre/llite/llite_nfs.c: In function 'll_nfs_get_name_filldir':
   include/linux/kernel.h:811:48: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
     const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                   ^
   drivers/staging/lustre/lustre/llite/llite_nfs.c:213:26: note: in expansion of macro 'container_of'
     struct lu_dirent *lde = container_of(name, struct lu_dirent, lde_name);
                             ^
   include/linux/kernel.h:811:48: note: (near initialization for 'lde')
     const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                   ^
   drivers/staging/lustre/lustre/llite/llite_nfs.c:213:26: note: in expansion of macro 'container_of'
     struct lu_dirent *lde = container_of(name, struct lu_dirent, lde_name);
                             ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2690:40: sparse: got cl_object_header
   In file included from drivers/staging/lustre/lustre/llite/../lclient/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/llite/../lclient/../include/obd_class.h:41,
                    from drivers/staging/lustre/lustre/llite/../lclient/glimpse.c:44:
   drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/llite/../lclient/glimpse.c:54:0:
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2690:40: sparse: got cl_object_header
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2657:16: sparse: undefined identifier 'container_of0'
>> drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2657:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2657:33: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2690:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2690:33: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2674:16: sparse: undefined identifier 'container_of0'
>> drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2657:29: sparse: not a function <noident>
   In file included from drivers/staging/lustre/lustre/llite/../lclient/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/llite/../lclient/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/llite/../lclient/../include/obd.h:52,
                    from drivers/staging/lustre/lustre/llite/../lclient/lcommon_cl.c:53:
   drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/llite/../lclient/lcommon_cl.c:60:0:
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2658:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2691:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2675:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/llite/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/llite/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/llite/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2690:40: sparse: got cl_object_header
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2668:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/llite/../include/lu_object.h:737:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2690:16: sparse: undefined identifier 'container_of0'
>> drivers/staging/lustre/lustre/llite/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2690:33: sparse: undefined identifier 'struct'
   In file included from drivers/staging/lustre/lustre/llite/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/llite/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/llite/../include/obd.h:52,
                    from drivers/staging/lustre/lustre/llite/vvp_dev.c:43:
   drivers/staging/lustre/lustre/llite/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/llite/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/llite/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/llite/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/llite/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/llite/llite_internal.h:45:0,
                    from drivers/staging/lustre/lustre/llite/vvp_dev.c:45:
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2669:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   In file included from drivers/staging/lustre/lustre/llite/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/llite/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/llite/../include/obd.h:52,
                    from drivers/staging/lustre/lustre/llite/vvp_dev.c:43:
   drivers/staging/lustre/lustre/llite/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/llite/../include/lu_object.h:738:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   In file included from drivers/staging/lustre/lustre/llite/llite_internal.h:45:0,
                    from drivers/staging/lustre/lustre/llite/vvp_dev.c:45:
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2691:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/lmv/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/lmv/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lmv/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/lmv/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/lmv/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lmv/../include/lu_object.h:745:57: sparse: got lu_object
   In file included from drivers/staging/lustre/lustre/lmv/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/lmv/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/lmv/lmv_obd.c:50:
   drivers/staging/lustre/lustre/lmv/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/lmv/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/lmv/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/lmv/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/lmv/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:40: sparse: got cl_object_header
   In file included from drivers/staging/lustre/lustre/lov/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/lov/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/lov/lov_obd.c:48:
   drivers/staging/lustre/lustre/lov/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/lov/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/lov/lov_obd.c:56:0:
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:57: sparse: got lu_object
   In file included from drivers/staging/lustre/lustre/lov/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/lov/lov_pack.c:45:
   drivers/staging/lustre/lustre/lov/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/lov/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:40: sparse: got cl_object_header
>> drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:40: sparse: got lov_device
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:40: sparse: got lovsub_device
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:40: sparse: got lovsub_device
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:42: sparse: got lov_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:42: sparse: got lov_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:42: sparse: got lovsub_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:42: sparse: got lovsub_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:44: sparse: got lov_page
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:44: sparse: got lov_req
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:44: sparse: got lovsub_page
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:44: sparse: got lovsub_req
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:16: sparse: undefined identifier 'container_of0'
>> drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:33: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:16: sparse: undefined identifier 'container_of0'
>> drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:16: sparse: undefined identifier 'container_of0'
>> drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:33: sparse: undefined identifier 'struct'
   In file included from drivers/staging/lustre/lustre/lov/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/lov/../include/obd_class.h:41,
                    from drivers/staging/lustre/lustre/lov/lov_dev.c:44:
   drivers/staging/lustre/lustre/lov/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/lov/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/lov/lov_cl_internal.h:52:0,
                    from drivers/staging/lustre/lustre/lov/lov_dev.c:46:
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   In file included from drivers/staging/lustre/lustre/lov/lov_dev.c:46:0:
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lov_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:26: error: expected expression before 'struct'
     return container_of0(d, struct lov_device, ld_cl.cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lovsub_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:26: error: expected expression before 'struct'
     return container_of0(d, struct lovsub_device, acid_cl.cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:26: error: expected expression before 'struct'
     return container_of0(d, struct lovsub_device, acid_cl);
                             ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lov':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:28: error: expected expression before 'struct'
     return container_of0(obj, struct lov_object, lo_cl.co_lu);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lov':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:28: error: expected expression before 'struct'
     return container_of0(obj, struct lov_object, lo_cl);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:28: error: expected expression before 'struct'
     return container_of0(obj, struct lovsub_object, lso_cl);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lovsub':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:28: error: expected expression before 'struct'
     return container_of0(obj, struct lovsub_object, lso_cl.co_lu);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lov_page':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:30: error: expected expression before 'struct'
     return container_of0(slice, struct lov_page, lps_cl);
                                 ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lov_req':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:30: error: expected expression before 'struct'
     return container_of0(slice, struct lov_req, lr_cl);
                                 ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub_page':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:30: error: expected expression before 'struct'
     return container_of0(slice, struct lovsub_page, lsb_cl);
                                 ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub_req':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:30: error: expected expression before 'struct'
     return container_of0(slice, struct lovsub_req, lsrq_cl);
                                 ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lov_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:682:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:704:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   In file included from drivers/staging/lustre/lustre/lov/lov_cl_internal.h:52:0,
                    from drivers/staging/lustre/lustre/lov/lov_dev.c:46:
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2658:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   In file included from drivers/staging/lustre/lustre/lov/lov_dev.c:46:0:
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lov_req':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:781:1: warning: control reaches end of non-void function [-Wreturn-type]
--
>> drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:40: sparse: got cl_object_header
>> drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:40: sparse: got lov_device
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:40: sparse: got lovsub_device
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:40: sparse: got lovsub_device
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:42: sparse: got lov_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:42: sparse: got lov_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:42: sparse: got lovsub_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:42: sparse: got lovsub_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:44: sparse: got lov_page
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:44: sparse: got lov_req
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:44: sparse: got lovsub_page
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:44: sparse: got lovsub_req
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:16: sparse: undefined identifier 'container_of0'
>> drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:33: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:33: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:35: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:35: sparse: undefined identifier 'struct'
>> drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:16: sparse: undefined identifier 'container_of0'
>> drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:33: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:29: sparse: not a function <noident>
   In file included from drivers/staging/lustre/lustre/lov/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/lov/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/lov/../include/obd.h:52,
                    from drivers/staging/lustre/lustre/lov/lov_cl_internal.h:51,
                    from drivers/staging/lustre/lustre/lov/lov_object.c:44:
   drivers/staging/lustre/lustre/lov/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/lov/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/lov/lov_cl_internal.h:52:0,
                    from drivers/staging/lustre/lustre/lov/lov_object.c:44:
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   In file included from drivers/staging/lustre/lustre/lov/lov_object.c:44:0:
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lov_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:26: error: expected expression before 'struct'
     return container_of0(d, struct lov_device, ld_cl.cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lovsub_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:26: error: expected expression before 'struct'
     return container_of0(d, struct lovsub_device, acid_cl.cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:26: error: expected expression before 'struct'
     return container_of0(d, struct lovsub_device, acid_cl);
                             ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lov':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:28: error: expected expression before 'struct'
     return container_of0(obj, struct lov_object, lo_cl.co_lu);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lov':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:28: error: expected expression before 'struct'
     return container_of0(obj, struct lov_object, lo_cl);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:28: error: expected expression before 'struct'
     return container_of0(obj, struct lovsub_object, lso_cl);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lovsub':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:28: error: expected expression before 'struct'
     return container_of0(obj, struct lovsub_object, lso_cl.co_lu);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lov_page':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:30: error: expected expression before 'struct'
     return container_of0(slice, struct lov_page, lps_cl);
                                 ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lov_req':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:30: error: expected expression before 'struct'
     return container_of0(slice, struct lov_req, lr_cl);
                                 ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub_page':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:30: error: expected expression before 'struct'
     return container_of0(slice, struct lovsub_page, lsb_cl);
                                 ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub_req':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:30: error: expected expression before 'struct'
     return container_of0(slice, struct lovsub_req, lsrq_cl);
                                 ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lov':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:726:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   In file included from drivers/staging/lustre/lustre/lov/lov_cl_internal.h:52:0,
                    from drivers/staging/lustre/lustre/lov/lov_object.c:44:
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2691:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   In file included from drivers/staging/lustre/lustre/lov/lov_object.c:44:0:
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:742:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lov_dev':
--
>> drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:40: sparse: got cl_object_header
>> drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:40: sparse: got lov_device
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:40: sparse: got lovsub_device
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:40: sparse: got lovsub_device
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:42: sparse: got lov_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:42: sparse: got lov_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:42: sparse: got lovsub_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:42: sparse: got lovsub_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:44: sparse: got lov_page
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:44: sparse: got lov_req
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:44: sparse: got lovsub_page
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:44: sparse: got lovsub_req
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:37: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:16: sparse: undefined identifier 'container_of0'
   In file included from drivers/staging/lustre/lustre/lov/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/lov/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/lov/../include/obd.h:52,
                    from drivers/staging/lustre/lustre/lov/lov_cl_internal.h:51,
                    from drivers/staging/lustre/lustre/lov/lov_page.c:43:
   drivers/staging/lustre/lustre/lov/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/lov/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/lov/lov_cl_internal.h:52:0,
                    from drivers/staging/lustre/lustre/lov/lov_page.c:43:
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   In file included from drivers/staging/lustre/lustre/lov/lov_page.c:43:0:
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lov_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:26: error: expected expression before 'struct'
     return container_of0(d, struct lov_device, ld_cl.cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lovsub_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:26: error: expected expression before 'struct'
     return container_of0(d, struct lovsub_device, acid_cl.cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:26: error: expected expression before 'struct'
     return container_of0(d, struct lovsub_device, acid_cl);
                             ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lov':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:28: error: expected expression before 'struct'
     return container_of0(obj, struct lov_object, lo_cl.co_lu);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lov':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:28: error: expected expression before 'struct'
     return container_of0(obj, struct lov_object, lo_cl);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:28: error: expected expression before 'struct'
     return container_of0(obj, struct lovsub_object, lso_cl);
                               ^
--
>> drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:40: sparse: got cl_object_header
>> drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:40: sparse: got lov_device
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:40: sparse: got lovsub_device
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:40: sparse: got lovsub_device
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:42: sparse: got lov_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:42: sparse: got lov_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:42: sparse: got lovsub_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:42: sparse: got lovsub_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:44: sparse: got lov_page
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:44: sparse: got lov_req
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:44: sparse: got lovsub_page
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:44: sparse: got lovsub_req
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:16: sparse: undefined identifier 'container_of0'
>> drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:33: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:35: sparse: undefined identifier 'struct'
>> drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:29: sparse: not a function <noident>
   In file included from drivers/staging/lustre/lustre/lov/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/lov/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/lov/../include/obd.h:52,
                    from drivers/staging/lustre/lustre/lov/lov_cl_internal.h:51,
                    from drivers/staging/lustre/lustre/lov/lov_lock.c:43:
   drivers/staging/lustre/lustre/lov/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/lov/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/lov/lov_cl_internal.h:52:0,
                    from drivers/staging/lustre/lustre/lov/lov_lock.c:43:
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   In file included from drivers/staging/lustre/lustre/lov/lov_lock.c:43:0:
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lov_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:26: error: expected expression before 'struct'
     return container_of0(d, struct lov_device, ld_cl.cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lovsub_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:26: error: expected expression before 'struct'
     return container_of0(d, struct lovsub_device, acid_cl.cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:26: error: expected expression before 'struct'
     return container_of0(d, struct lovsub_device, acid_cl);
                             ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lov':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:28: error: expected expression before 'struct'
     return container_of0(obj, struct lov_object, lo_cl.co_lu);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lov':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:28: error: expected expression before 'struct'
     return container_of0(obj, struct lov_object, lo_cl);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:28: error: expected expression before 'struct'
     return container_of0(obj, struct lovsub_object, lso_cl);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lovsub':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:28: error: expected expression before 'struct'
     return container_of0(obj, struct lovsub_object, lso_cl.co_lu);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lov_page':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:30: error: expected expression before 'struct'
     return container_of0(slice, struct lov_page, lps_cl);
                                 ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lov_req':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:30: error: expected expression before 'struct'
     return container_of0(slice, struct lov_req, lr_cl);
                                 ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub_page':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:30: error: expected expression before 'struct'
     return container_of0(slice, struct lovsub_page, lsb_cl);
                                 ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub_req':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:30: error: expected expression before 'struct'
     return container_of0(slice, struct lovsub_req, lsrq_cl);
                                 ^
   In file included from drivers/staging/lustre/lustre/lov/lov_cl_internal.h:52:0,
                    from drivers/staging/lustre/lustre/lov/lov_lock.c:43:
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2691:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   In file included from drivers/staging/lustre/lustre/lov/lov_lock.c:43:0:
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lov':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:726:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:40: sparse: got cl_object_header
>> drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:40: sparse: got lov_device
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:40: sparse: got lovsub_device
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:40: sparse: got lovsub_device
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:42: sparse: got lov_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:42: sparse: got lov_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:42: sparse: got lovsub_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:42: sparse: got lovsub_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:44: sparse: got lov_page
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:44: sparse: got lov_req
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:44: sparse: got lovsub_page
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:44: sparse: got lovsub_req
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:35: sparse: undefined identifier 'struct'
>> drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:33: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:29: sparse: not a function <noident>
   In file included from drivers/staging/lustre/lustre/lov/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/lov/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/lov/../include/obd.h:52,
                    from drivers/staging/lustre/lustre/lov/lov_cl_internal.h:51,
                    from drivers/staging/lustre/lustre/lov/lov_io.c:44:
   drivers/staging/lustre/lustre/lov/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/lov/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/lov/lov_cl_internal.h:52:0,
                    from drivers/staging/lustre/lustre/lov/lov_io.c:44:
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   In file included from drivers/staging/lustre/lustre/lov/lov_io.c:44:0:
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lov_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:26: error: expected expression before 'struct'
     return container_of0(d, struct lov_device, ld_cl.cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lovsub_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:26: error: expected expression before 'struct'
     return container_of0(d, struct lovsub_device, acid_cl.cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:26: error: expected expression before 'struct'
     return container_of0(d, struct lovsub_device, acid_cl);
                             ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lov':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:28: error: expected expression before 'struct'
     return container_of0(obj, struct lov_object, lo_cl.co_lu);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lov':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:28: error: expected expression before 'struct'
     return container_of0(obj, struct lov_object, lo_cl);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:28: error: expected expression before 'struct'
     return container_of0(obj, struct lovsub_object, lso_cl);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lovsub':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:28: error: expected expression before 'struct'
     return container_of0(obj, struct lovsub_object, lso_cl.co_lu);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lov_page':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:30: error: expected expression before 'struct'
     return container_of0(slice, struct lov_page, lps_cl);
                                 ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lov_req':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:30: error: expected expression before 'struct'
     return container_of0(slice, struct lov_req, lr_cl);
                                 ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub_page':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:30: error: expected expression before 'struct'
     return container_of0(slice, struct lovsub_page, lsb_cl);
                                 ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub_req':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:30: error: expected expression before 'struct'
     return container_of0(slice, struct lovsub_req, lsrq_cl);
                                 ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lov_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:682:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lov':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:726:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lovsub':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:748:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
--
>> drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:40: sparse: got cl_object_header
>> drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:40: sparse: got lov_device
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:40: sparse: got lovsub_device
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:40: sparse: got lovsub_device
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:42: sparse: got lov_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:42: sparse: got lov_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:42: sparse: got lovsub_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:42: sparse: got lovsub_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:44: sparse: got lov_page
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:44: sparse: got lov_req
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:44: sparse: got lovsub_page
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:44: sparse: got lovsub_req
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:33: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:33: sparse: undefined identifier 'struct'
   In file included from drivers/staging/lustre/lustre/lov/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/lov/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/lov/../include/obd.h:52,
                    from drivers/staging/lustre/lustre/lov/lov_cl_internal.h:51,
                    from drivers/staging/lustre/lustre/lov/lovsub_dev.c:41:
   drivers/staging/lustre/lustre/lov/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/lov/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/lov/lov_cl_internal.h:52:0,
                    from drivers/staging/lustre/lustre/lov/lovsub_dev.c:41:
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   In file included from drivers/staging/lustre/lustre/lov/lovsub_dev.c:41:0:
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lov_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:26: error: expected expression before 'struct'
     return container_of0(d, struct lov_device, ld_cl.cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lovsub_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:26: error: expected expression before 'struct'
     return container_of0(d, struct lovsub_device, acid_cl.cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:26: error: expected expression before 'struct'
     return container_of0(d, struct lovsub_device, acid_cl);
                             ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lov':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:28: error: expected expression before 'struct'
     return container_of0(obj, struct lov_object, lo_cl.co_lu);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lov':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:28: error: expected expression before 'struct'
     return container_of0(obj, struct lov_object, lo_cl);
                               ^
--
>> drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:40: sparse: got cl_object_header
>> drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:40: sparse: got lov_device
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:40: sparse: got lovsub_device
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:40: sparse: got lovsub_device
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:42: sparse: got lov_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:42: sparse: got lov_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:42: sparse: got lovsub_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:42: sparse: got lovsub_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:44: sparse: got lov_page
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:44: sparse: got lov_req
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:44: sparse: got lovsub_page
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:44: sparse: got lovsub_req
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:16: sparse: undefined identifier 'container_of0'
>> drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:33: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:35: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:35: sparse: undefined identifier 'struct'
   In file included from drivers/staging/lustre/lustre/lov/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/lov/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/lov/../include/obd.h:52,
                    from drivers/staging/lustre/lustre/lov/lov_cl_internal.h:51,
                    from drivers/staging/lustre/lustre/lov/lovsub_object.c:43:
   drivers/staging/lustre/lustre/lov/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/lov/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/lov/lov_cl_internal.h:52:0,
                    from drivers/staging/lustre/lustre/lov/lovsub_object.c:43:
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   In file included from drivers/staging/lustre/lustre/lov/lovsub_object.c:43:0:
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lov_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:26: error: expected expression before 'struct'
     return container_of0(d, struct lov_device, ld_cl.cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lovsub_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:26: error: expected expression before 'struct'
     return container_of0(d, struct lovsub_device, acid_cl.cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:26: error: expected expression before 'struct'
     return container_of0(d, struct lovsub_device, acid_cl);
                             ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lov':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:28: error: expected expression before 'struct'
     return container_of0(obj, struct lov_object, lo_cl.co_lu);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lov':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:28: error: expected expression before 'struct'
     return container_of0(obj, struct lov_object, lo_cl);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:28: error: expected expression before 'struct'
     return container_of0(obj, struct lovsub_object, lso_cl);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lovsub':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:28: error: expected expression before 'struct'
     return container_of0(obj, struct lovsub_object, lso_cl.co_lu);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lov_page':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:30: error: expected expression before 'struct'
     return container_of0(slice, struct lov_page, lps_cl);
                                 ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lov_req':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:30: error: expected expression before 'struct'
     return container_of0(slice, struct lov_req, lr_cl);
                                 ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub_page':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:30: error: expected expression before 'struct'
     return container_of0(slice, struct lovsub_page, lsb_cl);
                                 ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub_req':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:30: error: expected expression before 'struct'
     return container_of0(slice, struct lovsub_req, lsrq_cl);
                                 ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lovsub_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:698:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   In file included from drivers/staging/lustre/lustre/lov/lov_cl_internal.h:52:0,
                    from drivers/staging/lustre/lustre/lov/lovsub_object.c:43:
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2669:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
--
>> drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:40: sparse: got cl_object_header
>> drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:40: sparse: got lov_device
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:40: sparse: got lovsub_device
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:40: sparse: got lovsub_device
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:42: sparse: got lov_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:42: sparse: got lov_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:42: sparse: got lovsub_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:42: sparse: got lovsub_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:44: sparse: got lov_page
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:44: sparse: got lov_req
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:44: sparse: got lovsub_page
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:44: sparse: got lovsub_req
   In file included from drivers/staging/lustre/lustre/lov/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/lov/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/lov/../include/obd.h:52,
                    from drivers/staging/lustre/lustre/lov/lov_cl_internal.h:51,
                    from drivers/staging/lustre/lustre/lov/lovsub_page.c:41:
   drivers/staging/lustre/lustre/lov/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/lov/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/lov/lov_cl_internal.h:52:0,
                    from drivers/staging/lustre/lustre/lov/lovsub_page.c:41:
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   In file included from drivers/staging/lustre/lustre/lov/lovsub_page.c:41:0:
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lov_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:26: error: expected expression before 'struct'
     return container_of0(d, struct lov_device, ld_cl.cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lovsub_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:26: error: expected expression before 'struct'
     return container_of0(d, struct lovsub_device, acid_cl.cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:26: error: expected expression before 'struct'
     return container_of0(d, struct lovsub_device, acid_cl);
                             ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lov':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:28: error: expected expression before 'struct'
     return container_of0(obj, struct lov_object, lo_cl.co_lu);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lov':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:28: error: expected expression before 'struct'
     return container_of0(obj, struct lov_object, lo_cl);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:28: error: expected expression before 'struct'
     return container_of0(obj, struct lovsub_object, lso_cl);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lovsub':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:28: error: expected expression before 'struct'
     return container_of0(obj, struct lovsub_object, lso_cl.co_lu);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lov_page':
--
>> drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:40: sparse: got cl_object_header
>> drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:40: sparse: got lov_device
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:40: sparse: got lovsub_device
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:33: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:40: sparse: got lovsub_device
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:42: sparse: got lov_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:42: sparse: got lov_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:42: sparse: got lovsub_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:35: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:42: sparse: got lovsub_object
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:775:44: sparse: got lov_page
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:780:44: sparse: got lov_req
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:787:44: sparse: got lovsub_page
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:37: sparse: typename in expression
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:792:44: sparse: got lovsub_req
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:16: sparse: undefined identifier 'container_of0'
   In file included from drivers/staging/lustre/lustre/lov/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/lov/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/lov/../include/obd.h:52,
                    from drivers/staging/lustre/lustre/lov/lov_cl_internal.h:51,
                    from drivers/staging/lustre/lustre/lov/lovsub_lock.c:43:
   drivers/staging/lustre/lustre/lov/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/lov/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/lov/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/lov/lov_cl_internal.h:52:0,
                    from drivers/staging/lustre/lustre/lov/lovsub_lock.c:43:
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/lov/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/lov/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   In file included from drivers/staging/lustre/lustre/lov/lovsub_lock.c:43:0:
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lov_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:681:26: error: expected expression before 'struct'
     return container_of0(d, struct lov_device, ld_cl.cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lovsub_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:697:26: error: expected expression before 'struct'
     return container_of0(d, struct lovsub_device, acid_cl.cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub_dev':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:703:26: error: expected expression before 'struct'
     return container_of0(d, struct lovsub_device, acid_cl);
                             ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lov':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:719:28: error: expected expression before 'struct'
     return container_of0(obj, struct lov_object, lo_cl.co_lu);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lov':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:725:28: error: expected expression before 'struct'
     return container_of0(obj, struct lov_object, lo_cl);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'cl2lovsub':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:741:28: error: expected expression before 'struct'
     return container_of0(obj, struct lovsub_object, lso_cl);
                               ^
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h: In function 'lu2lovsub':
   drivers/staging/lustre/lustre/lov/lov_cl_internal.h:747:28: error: expected expression before 'struct'
     return container_of0(obj, struct lovsub_object, lso_cl.co_lu);
                               ^
--
>> drivers/staging/lustre/lustre/mdc/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/mdc/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/mdc/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/mdc/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/mdc/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/mdc/../include/lu_object.h:745:57: sparse: got lu_object
   In file included from drivers/staging/lustre/lustre/mdc/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/mdc/../include/obd_class.h:41,
                    from drivers/staging/lustre/lustre/mdc/mdc_request.c:46:
   drivers/staging/lustre/lustre/mdc/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/mdc/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/mdc/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/mdc/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/mdc/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/mgc/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/mgc/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/mgc/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/mgc/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/mgc/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/mgc/../include/lu_object.h:745:57: sparse: got lu_object
   In file included from drivers/staging/lustre/lustre/mgc/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/mgc/../include/obd_class.h:41,
                    from drivers/staging/lustre/lustre/mgc/mgc_request.c:45:
   drivers/staging/lustre/lustre/mgc/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/mgc/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/mgc/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/mgc/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/mgc/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:745:57: sparse: got lu_object
   In file included from drivers/staging/lustre/lustre/obdclass/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/obdclass/../include/obd_class.h:41,
                    from drivers/staging/lustre/lustre/obdclass/llog_obd.c:39:
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:40: sparse: got cl_object_header
   In file included from drivers/staging/lustre/lustre/obdclass/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/obdclass/../include/obd_class.h:41,
                    from drivers/staging/lustre/lustre/obdclass/class_obd.c:41:
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/obdclass/class_obd.c:47:0:
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:745:57: sparse: got lu_object
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:16: sparse: undefined identifier 'container_of0'
>> drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:50: sparse: undefined identifier 'struct'
>> drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:29: sparse: not a function <noident>
   In file included from drivers/staging/lustre/lustre/obdclass/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/obdclass/../include/obd_class.h:41,
                    from drivers/staging/lustre/lustre/obdclass/lu_object.c:53:
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:738:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:40: sparse: got cl_object_header
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2668:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:16: sparse: undefined identifier 'container_of0'
>> drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2668:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2668:33: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:33: sparse: undefined identifier 'struct'
>> drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:50: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2657:16: sparse: undefined identifier 'container_of0'
   In file included from drivers/staging/lustre/lustre/obdclass/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/obdclass/../include/obd_class.h:41,
                    from drivers/staging/lustre/lustre/obdclass/cl_object.c:56:
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/obdclass/cl_object.c:61:0:
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2669:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2691:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   In file included from drivers/staging/lustre/lustre/obdclass/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/obdclass/../include/obd_class.h:41,
                    from drivers/staging/lustre/lustre/obdclass/cl_object.c:56:
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:738:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   In file included from drivers/staging/lustre/lustre/obdclass/cl_object.c:61:0:
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2658:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:40: sparse: got cl_object_header
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:33: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   In file included from drivers/staging/lustre/lustre/obdclass/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/obdclass/../include/obd_class.h:41,
                    from drivers/staging/lustre/lustre/obdclass/cl_page.c:44:
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/obdclass/cl_page.c:48:0:
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2691:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:40: sparse: got cl_object_header
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:33: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:29: sparse: not a function <noident>
   In file included from drivers/staging/lustre/lustre/obdclass/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/obdclass/../include/obd_class.h:41,
                    from drivers/staging/lustre/lustre/obdclass/cl_lock.c:43:
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/obdclass/cl_lock.c:47:0:
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2691:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:40: sparse: got cl_object_header
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2657:16: sparse: undefined identifier 'container_of0'
   In file included from drivers/staging/lustre/lustre/obdclass/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/obdclass/../include/obd_class.h:41,
                    from drivers/staging/lustre/lustre/obdclass/cl_io.c:43:
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/obdclass/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/obdclass/cl_io.c:47:0:
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/obdclass/../include/cl_object.h:2658:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/obdclass/linux/../../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/linux/../../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/linux/../../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/obdclass/linux/../../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/obdclass/linux/../../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdclass/linux/../../include/lu_object.h:745:57: sparse: got lu_object
   In file included from drivers/staging/lustre/lustre/obdclass/linux/../../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/obdclass/linux/../../include/obd_class.h:41,
                    from drivers/staging/lustre/lustre/obdclass/linux/linux-module.c:71:
   drivers/staging/lustre/lustre/obdclass/linux/../../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/obdclass/linux/../../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/obdclass/linux/../../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/obdclass/linux/../../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/obdclass/linux/../../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/obdecho/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/obdecho/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdecho/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/obdecho/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/obdecho/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdecho/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2690:40: sparse: got cl_object_header
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2690:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2657:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2668:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2674:16: sparse: undefined identifier 'container_of0'
>> drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2668:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2668:33: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2690:33: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2690:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2668:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2668:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2657:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2657:33: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2657:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2657:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2657:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2657:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2657:29: sparse: not a function <noident>
   In file included from drivers/staging/lustre/lustre/obdecho/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/obdecho/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/obdecho/../include/obd.h:52,
                    from drivers/staging/lustre/lustre/obdecho/echo_client.c:40:
   drivers/staging/lustre/lustre/obdecho/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/obdecho/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/obdecho/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/obdecho/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/obdecho/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/obdecho/echo_client.c:45:0:
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2658:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2669:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2675:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/obdecho/../include/cl_object.h:2691:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:40: sparse: got cl_object_header
>> drivers/staging/lustre/lustre/osc/osc_internal.h:177:45: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:52: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:52: sparse: got osc_device
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:40: sparse: got osc_device
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:35: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:42: sparse: got osc_object
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:37: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:44: sparse: got osc_page
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:35: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:42: sparse: got osc_page
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:37: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:44: sparse: got osc_lock
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:16: sparse: undefined identifier 'container_of0'
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:33: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:37: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:37: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:16: sparse: undefined identifier 'container_of0'
>> drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:33: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:35: sparse: undefined identifier 'struct'
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
   In file included from drivers/staging/lustre/lustre/osc/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/osc/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/osc/../include/obd.h:52,
                    from drivers/staging/lustre/lustre/osc/osc_cl_internal.h:51,
                    from drivers/staging/lustre/lustre/osc/osc_page.c:43:
   drivers/staging/lustre/lustre/osc/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/osc/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/osc/osc_cl_internal.h:53:0,
                    from drivers/staging/lustre/lustre/osc/osc_page.c:43:
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   In file included from drivers/staging/lustre/lustre/osc/osc_cl_internal.h:55:0,
                    from drivers/staging/lustre/lustre/osc/osc_page.c:43:
   drivers/staging/lustre/lustre/osc/osc_internal.h: In function 'obd2osc_dev':
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:38: error: expected expression before 'struct'
     return container_of0(d->obd_lu_dev, struct osc_device, od_cl.cd_lu_dev);
                                         ^
   In file included from drivers/staging/lustre/lustre/osc/osc_page.c:43:0:
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'lu2osc_dev':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:26: error: expected expression before 'struct'
     return container_of0(d, struct osc_device, od_cl.cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:28: error: expected expression before 'struct'
     return container_of0(obj, struct osc_object, oo_cl);
                               ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc_page':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:30: error: expected expression before 'struct'
     return container_of0(slice, struct osc_page, ops_cl);
                                 ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'oap2osc':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:28: error: expected expression before 'struct'
     return container_of0(oap, struct osc_page, ops_oap);
                               ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc_lock':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:30: error: expected expression before 'struct'
     return container_of0(slice, struct osc_lock, ols_cl);
                                 ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc_page':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:551:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'lu2osc_dev':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:502:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc_lock':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:572:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   In file included from drivers/staging/lustre/lustre/osc/osc_cl_internal.h:53:0,
                    from drivers/staging/lustre/lustre/osc/osc_page.c:43:
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2691:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   In file included from drivers/staging/lustre/lustre/osc/osc_page.c:43:0:
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:518:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:40: sparse: got cl_object_header
>> drivers/staging/lustre/lustre/osc/osc_internal.h:177:45: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:52: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:52: sparse: got osc_device
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:40: sparse: got osc_device
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:35: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:42: sparse: got osc_object
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:37: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:44: sparse: got osc_page
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:35: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:42: sparse: got osc_page
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:37: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:44: sparse: got osc_lock
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:16: sparse: undefined identifier 'container_of0'
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:33: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:35: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:37: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:16: sparse: undefined identifier 'container_of0'
>> drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:33: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:29: sparse: not a function <noident>
   In file included from drivers/staging/lustre/lustre/osc/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/osc/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/osc/../include/obd.h:52,
                    from drivers/staging/lustre/lustre/osc/osc_cl_internal.h:51,
                    from drivers/staging/lustre/lustre/osc/osc_lock.c:47:
   drivers/staging/lustre/lustre/osc/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/osc/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/osc/osc_cl_internal.h:53:0,
                    from drivers/staging/lustre/lustre/osc/osc_lock.c:47:
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   In file included from drivers/staging/lustre/lustre/osc/osc_cl_internal.h:55:0,
                    from drivers/staging/lustre/lustre/osc/osc_lock.c:47:
   drivers/staging/lustre/lustre/osc/osc_internal.h: In function 'obd2osc_dev':
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:38: error: expected expression before 'struct'
     return container_of0(d->obd_lu_dev, struct osc_device, od_cl.cd_lu_dev);
                                         ^
   In file included from drivers/staging/lustre/lustre/osc/osc_lock.c:47:0:
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'lu2osc_dev':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:26: error: expected expression before 'struct'
     return container_of0(d, struct osc_device, od_cl.cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:28: error: expected expression before 'struct'
     return container_of0(obj, struct osc_object, oo_cl);
                               ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc_page':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:30: error: expected expression before 'struct'
     return container_of0(slice, struct osc_page, ops_cl);
                                 ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'oap2osc':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:28: error: expected expression before 'struct'
     return container_of0(oap, struct osc_page, ops_oap);
                               ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc_lock':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:30: error: expected expression before 'struct'
     return container_of0(slice, struct osc_lock, ols_cl);
                                 ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:572:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:518:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   In file included from drivers/staging/lustre/lustre/osc/osc_cl_internal.h:53:0,
                    from drivers/staging/lustre/lustre/osc/osc_lock.c:47:
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2691:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   In file included from drivers/staging/lustre/lustre/osc/osc_lock.c:47:0:
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'lu2osc_dev':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:502:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:40: sparse: got cl_object_header
>> drivers/staging/lustre/lustre/osc/osc_internal.h:177:45: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:52: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:52: sparse: got osc_device
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:40: sparse: got osc_device
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:35: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:42: sparse: got osc_object
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:37: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:44: sparse: got osc_page
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:35: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:42: sparse: got osc_page
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:37: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:44: sparse: got osc_lock
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:35: sparse: undefined identifier 'struct'
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:33: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:37: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:16: sparse: undefined identifier 'container_of0'
>> drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:33: sparse: undefined identifier 'struct'
>> drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:16: sparse: undefined identifier 'container_of0'
   In file included from drivers/staging/lustre/lustre/osc/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/osc/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/osc/../include/obd.h:52,
                    from drivers/staging/lustre/lustre/osc/osc_cl_internal.h:51,
                    from drivers/staging/lustre/lustre/osc/osc_io.c:44:
   drivers/staging/lustre/lustre/osc/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/osc/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/osc/osc_cl_internal.h:53:0,
                    from drivers/staging/lustre/lustre/osc/osc_io.c:44:
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   In file included from drivers/staging/lustre/lustre/osc/osc_cl_internal.h:55:0,
                    from drivers/staging/lustre/lustre/osc/osc_io.c:44:
   drivers/staging/lustre/lustre/osc/osc_internal.h: In function 'obd2osc_dev':
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:38: error: expected expression before 'struct'
     return container_of0(d->obd_lu_dev, struct osc_device, od_cl.cd_lu_dev);
                                         ^
   In file included from drivers/staging/lustre/lustre/osc/osc_io.c:44:0:
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'lu2osc_dev':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:26: error: expected expression before 'struct'
     return container_of0(d, struct osc_device, od_cl.cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:28: error: expected expression before 'struct'
     return container_of0(obj, struct osc_object, oo_cl);
                               ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc_page':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:30: error: expected expression before 'struct'
     return container_of0(slice, struct osc_page, ops_cl);
                                 ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'oap2osc':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:28: error: expected expression before 'struct'
     return container_of0(oap, struct osc_page, ops_oap);
                               ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc_lock':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:30: error: expected expression before 'struct'
     return container_of0(slice, struct osc_lock, ols_cl);
                                 ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:518:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc_page':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:551:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'lu2osc_dev':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:502:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   In file included from drivers/staging/lustre/lustre/osc/osc_cl_internal.h:53:0,
                    from drivers/staging/lustre/lustre/osc/osc_io.c:44:
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2691:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   In file included from drivers/staging/lustre/lustre/osc/osc_io.c:44:0:
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc_lock':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:572:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:40: sparse: got cl_object_header
>> drivers/staging/lustre/lustre/osc/osc_internal.h:177:45: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:52: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:52: sparse: got osc_device
   In file included from drivers/staging/lustre/lustre/osc/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/osc/../include/obd_class.h:41,
                    from drivers/staging/lustre/lustre/osc/osc_quota.c:31:
   drivers/staging/lustre/lustre/osc/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/osc/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/osc/osc_internal.h:104:0,
                    from drivers/staging/lustre/lustre/osc/osc_quota.c:32:
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   In file included from drivers/staging/lustre/lustre/osc/osc_quota.c:32:0:
   drivers/staging/lustre/lustre/osc/osc_internal.h: In function 'obd2osc_dev':
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:38: error: expected expression before 'struct'
     return container_of0(d->obd_lu_dev, struct osc_device, od_cl.cd_lu_dev);
                                         ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:40: sparse: got cl_object_header
>> drivers/staging/lustre/lustre/osc/osc_internal.h:177:45: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:52: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:52: sparse: got osc_device
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:40: sparse: got osc_device
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:35: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:42: sparse: got osc_object
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:37: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:44: sparse: got osc_page
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:35: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:42: sparse: got osc_page
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:37: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:44: sparse: got osc_lock
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:16: sparse: undefined identifier 'container_of0'
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:33: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:35: sparse: undefined identifier 'struct'
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:16: sparse: undefined identifier 'container_of0'
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:35: sparse: undefined identifier 'struct'
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:29: sparse: not a function <noident>
   In file included from drivers/staging/lustre/lustre/osc/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/osc/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/osc/../include/obd.h:52,
                    from drivers/staging/lustre/lustre/osc/osc_cl_internal.h:51,
                    from drivers/staging/lustre/lustre/osc/osc_cache.c:44:
   drivers/staging/lustre/lustre/osc/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/osc/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/osc/osc_cl_internal.h:53:0,
                    from drivers/staging/lustre/lustre/osc/osc_cache.c:44:
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   In file included from drivers/staging/lustre/lustre/osc/osc_cl_internal.h:55:0,
                    from drivers/staging/lustre/lustre/osc/osc_cache.c:44:
   drivers/staging/lustre/lustre/osc/osc_internal.h: In function 'obd2osc_dev':
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:38: error: expected expression before 'struct'
     return container_of0(d->obd_lu_dev, struct osc_device, od_cl.cd_lu_dev);
                                         ^
   In file included from drivers/staging/lustre/lustre/osc/osc_cache.c:44:0:
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'lu2osc_dev':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:26: error: expected expression before 'struct'
     return container_of0(d, struct osc_device, od_cl.cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:28: error: expected expression before 'struct'
     return container_of0(obj, struct osc_object, oo_cl);
                               ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc_page':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:30: error: expected expression before 'struct'
     return container_of0(slice, struct osc_page, ops_cl);
                                 ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'oap2osc':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:28: error: expected expression before 'struct'
     return container_of0(oap, struct osc_page, ops_oap);
                               ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc_lock':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:30: error: expected expression before 'struct'
     return container_of0(slice, struct osc_lock, ols_cl);
                                 ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'oap2osc':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:556:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'lu2osc_dev':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:502:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:518:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:40: sparse: got cl_object_header
>> drivers/staging/lustre/lustre/osc/osc_internal.h:177:45: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:52: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:52: sparse: got osc_device
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:16: sparse: undefined identifier 'container_of0'
>> drivers/staging/lustre/lustre/osc/osc_internal.h:177:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:45: sparse: undefined identifier 'struct'
>> drivers/staging/lustre/lustre/osc/osc_internal.h:177:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/osc_internal.h:177:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/osc_internal.h:177:29: sparse: not a function <noident>
>> drivers/staging/lustre/lustre/osc/osc_internal.h:177:29: sparse: not a function <noident>
   In file included from drivers/staging/lustre/lustre/osc/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/osc/../include/obd_class.h:41,
                    from drivers/staging/lustre/lustre/osc/lproc_osc.c:40:
   drivers/staging/lustre/lustre/osc/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/osc/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/osc/osc_internal.h:104:0,
                    from drivers/staging/lustre/lustre/osc/lproc_osc.c:43:
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   In file included from drivers/staging/lustre/lustre/osc/lproc_osc.c:43:0:
   drivers/staging/lustre/lustre/osc/osc_internal.h: In function 'obd2osc_dev':
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:38: error: expected expression before 'struct'
     return container_of0(d->obd_lu_dev, struct osc_device, od_cl.cd_lu_dev);
                                         ^
   drivers/staging/lustre/lustre/osc/osc_internal.h:178:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:40: sparse: got cl_object_header
>> drivers/staging/lustre/lustre/osc/osc_internal.h:177:45: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:52: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:52: sparse: got osc_device
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:40: sparse: got osc_device
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:35: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:42: sparse: got osc_object
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:37: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:44: sparse: got osc_page
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:35: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:42: sparse: got osc_page
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:37: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:44: sparse: got osc_lock
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:16: sparse: undefined identifier 'container_of0'
   In file included from drivers/staging/lustre/lustre/osc/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/osc/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/osc/../include/lustre_dlm.h:51,
                    from drivers/staging/lustre/lustre/osc/osc_request.c:41:
   drivers/staging/lustre/lustre/osc/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/osc/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/osc/osc_internal.h:104:0,
                    from drivers/staging/lustre/lustre/osc/osc_request.c:53:
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   In file included from drivers/staging/lustre/lustre/osc/osc_request.c:53:0:
   drivers/staging/lustre/lustre/osc/osc_internal.h: In function 'obd2osc_dev':
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:38: error: expected expression before 'struct'
     return container_of0(d->obd_lu_dev, struct osc_device, od_cl.cd_lu_dev);
                                         ^
   In file included from drivers/staging/lustre/lustre/osc/osc_request.c:54:0:
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'lu2osc_dev':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:26: error: expected expression before 'struct'
     return container_of0(d, struct osc_device, od_cl.cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:28: error: expected expression before 'struct'
     return container_of0(obj, struct osc_object, oo_cl);
                               ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc_page':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:30: error: expected expression before 'struct'
     return container_of0(slice, struct osc_page, ops_cl);
                                 ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'oap2osc':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:28: error: expected expression before 'struct'
     return container_of0(oap, struct osc_page, ops_oap);
                               ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc_lock':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:30: error: expected expression before 'struct'
     return container_of0(slice, struct osc_lock, ols_cl);
                                 ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'oap2osc':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:556:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:40: sparse: got cl_object_header
>> drivers/staging/lustre/lustre/osc/osc_internal.h:177:45: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:52: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:52: sparse: got osc_device
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:40: sparse: got osc_device
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:35: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:42: sparse: got osc_object
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:37: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:44: sparse: got osc_page
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:35: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:42: sparse: got osc_page
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:37: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:44: sparse: got osc_lock
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:16: sparse: undefined identifier 'container_of0'
   In file included from drivers/staging/lustre/lustre/osc/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/osc/../include/obd_class.h:41,
                    from drivers/staging/lustre/lustre/osc/osc_dev.c:44:
   drivers/staging/lustre/lustre/osc/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/osc/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/osc/osc_cl_internal.h:53:0,
                    from drivers/staging/lustre/lustre/osc/osc_dev.c:46:
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   In file included from drivers/staging/lustre/lustre/osc/osc_cl_internal.h:55:0,
                    from drivers/staging/lustre/lustre/osc/osc_dev.c:46:
   drivers/staging/lustre/lustre/osc/osc_internal.h: In function 'obd2osc_dev':
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:38: error: expected expression before 'struct'
     return container_of0(d->obd_lu_dev, struct osc_device, od_cl.cd_lu_dev);
                                         ^
   In file included from drivers/staging/lustre/lustre/osc/osc_dev.c:46:0:
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'lu2osc_dev':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:26: error: expected expression before 'struct'
     return container_of0(d, struct osc_device, od_cl.cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:28: error: expected expression before 'struct'
     return container_of0(obj, struct osc_object, oo_cl);
                               ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc_page':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:30: error: expected expression before 'struct'
     return container_of0(slice, struct osc_page, ops_cl);
                                 ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'oap2osc':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:28: error: expected expression before 'struct'
     return container_of0(oap, struct osc_page, ops_oap);
                               ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc_lock':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:30: error: expected expression before 'struct'
     return container_of0(slice, struct osc_lock, ols_cl);
                                 ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'lu2osc_dev':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:502:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   In file included from drivers/staging/lustre/lustre/osc/osc_cl_internal.h:53:0,
                    from drivers/staging/lustre/lustre/osc/osc_dev.c:46:
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2658:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:40: sparse: got cl_object_header
>> drivers/staging/lustre/lustre/osc/osc_internal.h:177:45: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:52: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:52: sparse: got osc_device
>> drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:33: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:40: sparse: got osc_device
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:35: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:42: sparse: got osc_object
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:37: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:44: sparse: got osc_page
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:35: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:42: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:42: sparse: got osc_page
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:37: sparse: typename in expression
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:44: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:44: sparse: got osc_lock
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:16: sparse: undefined identifier 'container_of0'
>> drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:33: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:16: sparse: undefined identifier 'container_of0'
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:35: sparse: undefined identifier 'struct'
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:29: sparse: not a function <noident>
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:16: sparse: undefined identifier 'container_of0'
   In file included from drivers/staging/lustre/lustre/osc/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/osc/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/osc/../include/obd.h:52,
                    from drivers/staging/lustre/lustre/osc/osc_cl_internal.h:51,
                    from drivers/staging/lustre/lustre/osc/osc_object.c:43:
   drivers/staging/lustre/lustre/osc/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/osc/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/osc/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/osc/osc_cl_internal.h:53:0,
                    from drivers/staging/lustre/lustre/osc/osc_object.c:43:
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   In file included from drivers/staging/lustre/lustre/osc/osc_cl_internal.h:55:0,
                    from drivers/staging/lustre/lustre/osc/osc_object.c:43:
   drivers/staging/lustre/lustre/osc/osc_internal.h: In function 'obd2osc_dev':
   drivers/staging/lustre/lustre/osc/osc_internal.h:177:38: error: expected expression before 'struct'
     return container_of0(d->obd_lu_dev, struct osc_device, od_cl.cd_lu_dev);
                                         ^
   In file included from drivers/staging/lustre/lustre/osc/osc_object.c:43:0:
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'lu2osc_dev':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:501:26: error: expected expression before 'struct'
     return container_of0(d, struct osc_device, od_cl.cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:517:28: error: expected expression before 'struct'
     return container_of0(obj, struct osc_object, oo_cl);
                               ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc_page':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:550:30: error: expected expression before 'struct'
     return container_of0(slice, struct osc_page, ops_cl);
                                 ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'oap2osc':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:555:28: error: expected expression before 'struct'
     return container_of0(oap, struct osc_page, ops_oap);
                               ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc_lock':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:571:30: error: expected expression before 'struct'
     return container_of0(slice, struct osc_lock, ols_cl);
                                 ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'cl2osc':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:518:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h: In function 'lu2osc_dev':
   drivers/staging/lustre/lustre/osc/osc_cl_internal.h:502:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   In file included from drivers/staging/lustre/lustre/osc/osc_cl_internal.h:53:0,
                    from drivers/staging/lustre/lustre/osc/osc_object.c:43:
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2675:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2669:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers/staging/lustre/lustre/osc/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/osc/../include/cl_object.h:2691:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/lu_object.h:745:57: sparse: got lu_object
   In file included from drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/lustre_dlm.h:51,
                    from drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/ldlm_resource.c:43:
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/cl_object.h:2690:40: sparse: got cl_object_header
   In file included from drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/lustre_dlm.h:51,
                    from drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/ldlm_pool.c:101:
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/ldlm_pool.c:102:0:
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/ptlrpc/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/ptlrpc/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/ptlrpc/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/ptlrpc/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/ptlrpc/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/ptlrpc/../include/lu_object.h:745:57: sparse: got lu_object
   In file included from drivers/staging/lustre/lustre/ptlrpc/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/ptlrpc/../include/obd_class.h:41,
                    from drivers/staging/lustre/lustre/ptlrpc/client.c:42:
   drivers/staging/lustre/lustre/ptlrpc/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/ptlrpc/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/ptlrpc/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/ptlrpc/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/ptlrpc/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   cc1: some warnings being treated as errors
--
>> drivers/staging/lustre/lustre/ptlrpc/../include/lu_object.h:737:50: sparse: typename in expression
   drivers/staging/lustre/lustre/ptlrpc/../include/lu_object.h:737:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/ptlrpc/../include/lu_object.h:737:57: sparse: got lu_object
   drivers/staging/lustre/lustre/ptlrpc/../include/lu_object.h:745:50: sparse: typename in expression
   drivers/staging/lustre/lustre/ptlrpc/../include/lu_object.h:745:57: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/ptlrpc/../include/lu_object.h:745:57: sparse: got lu_object
>> drivers/staging/lustre/lustre/ptlrpc/../include/cl_object.h:2657:33: sparse: typename in expression
   drivers/staging/lustre/lustre/ptlrpc/../include/cl_object.h:2657:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/ptlrpc/../include/cl_object.h:2657:40: sparse: got cl_device
   drivers/staging/lustre/lustre/ptlrpc/../include/cl_object.h:2668:33: sparse: typename in expression
   drivers/staging/lustre/lustre/ptlrpc/../include/cl_object.h:2668:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/ptlrpc/../include/cl_object.h:2668:40: sparse: got cl_object
   drivers/staging/lustre/lustre/ptlrpc/../include/cl_object.h:2674:36: sparse: typename in expression
   drivers/staging/lustre/lustre/ptlrpc/../include/cl_object.h:2674:43: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/ptlrpc/../include/cl_object.h:2674:43: sparse: got cl_object_conf
   drivers/staging/lustre/lustre/ptlrpc/../include/cl_object.h:2685:47: sparse: typename in expression
   drivers/staging/lustre/lustre/ptlrpc/../include/cl_object.h:2685:54: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/ptlrpc/../include/cl_object.h:2685:54: sparse: got cl_device
   drivers/staging/lustre/lustre/ptlrpc/../include/cl_object.h:2690:33: sparse: typename in expression
   drivers/staging/lustre/lustre/ptlrpc/../include/cl_object.h:2690:40: sparse: Expected ) in function call
   drivers/staging/lustre/lustre/ptlrpc/../include/cl_object.h:2690:40: sparse: got cl_object_header
   In file included from drivers/staging/lustre/lustre/ptlrpc/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/ptlrpc/ptlrpcd.c:60:
   drivers/staging/lustre/lustre/ptlrpc/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/ptlrpc/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
   drivers/staging/lustre/lustre/ptlrpc/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/ptlrpc/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/ptlrpc/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/ptlrpc/ptlrpcd.c:65:0:
   drivers/staging/lustre/lustre/ptlrpc/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/ptlrpc/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/ptlrpc/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/ptlrpc/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/ptlrpc/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/ptlrpc/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/ptlrpc/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/ptlrpc/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/ptlrpc/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/ptlrpc/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   cc1: some warnings being treated as errors

vim +737 drivers/staging/lustre/lustre/fid/../include/lu_object.h

d7e09d039 Peng Tao 2013-05-02  721  				       struct lu_device *dev,
d7e09d039 Peng Tao 2013-05-02  722  				       const struct lu_fid *f,
d7e09d039 Peng Tao 2013-05-02  723  				       const struct lu_object_conf *conf);
d7e09d039 Peng Tao 2013-05-02  724  /** @} caching */
d7e09d039 Peng Tao 2013-05-02  725  
d7e09d039 Peng Tao 2013-05-02  726  /** \name helpers
d7e09d039 Peng Tao 2013-05-02  727   * Helpers.
d7e09d039 Peng Tao 2013-05-02  728   * @{
d7e09d039 Peng Tao 2013-05-02  729   */
d7e09d039 Peng Tao 2013-05-02  730  
d7e09d039 Peng Tao 2013-05-02  731  /**
d7e09d039 Peng Tao 2013-05-02  732   * First (topmost) sub-object of given compound object
d7e09d039 Peng Tao 2013-05-02  733   */
d7e09d039 Peng Tao 2013-05-02  734  static inline struct lu_object *lu_object_top(struct lu_object_header *h)
d7e09d039 Peng Tao 2013-05-02  735  {
d7e09d039 Peng Tao 2013-05-02  736  	LASSERT(!list_empty(&h->loh_layers));
d7e09d039 Peng Tao 2013-05-02 @737  	return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
d7e09d039 Peng Tao 2013-05-02  738  }
d7e09d039 Peng Tao 2013-05-02  739  
d7e09d039 Peng Tao 2013-05-02  740  /**
d7e09d039 Peng Tao 2013-05-02  741   * Next sub-object in the layering
d7e09d039 Peng Tao 2013-05-02  742   */
d7e09d039 Peng Tao 2013-05-02  743  static inline struct lu_object *lu_object_next(const struct lu_object *o)
d7e09d039 Peng Tao 2013-05-02  744  {
d7e09d039 Peng Tao 2013-05-02  745  	return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);

:::::: The code at line 737 was first introduced by commit
:::::: d7e09d0397e84eefbabfd9cb353221f3c6448d83 staging: add Lustre file system client support

:::::: TO: Peng Tao <bergwolf@gmail.com>
:::::: CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

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

* [lustre-devel] [PATCH 7/7] staging: lustre: remove container_of0 and __container_of
  2015-10-13 22:24 ` [lustre-devel] [PATCH 7/7] staging: lustre: remove container_of0 and __container_of Aya Mahfouz
  2015-10-14  2:50   ` kbuild test robot
@ 2015-10-24 23:04   ` kbuild test robot
  1 sibling, 0 replies; 13+ messages in thread
From: kbuild test robot @ 2015-10-24 23:04 UTC (permalink / raw)
  To: lustre-devel

Hi Aya,

[auto build test ERROR on staging/staging-next -- if it's inappropriate base, please suggest rules for selecting the more suitable base]

url:    https://github.com/0day-ci/linux/commits/Aya-Mahfouz/staging-lustre-remove-uses-and-definition-of-container_of0/20151014-062751
config: x86_64-randconfig-s2-10250612 (attached as .config)
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   In file included from drivers/staging/lustre/lustre/fid/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/fid/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/fid/../include/obd.h:52,
                    from drivers/staging/lustre/lustre/fid/fid_request.c:48:
   drivers/staging/lustre/lustre/fid/../include/lu_object.h: In function 'lu_object_top':
>> drivers/staging/lustre/lustre/fid/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
>> drivers/staging/lustre/lustre/fid/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/fid/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/fid/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   cc1: some warnings being treated as errors
--
   In file included from drivers/staging/lustre/lustre/fld/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/fld/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/fld/../include/obd.h:52,
                    from drivers/staging/lustre/lustre/fld/fld_request.c:49:
   drivers/staging/lustre/lustre/fld/../include/lu_object.h: In function 'lu_object_top':
>> drivers/staging/lustre/lustre/fld/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
>> drivers/staging/lustre/lustre/fld/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/fld/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/fld/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   cc1: some warnings being treated as errors
--
   In file included from drivers/staging/lustre/lustre/llite/../include/linux/../lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/llite/../include/linux/../obd_class.h:41,
                    from drivers/staging/lustre/lustre/llite/../include/linux/lustre_lite.h:47,
                    from drivers/staging/lustre/lustre/llite/../include/lustre_lite.h:45,
                    from drivers/staging/lustre/lustre/llite/dcache.c:44:
   drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h: In function 'lu_object_top':
>> drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
>> drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/llite/llite_internal.h:45:0,
                    from drivers/staging/lustre/lustre/llite/dcache.c:48:
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'lu2cl_dev':
>> drivers/staging/lustre/lustre/llite/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   cc1: some warnings being treated as errors
--
   In file included from drivers/staging/lustre/lustre/llite/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/llite/../include/obd_class.h:41,
                    from drivers/staging/lustre/lustre/llite/dir.c:52:
   drivers/staging/lustre/lustre/llite/../include/lu_object.h: In function 'lu_object_top':
>> drivers/staging/lustre/lustre/llite/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
>> drivers/staging/lustre/lustre/llite/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/llite/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/llite/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/llite/llite_internal.h:45:0,
                    from drivers/staging/lustre/lustre/llite/dir.c:58:
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'lu2cl_dev':
>> drivers/staging/lustre/lustre/llite/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   cc1: some warnings being treated as errors
--
   In file included from drivers/staging/lustre/lustre/llite/../include/linux/../lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/llite/../include/linux/../obd_class.h:41,
                    from drivers/staging/lustre/lustre/llite/../include/linux/lustre_lite.h:47,
                    from drivers/staging/lustre/lustre/llite/../include/lustre_lite.h:45,
                    from drivers/staging/lustre/lustre/llite/llite_nfs.c:45:
   drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h: In function 'lu_object_top':
>> drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
>> drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/llite/../include/linux/../lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/llite/llite_internal.h:45:0,
                    from drivers/staging/lustre/lustre/llite/llite_nfs.c:46:
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'lu2cl_dev':
>> drivers/staging/lustre/lustre/llite/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   In file included from include/linux/list.h:8:0,
                    from include/linux/wait.h:6,
                    from include/linux/fs.h:5,
                    from drivers/staging/lustre/lustre/llite/../include/linux/lustre_lite.h:44,
                    from drivers/staging/lustre/lustre/llite/../include/lustre_lite.h:45,
                    from drivers/staging/lustre/lustre/llite/llite_nfs.c:45:
   drivers/staging/lustre/lustre/llite/llite_nfs.c: In function 'll_nfs_get_name_filldir':
   include/linux/kernel.h:811:48: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
     const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                   ^
   drivers/staging/lustre/lustre/llite/llite_nfs.c:213:26: note: in expansion of macro 'container_of'
     struct lu_dirent *lde = container_of(name, struct lu_dirent, lde_name);
                             ^
   include/linux/kernel.h:811:48: note: (near initialization for 'lde')
     const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                   ^
   drivers/staging/lustre/lustre/llite/llite_nfs.c:213:26: note: in expansion of macro 'container_of'
     struct lu_dirent *lde = container_of(name, struct lu_dirent, lde_name);
                             ^
   cc1: some warnings being treated as errors
--
   In file included from drivers/staging/lustre/lustre/llite/../lclient/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/llite/../lclient/../include/obd_class.h:41,
                    from drivers/staging/lustre/lustre/llite/../lclient/glimpse.c:44:
   drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h: In function 'lu_object_top':
>> drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
>> drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/llite/../lclient/glimpse.c:54:0:
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h: In function 'lu2cl_dev':
>> drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   cc1: some warnings being treated as errors
--
   In file included from drivers/staging/lustre/lustre/llite/../lclient/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/llite/../lclient/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/llite/../lclient/../include/obd.h:52,
                    from drivers/staging/lustre/lustre/llite/../lclient/lcommon_cl.c:53:
   drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h: In function 'lu_object_top':
>> drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
>> drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/llite/../lclient/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/llite/../lclient/lcommon_cl.c:60:0:
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h: In function 'lu2cl_dev':
>> drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h: In function 'lu2cl_dev':
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2658:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2691:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/llite/../lclient/../include/cl_object.h:2675:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   cc1: some warnings being treated as errors
--
   In file included from drivers/staging/lustre/lustre/llite/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/llite/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/llite/../include/obd.h:52,
                    from drivers/staging/lustre/lustre/llite/vvp_dev.c:43:
   drivers/staging/lustre/lustre/llite/../include/lu_object.h: In function 'lu_object_top':
>> drivers/staging/lustre/lustre/llite/../include/lu_object.h:737:9: error: implicit declaration of function 'container_of0' [-Werror=implicit-function-declaration]
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
            ^
>> drivers/staging/lustre/lustre/llite/../include/lu_object.h:737:43: error: expected expression before 'struct'
     return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
                                              ^
   drivers/staging/lustre/lustre/llite/../include/lu_object.h: In function 'lu_object_next':
   drivers/staging/lustre/lustre/llite/../include/lu_object.h:745:43: error: expected expression before 'struct'
     return container_of0(o->lo_linkage.next, struct lu_object, lo_linkage);
                                              ^
   In file included from drivers/staging/lustre/lustre/llite/llite_internal.h:45:0,
                    from drivers/staging/lustre/lustre/llite/vvp_dev.c:45:
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'lu2cl_dev':
>> drivers/staging/lustre/lustre/llite/../include/cl_object.h:2657:26: error: expected expression before 'struct'
     return container_of0(d, struct cl_device, cd_lu_dev);
                             ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2668:26: error: expected expression before 'struct'
     return container_of0(o, struct cl_object, co_lu);
                             ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'lu2cl_conf':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2674:29: error: expected expression before 'struct'
     return container_of0(conf, struct cl_object_conf, coc_lu);
                                ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'cl_object_device':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2685:40: error: expected expression before 'struct'
     return container_of0(o->co_lu.lo_dev, struct cl_device, cd_lu_dev);
                                           ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2690:26: error: expected expression before 'struct'
     return container_of0(h, struct cl_object_header, coh_lu);
                             ^
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'lu2cl':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2669:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   In file included from drivers/staging/lustre/lustre/llite/../include/lustre_net.h:65:0,
                    from drivers/staging/lustre/lustre/llite/../include/lustre_lib.h:64,
                    from drivers/staging/lustre/lustre/llite/../include/obd.h:52,
                    from drivers/staging/lustre/lustre/llite/vvp_dev.c:43:
   drivers/staging/lustre/lustre/llite/../include/lu_object.h: In function 'lu_object_top':
   drivers/staging/lustre/lustre/llite/../include/lu_object.h:738:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   In file included from drivers/staging/lustre/lustre/llite/llite_internal.h:45:0,
                    from drivers/staging/lustre/lustre/llite/vvp_dev.c:45:
   drivers/staging/lustre/lustre/llite/../include/cl_object.h: In function 'luh2coh':
   drivers/staging/lustre/lustre/llite/../include/cl_object.h:2691:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   cc1: some warnings being treated as errors
..

vim +/container_of0 +737 drivers/staging/lustre/lustre/fid/../include/lu_object.h

d7e09d039 Peng Tao 2013-05-02  731  /**
d7e09d039 Peng Tao 2013-05-02  732   * First (topmost) sub-object of given compound object
d7e09d039 Peng Tao 2013-05-02  733   */
d7e09d039 Peng Tao 2013-05-02  734  static inline struct lu_object *lu_object_top(struct lu_object_header *h)
d7e09d039 Peng Tao 2013-05-02  735  {
d7e09d039 Peng Tao 2013-05-02  736  	LASSERT(!list_empty(&h->loh_layers));
d7e09d039 Peng Tao 2013-05-02 @737  	return container_of0(h->loh_layers.next, struct lu_object, lo_linkage);
d7e09d039 Peng Tao 2013-05-02  738  }
d7e09d039 Peng Tao 2013-05-02  739  
d7e09d039 Peng Tao 2013-05-02  740  /**

:::::: The code at line 737 was first introduced by commit
:::::: d7e09d0397e84eefbabfd9cb353221f3c6448d83 staging: add Lustre file system client support

:::::: TO: Peng Tao <bergwolf@gmail.com>
:::::: CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/octet-stream
Size: 26634 bytes
Desc: not available
URL: <http://lists.lustre.org/pipermail/lustre-devel-lustre.org/attachments/20151025/fd9127a4/attachment-0001.obj>

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

end of thread, other threads:[~2015-10-24 23:04 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-13 22:19 [lustre-devel] [PATCH 0/7] staging: lustre: remove uses and definition of container_of0 Aya Mahfouz
2015-10-13 22:22 ` [lustre-devel] [PATCH 1/7] staging: lustre: lcommon_cl.c: replace container_of0 by container_of Aya Mahfouz
2015-10-13 22:23 ` [lustre-devel] [PATCH 2/7] staging: lustre: llite_nfs.c: " Aya Mahfouz
2015-10-13 23:25   ` kbuild test robot
2015-10-13 23:28   ` kbuild test robot
2015-10-13 22:23 ` [lustre-devel] [PATCH 3/7] staging: lustre: lu_object.c: " Aya Mahfouz
2015-10-13 22:23 ` [lustre-devel] [PATCH 4/7] staging: lustre: echo_client.c: " Aya Mahfouz
2015-10-13 22:24 ` [lustre-devel] [PATCH 5/7] staging: lustre: osc_io.c: " Aya Mahfouz
2015-10-13 22:24 ` [lustre-devel] [PATCH 6/7] staging: lustre: osc_object.c: " Aya Mahfouz
2015-10-13 22:24 ` [lustre-devel] [PATCH 7/7] staging: lustre: remove container_of0 and __container_of Aya Mahfouz
2015-10-14  2:50   ` kbuild test robot
2015-10-24 23:04   ` kbuild test robot
2015-10-13 22:42 ` [lustre-devel] [PATCH 0/7] staging: lustre: remove uses and definition of container_of0 Dilger, Andreas

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.