LU-2547 tests: EXCLUDE recovery-small/24b for ZFS

Exclude test because it fails in the same way as 24a and in theory
should be fixed simultaniously.

Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: Iea5aaddf41b5765efce22cc7e32234cb1a8e49ae
Reviewed-on: http://review.whamcloud.com/6587
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Hudson
Reviewed-by: Jian Yu <jian.yu@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
LU-2650 procfs: return -ENOMEM from lprocfs_register()

In lprocfs_register(), if proc_mkdir() fails then return
ERR_PTR(-ENOMEM) rather than NULL and hold _lprocfs_mutex for the
whole function.  In lprocfs_remove_nolock() return early if the entry
is an error pointer. Improve error handling around lprocfs_register()
in a few spots.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I8d452781afe4b7c174c3b5fac9f4f0e573a3d85c
Reviewed-on: http://review.whamcloud.com/5161
Tested-by: Hudson
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
Reviewed-by: Keith Mannthey <keith.mannthey@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
LU-3348 test: use correct old path in racer's file_link.sh

In racer's file_link.sh the old path was not prefixed by the directory
used by racer. Since file_link.sh does not run out of this directory
no links were created. Fix this in by supplying the correct old path.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: Ifcbcc3d50c70faed7a99fa95217b08c8efe35791
Reviewed-on: http://review.whamcloud.com/6351
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
LU-3253 mdt: use lu_object/device in mdt_object/device

Have MDT object/device include a LU object/device rather than an MD
object/device as the MDT layer does not define MD operations.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: Icf48d8f1288895ba1ffecdf55f0d036df5961d6e
Reviewed-on: http://review.whamcloud.com/6222
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.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-3304 tests: sanity-quota test_18 watchdog triggered

sanity-quota test_18 is picking up watchdog messages from
prevous tests. The fix is clearing dmesg at the beginning
of test_18. This also allowed us to remove some of strings
that the awk command looking for, i.e. the subtest name.

Test-Parameters: envdefinitions=SLOW=yes,ENABLE_QUOTA=yes \
testlist=sanity-quota

Signed-off-by: James Nunez <james.a.nunez@intel.com>
Change-Id: I9a20bd2e374048f252219038df3590fef339a672
Reviewed-on: http://review.whamcloud.com/6310
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-3182 lmv: fix duplicate directory entries

In 4e57f6dd3a156e35ccb587fc5c003805dd73ecb7, I accidentally
introduced a new way for duplicate directory entries to be returned
from readdir().  That patch fails to properly decrement the nlupgs
counter when breaking out of the inner-for loop.  This accounting
error causes an extra iteration of the inner-for loop when processing
the next cfs page and a bad ldp_hash_end value is then saved in the
lu_dirpage.  To fix this, always decrement the nlupgs counter on
entry into the inner loop.

Note: this bug only affects architectures with > 4k-sized pages, e.g.
PowerPC.

Signed-off-by: Ned Bass <bass6@llnl.gov>
Change-Id: I9fa0fd8f34081f834f1d8b4df633d6e08926dcc9
Reviewed-on: http://review.whamcloud.com/6405
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Bobi Jam <bobijam@gmail.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
LU-3226 test: do some cleanup for sanity.sh test_43a/b

This patch includes the following minor fixes for sanity.sh
test_43a/b:
- to remove multiop after the current test and provide a clean env
for the next test;
- to do some style cleanup.

Test-Parameters: clientdistro=fc18 clientarch=x86_64 serverdistro=el6 serverarch=x86_64 testlist=sanity
Signed-off-by: Liu Ying <emoly.liu@intel.com>
Change-Id: I86221d9dbf1188b553b3c65bb14298e62f19f820
Reviewed-on: http://review.whamcloud.com/6414
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Bobi Jam <bobijam@gmail.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-3404 build: fix 'incorrect expression' errors

Fix 'program hangs' defects found by Coverity version 6.5.1:
Array compared against 0 (NO_EFFECT)
Comparing an array to null is not useful.
Copy-paste error (COPY_PASTE_ERROR)
This line looks like a copy-paste error.
Self assignment (NO_EFFECT)
Assignment operation has no effect.
Side effect in assertion (ASSERT_SIDE_EFFECT)
Assignment has a side effect. This code will work differently in a
non-debug build. You might have intended to use a comparison instead.
Wrong sizeof argument (SIZEOF_MISMATCH)
Passing argument is suspicious.

Signed-off-by: Sebastien Buisson <sebastien.buisson@bull.net>
Change-Id: Iad370305cb8540f7c1b918e53ceae32e9ccbba8f
Reviewed-on: http://review.whamcloud.com/6465
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
LU-3375 test: use available mdc for replay-single test_44

This patch corrects that to only look for the available mdc device
whose status is "UP".

Test-Parameters: clientdistro=fc18 clientarch=x86_64 serverdistro=el6 serverarch=x86_64 testlist=replay-single envdefinitions=SLOW=yes
Signed-off-by: Liu Ying <emoly.liu@intel.com>
Change-Id: Ia4013e68f44b0c1c5eb173b04af4c8c67e4961cf
Reviewed-on: http://review.whamcloud.com/6425
Tested-by: Hudson
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-3357 mgs: Initialize uuid of llogs created by replace_nids

