LU-4749 mgs: Recognize colons in failover.node values

Current mgs assumes that all the NIDs in a single failover.node
parameter belong to one node.  This is not the case, even prior to
http://review.whamcloud.com/11161, because mkfs.lustre options like

  --servicenode=<nid1>,<nid2>:<nid3>,<nid4>

are allowed.

Change-Id: If3e2ebc0e81093e9c8304e496afdca24edf456ef
Signed-off-by: Li Wei <wei.g.li@intel.com>
Reviewed-on: http://review.whamcloud.com/11956
Tested-by: Jenkins
Reviewed-by: Johann Lombardi <johann.lombardi@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Liang Zhen <liang.zhen@intel.com>
LU-5607 ptlrpc: restore posix_acl_xattr checks

Restore the wiretest checks on posix_acl_xattr_entry and
posix_acl_xattr_header.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I3935ac2f8b7e894896949ff8a5c44fe6f78e1cae
Reviewed-on: http://review.whamcloud.com/11933
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
LU-4416 tests: small fixes for conf_sanity

--In util-linux 2.23.2, umount will call stat() on
  mountpoint. So have to use 'umount -f' in test_5a.
  Else the test will block forever.
--Invoke cleanup_fs2 in test_24b.

Signed-off-by: Yang Sheng <yang.sheng@intel.com>
Change-Id: Ie7540d6cfd6790417c63ea1efb50381cacc8345f
Reviewed-on: http://review.whamcloud.com/10783
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-4974 doc: comments to lod_lov.c

and fix up GPL header block to reference proper GPLv2 license URL.

Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Change-Id: I6d087980cf80b418cd92974cd9eab7a55bda6c80
Reviewed-on: http://review.whamcloud.com/10431
Tested-by: Jenkins
Reviewed-by: Richard Henwood <richard.henwood@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
LU-4975 ofd: documenting ofd_dev.c

Fix up GPL header block to reference proper GPLv2 license URL.
Remove mention of contacting Sun, since they don't exist anymore.
Add introductory comment block for the ofd_dev.c file and add
function comment blocks to all functions in it.

Signed-off-by: Mikhail Pershin <mike.pershin@intel.com>
Change-Id: I8ed91764cff36f51eae78a025efbc34a61fd825c
Reviewed-on: http://review.whamcloud.com/10639
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
LU-4975 ofd: documenting ofd_obd.c

Fix up GPL header block to reference proper GPLv2 license URL.
Remove mention of contacting Sun, since they don't exist anymore.
Add introductory comment block for the ofd_obd.c file and add
function comment blocks to all functions in it.

Signed-off-by: Mikhail Pershin <mike.pershin@intel.com>
Change-Id: I3a4e48ffbc6dffac6647e357f16e3aac2902fd23
Reviewed-on: http://review.whamcloud.com/10658
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
LU-4974 doc: comments to the functions in lod_dev.c

Comments to lod_dev using doxygen markup.

Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Signed-off-by: Richard Henwood <richard.henwood@intel.com>
Change-Id: I60cbb7ac3d8edb225c75ac4c7fe93fb17a87994c
Reviewed-on: http://review.whamcloud.com/11115
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
LU-5416 ofd: improve error handling in ofd_precreate_objects()

In ofd_precreate_objects() fix two invalid assertions triggered by
errors in the first iterations of the declare loop and the create
loop.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I8bee1528dc58d5b8b35ac89056c667370cc347c5
Reviewed-on: http://review.whamcloud.com/11370
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-2675 lustre: remove lustre_lite.h

Remove the unused struct lustre_rw_params and the unused function
lustre_build_lock_params(). Move several definition only used in
lustre/llite/ to lustre/llite/llite_internal.h. Remove
lustre/include/{,linux/}lustre_lite.h and fixup the missing includes
in other headers that this exposes.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: Iac27e0e50407e39122b121d6040244a5fe1b9f15
Reviewed-on: http://review.whamcloud.com/11501
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
LU-2675 lustre: remove linux/lustre_log.h

Remove lustre/include/linux/lustre_log.h.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: Ibc4d042df9d95301b8d2a8e3df39d7075752ab9d
Reviewed-on: http://review.whamcloud.com/11502
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
LU-2675 obd: rename LUSTRE_STRIPE_MAXBYTES

