MRP-855 Fix race during exp_flock_hash creation

Move hash initialization from ldlm_flock_blocking_link()
to ldlm_init_export().

Change-Id: Iae766f7e9aeacb906d8c1b1fdc727dbc23d565fb
Signed-off-by: Andriy Skulysh <Andriy_Skulysh@xyratex.com>
Reviewed-on: http://morpheus.xyus.xyratex.com:8443/gerrit/248
Reviewed-by: Alexander Boyko <Alexander_Boyko@xyratex.com>
Tested-by: Jenkins
Tested-by: Kyrylo Shatskyy <kyrylo_shatskyy@xyratex.com>
Reviewed-by: Vitaly Fertman <Vitaly_Fertman@xyratex.com>
MRP-761 mdt_reconstruct_open() ASSERTION failure

Fix assert. transno shouldn't be cleared
for EREMOTE operation.

Change-Id: I22a5fe58ac7c003579948a806e73404bdc3ee007
Signed-off-by: Andriy Skulysh <Andriy_Skulysh@xyratex.com>
Reviewed-on: http://morpheus.xyus.xyratex.com:8443/gerrit/250
Tested-by: Jenkins
Reviewed-by: Alexander Boyko <Alexander_Boyko@xyratex.com>
Tested-by: Kyrylo Shatskyy <kyrylo_shatskyy@xyratex.com>
Reviewed-by: Alexey Lyashkov <Alexey_Lyashkov@xyratex.com>
Reviewed-by: Vitaly Fertman <Vitaly_Fertman@xyratex.com>
MRP-835 spec: reorganize lustre-headers rpm + rename to -devel

lustre-headers rpm package was created to provide an ability to build
external projects, which use Lustre API, w/o installing lustre-source
and building Lustre. Specifically, it was done for Mero project, which
uses LNet modules.

Unfortunately, the placement of Lustre header files inside
lustre-headers rpm was incorrect - it used different include paths
compared to lustre sources (actually it was even worse, for some part
of headers it used the same include path, but for other part of
headers it was different). So it was not possible (read "ugly and hard
to maintain") to universally configure Mero to build with both
lustre-headers and lustre sources, w/o using messy and unreliable
workarounds.

Also, the name lustre-headers seems to be an unfortunate choice. For
example, on Red Hat based systems package kernel-headers provides
header files for *user-space* programs, which required to interact
with kernel. While package kernel-devel provides header files, which
required for 3rd-party *kernel-space* modules to build.

Similarly, /usr/include is used to provide header files for various
*user-space* programs, but not for kernel modules. And lustre-headers
is in effect a kernel-space API.

To address these issues, lustre-headers rpm package is renamed to
lustre-devel and all Lustre's header files are mirrored, preserving
the directory structure of lustre sources, and installed under
/usr/src/lustre-XXX-headers/ directory.

For example, header files from
  $LUSTRE_SRC/{libsysio,lustre,libcfs,lnet}/include/
directories are installed into
  /usr/src/lustre-%v-headers/{libsysio,lustre,libcfs,lnet}/include/
directories.

Signed-off-by: Dmitriy Chumak <dmitriy_chumak@xyratex.com>
Change-Id: I37ed8c2eefcb46d20ca6e9ff2335f14e8a5bdb70
Reviewed-on: http://morpheus.xyus.xyratex.com:8443/gerrit/247
Reviewed-by: Bruce Korb <Bruce_Korb@xyratex.com>
Tested-by: Jenkins
Reviewed-by: Roman Grigoryev <Roman_Grigoryev@xyratex.com>
Reviewed-by: Kyrylo Shatskyy <kyrylo_shatskyy@xyratex.com>
Tested-by: Kyrylo Shatskyy <kyrylo_shatskyy@xyratex.com>
Reviewed-by: Vitaly Fertman <Vitaly_Fertman@xyratex.com>