Initialize "Target uuid" with same data as in record_start_log().

Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: If7f49eda6bf2f4143d86b71392e215528ebcbf92
Reviewed-on: http://review.whamcloud.com/6395
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Artem Blagodarenko <artem_blagodarenko@xyratex.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-2200 obdclass: be more careful processing server name

Because whole options line gets passed to exclude processing, don't
search from end of passed in argument to determine fsname at
beginning.

Re-enable conf-sanity/32 but do replace_nids on IB.

Test-Parameters: nettypes=o2ib testlist=conf-sanity
Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: Ibc43417cb71581198e3516c1e431c0d3f668f1e0
Reviewed-on: http://review.whamcloud.com/6197
Tested-by: Hudson
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
LU-3220 quota: warning on setting small limits

When user try to set quota limits smaller than the minimal qunit
size (1M bytes for block limit, 1K inodes for inode limit), we'd
warn user that limit is too small.

Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: I26e2e682500628211e2f2bedf65e534f3b214422
Reviewed-on: http://review.whamcloud.com/6182
Tested-by: Hudson
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Johann Lombardi <johann.lombardi@intel.com>
LU-2904 llite: return valid fsid for statfs

Lustre uses 64-bits inode number to identify object on client side.
When re-export Lustre via NFS, NFS will detect whether support fsid
via statfs(). For the non-support case, it will only recognizes and
packs low 32-bits inode number in nfs handle. Such handle cannot be
used to locate the object properly.

To avoid patch linux kernel, Lustre client should generate fsid and
return it via statfs() to up layer.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Ie292b26726a1b2aa7a763ef7c0507e3ed089323b
Reviewed-on: http://review.whamcloud.com/6493
Tested-by: Hudson
Tested-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-3101 mgs: deregister the mount for failed case

in server_start_mgs, the mount of MGS should be put if MGS
failed to start up.

Change-Id: I03c7c3c8e0c578391b637fe0bcdf48da5e318db8
Signed-off-by: Hongchao Zhang <hongchao.zhang@intel.com>
Reviewed-on: http://review.whamcloud.com/6035
Tested-by: Hudson
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
LU-3413 scrub: NOT create new files in test_11 during scrub

In sanity-scrub test_11, there may be new files created between two
cycles OI scrub. The test scripts cannot distinguish whether the OI
scrub skipped objects are new created or caused by OI scrub issues.

So we umount the clients after the test environment preparation to
prevent new files to be created from client during OI scrub.

On the other hand, enable full debug to check whether some internal
files creating during the OI scrub.

Test-Parameters: testlist=sanity-scrub,sanity-lfsck

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Ie1bdebd12ea456bab07bd4c3a55776fa9451144e
Reviewed-on: http://review.whamcloud.com/6485
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
LU-3435 util: Improvement to error logging for l_getidentity

The LU-2107 patch to l_getidentity does not set the data->idd_err
value to errno, and does not log the uid when getgrouplist() fails.
This patch fixes both of those concerns.

Signed-off-by: Patrick Farrell <paf@cray.com>
Change-Id: I8a5715bada61a4c69d4d875b60097f9414a25f1c
Reviewed-on: http://review.whamcloud.com/6533
Reviewed-by: Keith Mannthey <keith.mannthey@intel.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-1199 build: Fix paths after move to contrib dir

Fix usage of lbuild's support files from the directory where
lbuild and support files are realy palced.

Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Change-Id: Ie0bb4f98ee0adcbf1643b15a9d131f69a47b7360
Reviewed-on: http://review.whamcloud.com/6497
Tested-by: Hudson
Reviewed-by: Christopher J. Morrone <chris.morrone.llnl@gmail.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Minh Diep <minh.diep@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-3441 build: Allow for native KNC compilation

The cross-compilation support (LU-2752) assumes that K1OM will
only be built in a cross-compile environment. To allow for
native compilation we only perform the cross compilation check
if $cross_compile is defined to yes.

Signed-off-by: Chris Horn <hornc@cray.com>
Change-Id: I93fd9c2f7d29dd9567cfcd93013df09271d65dc2
Reviewed-on: http://review.whamcloud.com/6558
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Minh Diep <minh.diep@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-3427 build: fix 'error handling' issues

Fix 'error handling' issues found by Coverity version 6.5.1:
Unchecked return value (CHECKED_RETURN)
Calling function without checking return value.

Signed-off-by: Sebastien Buisson <sebastien.buisson@bull.net>
Change-Id: Id0d7c6f5fdddcc5ba9b78f9410f30d9bfc39dac8
Reviewed-on: http://review.whamcloud.com/6510
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Hudson
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
LU-3403 llite: error of listxattr when buffer is small

According to the standard, listxattr(2) should return -1
and errno should be set to ERANGE if the size of the list
buffer is too small to hold the result. However ll_listxattr()
will return a value bigger than the size of buffer in some cases.

Let's assume listxattr(2) returns SIZE when it is called with a
large enough list buffer. If it's called again with a list buffer
whose size is smaller than SIZE but bigger than (SIZE - 12), then
listxattr(2) will return SIZE too. This patch fixes the problem.
Original patch by Li Xi <pkuelelixi@gmail.com>

Signed-off-by: Keith Mannthey <keith.mannthey@intel.com>
Change-Id: Ifb29ae900a5ee57dfde8781f7a008b6129c7bf91
Reviewed-on: http://review.whamcloud.com/6463
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Li Xi <pkuelelixi@gmail.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>