Rename LUSTRE_STRIPE_MAXBYTES to LUSTRE_EXT3_STRIPE_MAXBYTES and
correct the comment describing its use.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I320c86b3f90e8b0c12fd91d6ca95684fb84fe36c
Reviewed-on: http://review.whamcloud.com/11800
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
LU-5522 ldlm: remove expired lock from per-export list

Expired locks processed by the ldlm_elt thread might still be
referenced in the per-export BL AST list. Most of the time, it
has not impact except when a request for this export is still
being processed for this export and might scan the per-export
BL AST list.

Signed-off-by: Johann Lombardi <johann.lombardi@intel.com>
Change-Id: I23745770983507ffd986de9ba056a03b11199a78
Reviewed-on: http://review.whamcloud.com/11634
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-3331 llite: remove llite proc root on init failure

In init_lustre_lite() ensure that /proc/fs/lustre/llite is removed in
case of failure. Generally rework the cleanup code in this function.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I95844622dd39d2529d227b99fffbc938fd17910a
Reviewed-on: http://review.whamcloud.com/6420
Tested-by: Jenkins
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-4788 lfsck: namespace LFSCK uses assistant thread

Move the lfsck assistant thread from layout.c to engine.c, and
make it to be shared by both layout LFSCK and namespace LFSCK.

With using assistant thread, the namespace LFSCK can make the
async pipeline for scanning the directory as the layout LFSCK
does for scanning the stripes, then the LFSCK main engine will
not be blocked by cross-MDT verification.

The namesapce LFSCK assistant thread is necessary, because both
the layout LFSCK and the namespace LFSCK are driven by the same
LFSCK main engine. If the LFSCK main engine is blocked because
of namespace handling, then the layout LFSCK will also be blocked.
Currently, the LFSCK main engine and the layout LFSCK assistant
thread has composed a async pipeline, then the LFSCK main engine
will not be blocked by layout related remote operations. So it is
necessary to make another pipeline for namespace related handling
to avoid the LFSCK main engine to be blocked for namespace related
remote operations.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I99e18ab1d85ad4d74b16b2387767422907781d5e
Reviewed-on: http://review.whamcloud.com/10603
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-5506 lfsck: skip orphan OST-object handling for failed OSTs

The layout LFSCK will record the failed OSTs in the LFSCK tracing
file (lfsck_layout) during the first-stage scanning, then when moves
to the second-stage scanning, the layout LFSCK will know which OSTs
contain the OST-objects that have not been verified or failed to be
verified during the first-stage scanning. Then the layout LFSCK will
skip the orphan OST-objects handling on those OSTs. But other OSTs
can be handled as normal case without affected by the failed OSTs.

This patch also builds the framework of recording failed MDTs for
namespace LFSCK

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I4d7a9fc2e22cb8c6ef1c4cf73383ec588c95da53
Reviewed-on: http://review.whamcloud.com/10996
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-4788 lfsck: enable verification for remote object

Based on the LFSCK 1.5 framework, enable the namespace LFSCK
scanning for remote object.

During the first-stage scanning, if the object contains remote
linkEA entry or multiple linkEA entries or claims as multiple
linked, then it will be recorded in the namespace LFSCK tracing
file for double scanning.

Some cleanup for the namespace LFSCK tracing file (lfsck_namespace)
and other code cleanup.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Ibc87ae9a5c6b7f67a9215140cf2cb89640bce0a9
Reviewed-on: http://review.whamcloud.com/11317
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-5639 lnet: portal spreading rotor should be unsigned

Portal spreading rotor should be unsigned, otherwise lnet may get
negative CPT number and access invalid addresses.

Signed-off-by: Liang Zhen <liang.zhen@intel.com>
Change-Id: Id7f40da241af3b01483fdedd366b09329f530163
Reviewed-on: http://review.whamcloud.com/11936
Reviewed-by: Amir Shehata <amir.shehata@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Tested-by: Jenkins
Reviewed-by: Isaac Huang <he.huang@intel.com>
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-5468 llite: don't call make_bad_inode() on an old inode

In ll_iget() if ll_update_inode() fails then do not call
make_bad_inode() on the inode since it may still be in use.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I10bb0ad606fad2eff6f6cf5cc7da157e9db59c94
Reviewed-on: http://review.whamcloud.com/11609
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>