Whamcloud - gitweb
LU-1606 api: Do not include lustre_idl.h from lustreapi.h
authorChristopher J. Morrone <morrone2@llnl.gov>
Sat, 10 Nov 2012 02:06:29 +0000 (18:06 -0800)
committerOleg Drokin <green@whamcloud.com>
Wed, 21 Nov 2012 05:26:31 +0000 (00:26 -0500)
commit3a1e40d92baeb54fa93d527af55105a1e3a4a289
tree2e64aba9543ecbae5ff8809bf81250119b736d20
parentdc2e00df1892a287eaf9ad6fad557f2cd28c90c7
LU-1606 api: Do not include lustre_idl.h from lustreapi.h

lustre_idl.h has become increasingly difficult to use from
user-space.  Normal users of the lustre api should not
be looking into lustre wire protocol anyway, so this change
eliminates the include of lustre_idl.h.

After removing lustre_idl.h, it became obvious that a number
of programs have been picking up normal user-space headers
through a very windy path of includes.  With the include
of lustre_idl.h gone, they no longer compiled, so we also
add the missing explicit includes.

It became clear that copytool.c explicity requires
libcfs/libcfs.h, and lustre_rsync.c require lustre_idl.h.
But I believe that it is far better to have those includes
explicitly stated, so it is obvious that those programs
are peeking into lustre's internals.  In the future we
can work on creating new lustre API calls that provide the
information that they need without side-stepping abstraction
layers.

Change-Id: I8ce55ffe0e1766515061f3dbc63c2372d5713f58
Signed-off-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-on: http://review.whamcloud.com/4505
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Richard Henwood <richard.henwood@intel.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Yu Jian <yujian@whamcloud.com>
Tested-by: Yu Jian <yujian@whamcloud.com>
lustre/include/lustre/lustreapi.h
lustre/tests/copytool.c
lustre/tests/multiop.c
lustre/tests/sendfile.c
lustre/utils/lustre_rsync.c