Whamcloud - gitweb
fs/lustre-release.git
7 years agoLU-2805 tests: sanity -Remove test_184c from Always Except 04/20104/3
Saurabh Tandan [Wed, 8 Jun 2016 23:45:19 +0000 (16:45 -0700)]
LU-2805 tests: sanity -Remove test_184c from Always Except

For sanity.sh removing test_184c from the ALWAYS_EXCEPT
list.

Test-Parameters: trivial mdtfilesystemtype=zfs ostfilesystemtype=zfs mdsfilesystemtype=zfs envdefinitions=SLOW=yes testlist=sanity,sanity,sanity,sanity
Signed-off-by: Saurabh Tandan <saurabh.tandan@intel.com>
Change-Id: Iba0b5b0ff2613e94c1cc90921face828605d05cb
Reviewed-on: http://review.whamcloud.com/20104
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoRevert "LU-7899 osd: batch EA updates" 78/21878/2
Oleg Drokin [Thu, 11 Aug 2016 07:13:29 +0000 (07:13 +0000)]
Revert "LU-7899 osd: batch EA updates"

Reverting this patch as it seems to be causing OOM issus
documented in LU-8449 and there does not seem to be an
easy fix in sight.

This reverts commit 6cd79ab5860c59c2a640a9e8ca4ee86eec050b43.

Change-Id: I934af93d893b01dad7190471b6b1a7bdffb1b509
Reviewed-on: http://review.whamcloud.com/21878
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Tested-by: Oleg Drokin <oleg.drokin@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
7 years agoLU-8479 obdclass: Reserve some value for OBD_FAIL_* macros 66/21766/3
Yang Sheng [Fri, 5 Aug 2016 17:22:48 +0000 (01:22 +0800)]
LU-8479 obdclass: Reserve some value for OBD_FAIL_* macros

Since these value were used by other branch. So
reserve them in master for consistency.

Test-Parameters: trivial envdefinitions=ONLY=0 testlist=sanity

Signed-off-by: Yang Sheng <yang.sheng@intel.com>
Change-Id: I3b262c34b3d86effeeeecb924092c2ffc8764c42
Reviewed-on: http://review.whamcloud.com/21766
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoRevert "LU-8383 build: Spec file cleanup after LU-5614" 77/21877/2
Oleg Drokin [Thu, 11 Aug 2016 06:18:57 +0000 (06:18 +0000)]
Revert "LU-8383 build: Spec file cleanup after LU-5614"

This patch appears to break SLES builds with:
error: Failed build dependencies:
kernel-syms is needed by lustre-2.8.56_23_ge8273a3-1.x86_64
make: *** [srpm] Error 1

This reverts commit 55836cd0e55eb1912911c6f195412c99852115aa.

Change-Id: I612e02431a7aafa4bb3daa7b3fb14a31e08175e3
Reviewed-on: http://review.whamcloud.com/21877
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Tested-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-6447 mdt: mdt_identity_upcall to not block with rwlock held 32/14432/5
Oleg Drokin [Fri, 10 Apr 2015 02:29:20 +0000 (22:29 -0400)]
LU-6447 mdt: mdt_identity_upcall to not block with rwlock held

mdt_identity_upcall is currently calling call_usermodehelper
with an rwlock held, which is a no-no since it allocates memory
and schedules. Just replace the rwlock with a rw_semaphore.

Change-Id: I7b063a4db47313fbae6241da7bcec2c397b8e8c4
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-on: http://review.whamcloud.com/14432
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
7 years agoLU-8371 llite: optimize atomic_open of negative dentry. 61/21161/4
Oleg Drokin [Wed, 6 Jul 2016 00:35:30 +0000 (20:35 -0400)]
LU-8371 llite: optimize atomic_open of negative dentry.

No point in talking to MDS in that case if we are not creating,
just return -ENOENT.

Change-Id: I15c00fdc841e5e9d4d1923b2353f7fdc5910d67b
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/21161
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
7 years agoLU-8471 obdclass: restore EXPORT_SYMBOL for lu_ref* functions 40/21640/3
Frank Zago [Tue, 2 Aug 2016 19:24:23 +0000 (14:24 -0500)]
LU-8471 obdclass: restore EXPORT_SYMBOL for lu_ref* functions

LU-5829 removed a lot of EXPORT_SYMBOL, including for the lu_ref_*
functions. As these functions are only compiled in when the
--enable-lu_ref is passed to configure, the breakage was missed. This
patch restores the missing EXPORT_SYMBOLS that were present, except
for lu_ref_print and lu_ref_is_marker which are only used in the
obdclass module.

Test-Parameters: trivial
Signed-off-by: Frank Zago <fzago@cray.com>
Change-Id: I16e6065b75c568a18386c0f0a746484fdad38d6e
Reviewed-on: http://review.whamcloud.com/21640
Reviewed-by: Andrew Perepechko <andrew.perepechko@seagate.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8436 nodemap: MGS local MGC should not get_config 00/21500/3
Kit Westneat [Mon, 25 Jul 2016 19:45:25 +0000 (15:45 -0400)]
LU-8436 nodemap: MGS local MGC should not get_config

An MGC that is co-located with an MGS does not need to pull the
nodemap config as the MGS will manage it directly. Having the MGC
pull the config could lead to a race condition where new config
changes are overwritten by the old config.

Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Change-Id: Ief62f44dd3ef75abb704edee0e55f7f1b1334e42
Reviewed-on: http://review.whamcloud.com/21500
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-3289 gss: Fix for SK bulk HMACs 91/21491/4
Jeremy Filizetti [Tue, 19 Jul 2016 00:06:32 +0000 (20:06 -0400)]
LU-3289 gss: Fix for SK bulk HMACs

The original patches for SK failed to provide integrity for bulk RPCs.
It was missing the iov for the encrypted pages and only verifying the
zeroed header portion.  In addition bulk handling in SK needs to
account for the fact that all kiovs in the bulk descriptor are
populated so the HMAC must limit the bytes to the number specified
in bd_nob as encryption happens before the integrity calculation.

Signed-off-by: Jeremy Filizetti <jeremy.filizetti@gmail.com>
Change-Id: I4bb2c62eff2a1c9391c0f2c8409db36257480d4e
Reviewed-on: http://review.whamcloud.com/21491
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8415 tests: customise MPIRUN 31/21431/3
Elena Gryaznova [Tue, 19 Jul 2016 22:31:34 +0000 (01:31 +0300)]
LU-8415 tests: customise MPIRUN

Sometimes it is required to use Hydra process
manager instead of mpirun.

Test-Parameters: trivial testlist=performance-sanity

Seagate-bug-id: MRP-3191
Signed-off-by: Elena Gryaznova <elena.gryaznova@seagate.com>
Reviewed-by: Vladimir Saveliev <vladimir.saveliev@seagate.com>
Reviewed-by: Alexander Zarochentsev <alexander.zarochentsev@seagate.com>
Change-Id: I49d6cf3e01214715f577f6364f2cf27ec1d70fd3
Reviewed-on: http://review.whamcloud.com/21431
Reviewed-by: Jian Yu <jian.yu@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7732 ldlm: silence verbose "waking for gap" log messages 18/21418/3
Bob Glossman [Wed, 13 Jul 2016 16:56:50 +0000 (09:56 -0700)]
LU-7732 ldlm: silence verbose "waking for gap" log messages

Quiet down the very frequent and not very useful
"waking for gap in transno" error messages that fill up
the log under certain conditions.

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I8264a958fa030ef66a3752dbf6e58ba79130d4b7
Reviewed-on: http://review.whamcloud.com/21418
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
7 years agoLU-8387 test: fix check in sanity test_129 56/21256/6
Wang Shilong [Tue, 12 Jul 2016 07:56:03 +0000 (15:56 +0800)]
LU-8387 test: fix check in sanity test_129

[ $has_warning ] always return 0 which makes this check
useless, fix it.

Test-Parameters: trivial

Signed-off-by: Wang Shilong <wshilong@ddn.com>
Change-Id: I74f920a0940516230c7d25f13b75ad354c3f8348
Reviewed-on: http://review.whamcloud.com/21256
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
7 years agoLU-8383 build: Spec file cleanup after LU-5614 08/21208/8
Dmitry Eremin [Mon, 11 Jul 2016 15:51:46 +0000 (18:51 +0300)]
LU-8383 build: Spec file cleanup after LU-5614

Add dependency from kmod-%{lustre_name}-tests
Fix BuildRequires: %kernel_module_package_buildreqs

Test-Parameters: trivial

Change-Id: I92325687812f10fb308971391e67bb80c08ae5da
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/21208
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-6449 mdt: broadcast orphan hsm_remove requests 91/20991/6
Bruno Faccini [Mon, 27 Jun 2016 09:25:20 +0000 (11:25 +0200)]
LU-6449 mdt: broadcast orphan hsm_remove requests

If a hsm_remove request is received for an unlinked file with
no/0 archive_id specified and no Agent/CT has registered to serve
all archive_ids, broadcast the request once to each registered
archive_id.

Also created specific sanity-hsm/test_29d sub-test using
"lfs hsm_remove <fid>" capability introduced by LU-6494.

Test-Parameters: clientcount=4
Signed-off-by: Bruno Faccini <bruno.faccini@intel.com>
Change-Id: Ice5acaa5116dc036d5a98d76368eba2023a29f49
Reviewed-on: http://review.whamcloud.com/20991
Reviewed-by: Frank Zago <fzago@cray.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8305 tests: add traces for sanity-sec 90/20990/6
Sebastien Buisson [Mon, 27 Jun 2016 08:58:09 +0000 (10:58 +0200)]
LU-8305 tests: add traces for sanity-sec

Add more traces in sanity-sec.sh to help debug test failures.
Also add traces in mdt_get_root() function.

Test-Parameters: trivial testlist=sanity-sec,sanity-sec,sanity-sec,sanity-sec
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I52291dc1b7c815eb4a845d4cd6a9c926122d107b
Reviewed-on: http://review.whamcloud.com/20990
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
7 years agoLU-5560 security: send file security context for creates 71/19971/29
John L. Hammond [Thu, 11 Feb 2016 14:36:37 +0000 (08:36 -0600)]
LU-5560 security: send file security context for creates

Send file security context to MDT along with create RPCs. This closes
the insecure window between creation and setting of the security
context that existed previously. It also avoids a potential LDLM hang
which arises from ll_create_it() when we send a MDS_SETXATTR RPC while
holding the lookup+layout lock returned from open.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I21415593b7dd362fecbb18cf90b1dc9fbf1c13db
Reviewed-on: http://review.whamcloud.com/19971
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7988 hsm: remove compound_id from mdt_hsm_add_actions proto 83/19583/14
Frank Zago [Fri, 8 Apr 2016 19:14:29 +0000 (15:14 -0400)]
LU-7988 hsm: remove compound_id from mdt_hsm_add_actions proto

mdt_hsm_request is the only caller of mdt_hsm_add_actions and it
doesn't care about compound_id, so make it a local variable, instead
of an output variable.

Test-Parameters: trivial testlist=sanity-hsm
Signed-off-by: frank zago <fzago@cray.com>
Change-Id: Iabf89497aad2cdf6364c155290c6df44487d8039
Reviewed-on: http://review.whamcloud.com/19583
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Vinayak <vinayakswami.hariharmath@seagate.com>
Reviewed-by: Patrick Farrell <paf@cray.com>
Reviewed-by: Ben Evans <bevans@cray.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7988 hsm: only browse entries of hsd.request when needed 81/19581/15
Frank Zago [Thu, 7 Apr 2016 16:59:52 +0000 (12:59 -0400)]
LU-7988 hsm: only browse entries of hsd.request when needed

In the coordinator callback, only the entries in hsd.request from 0 to
hsd.request_cnt-1 are used. So use that property instead of walking
the whole array. Consequently, the next entry available in hsd.request
is always at the hsd.request_cnt position, so use it instead of trying
to find an empty slot.

There is no need to reset hsd.request since hsd.request is already
reset in a for loop above. This saves a memset of 16 bytes per
request, each time the arbitor runs.

Test-Parameters: trivial testlist=sanity-hsm
Signed-off-by: frank zago <fzago@cray.com>
Change-Id: I2be0fe5ce918ded028bb260ef345a859b2cc41d4
Reviewed-on: http://review.whamcloud.com/19581
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Vinayak <vinayakswami.hariharmath@seagate.com>
Reviewed-by: Ben Evans <bevans@cray.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7988 hsm: Fix possible out of bounds reference in message 79/19579/14
Frank Zago [Mon, 11 Apr 2016 19:24:02 +0000 (15:24 -0400)]
LU-7988 hsm: Fix possible out of bounds reference in message

In the "Cannot allocate memory" error message, request[i].hal_sz could
be out of bound if the value of i was hsd->max_requests, which is
likely. The short fix would have been to use
request[empty_slot].hal_sz. Instead use a local variable for the
current request. This also reduces the size of the code.

Test-Parameters: trivial testlist=sanity-hsm
Signed-off-by: frank zago <fzago@cray.com>
Change-Id: I324087117df284dacea25774ebd9d4ed04794cbc
Reviewed-on: http://review.whamcloud.com/19579
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Vinayak <vinayakswami.hariharmath@seagate.com>
Reviewed-by: Ben Evans <bevans@cray.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7669 lmv: assume a real connection in lmv_connect() 18/18018/5
John L. Hammond [Fri, 15 Jan 2016 17:14:12 +0000 (11:14 -0600)]
LU-7669 lmv: assume a real connection in lmv_connect()

Assume a real connection in lmv_connect(). Mark OBD_CONNECT_REAL
obsolete. Remove the then unnecessary refcount and exp members of
struct lmv_obd. Remove calls to lmv_check_connect(). Disconnect the
export in the appropriate error path of lmv_connect().

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I6d4f449506020964afd7f012983bfb2339429e0f
Reviewed-on: http://review.whamcloud.com/18018
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
7 years agoLU-5092 nodemap: save nodemaps to targets for caching 03/17503/26
Kit Westneat [Mon, 11 Jul 2016 15:28:08 +0000 (11:28 -0400)]
LU-5092 nodemap: save nodemaps to targets for caching

Modify nodemap config storage to save config to targets as well as
MGSes. This allows targets to start with the last received nodemap
configuration even if the MGS is not available. The config is
replaced by the MGS' config the next time the MGS is available.

Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Change-Id: I1c5221815618fe0265908bfd900ba55f44d1021b
Reviewed-on: http://review.whamcloud.com/17503
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7311 osd: smp_mb__before_clear_bit deprecated since kernel 3.16 91/16891/11
frank zago [Mon, 1 Aug 2016 16:05:55 +0000 (12:05 -0400)]
LU-7311 osd: smp_mb__before_clear_bit deprecated since kernel 3.16

smp_mb__before_clear_bit() was deprecated in kernel 3.16 and removed
in kernel 3.18, and was replaced by smp_mb__before_atomic(). To fix,
use clear_bit_unlock which does the old smp_mb__before_clear_bit +
clear_bit.

Signed-off-by: frank zago <fzago@cray.com>
Change-Id: I970807ee4c1d91ddda4011ffb22bbe8af0a7764b
Reviewed-on: http://review.whamcloud.com/16891
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8248 tests: fix sanity test_248 VM checks 98/20698/4
Andreas Dilger [Wed, 8 Jun 2016 23:33:31 +0000 (17:33 -0600)]
LU-8248 tests: fix sanity test_248 VM checks

Skip test on clients that do not have fast_read support.
If running in any VM, not just kvm, ignore perf test failures.

Test-Parameters: trivial
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I09fbdb58e71d042c57b6bac1f6f1ef82243ebbe5
Reviewed-on: http://review.whamcloud.com/20698
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7613 llite: changes to avoid cache corruption 32/17732/5
Lokesh Nagappa Jaliminche [Wed, 10 Feb 2016 14:00:44 +0000 (19:30 +0530)]
LU-7613 llite: changes to avoid cache corruption

ll_find_alias is responsible for getting alias for inode
which can be reused. Directories are assumed to have unique
alias, where in case of non-directories there can be multiple
aliases. In case of lustre there can be two type of aliases
i.e. discon_alias and invalid_alias. Usage of discon_alias in
case of non-directories may corrupt dcache and leads to kernel
crash. Changes made to avoid use of discon_alias in case of
non-directories.

Seagate-bug-id: MRP-2739, MRP-3601
Change-Id: Ieb9dabab0784bdb3c52e2cb32be1a766ffe55313
Signed-off-by: Lokesh Nagappa Jaliminche <lokesh.jaliminche@seagate.com>
Reviewed-by: Ujjwal Lanjewar <ujjwal.lanjewar@seagate.com>
Reviewed-by: Ashish Purkar <ashish.purkar@seagate.com>
Reviewed-by: Andrew Perepechko <andrew.perepechko@seagate.com>
Tested-by: Parinay Vijayprakash Kondekar <parinay.kondekar@seagate.com>
Reviewed-on: http://review.whamcloud.com/17732
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-4039 tests: enable test_90 for replay-single 36/21736/4
Yang Sheng [Fri, 5 Aug 2016 22:54:58 +0000 (15:54 -0700)]
LU-4039 tests: enable test_90 for replay-single

Enable the test_90 since the issue cannot be reproduced.

Test-Parameters: trivial envdefinitions=ONLY=90 testlist=replay-single

Signed-off-by: Yang Sheng <yang.sheng@intel.com>
Change-Id: Icaddf3835373c836da6f2ae5eebfb3eb0e12540a
Reviewed-on: http://review.whamcloud.com/21736
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8370 dne: error in spliting update records 34/21334/6
Lai Siyao [Fri, 15 Jul 2016 08:53:18 +0000 (16:53 +0800)]
LU-8370 dne: error in spliting update records

sub_updates_write() needs to split update records if it exceeds
llog_chunk_size, current code is not accurate in offset
calculation, now it's changed to use the same set of functions to
estimate and set update llog size.

Besides, the padding size of each split llog should >=
LLOG_MIN_REC_SIZE, or exactly matches llog chunk size, otherwise
llog_osd_pad() will LASSERT.

Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Change-Id: I061c7808b26ce98967858bbed88b9e5180d88289
Reviewed-on: http://review.whamcloud.com/21334
Tested-by: Jenkins
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8287 nodemap: don't stop config lock when target stops 54/20954/21
Kit Westneat [Mon, 11 Jul 2016 15:17:21 +0000 (11:17 -0400)]
LU-8287 nodemap: don't stop config lock when target stops

Target config log locks keep a reference to the global nodemap config
lock to ensure that it exists while the target is up. When a target
is unmounted, the cld_stopping flag on the config lock is set. The
nodemap lock, however, should not have its flag set as other targets
may still be active. The nodemap config lock is cleaned up when the
final target config lock is cleaned up.

This also changes nodemap so it revokes locks only when enabled.

Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Change-Id: Ibe32f82a6e1a08a011e3d1ede213a2a403befeb8
Reviewed-on: http://review.whamcloud.com/20954
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoNew tag 2.8.56 2.8.56 v2_8_56 v2_8_56_0
Oleg Drokin [Tue, 9 Aug 2016 16:02:57 +0000 (12:02 -0400)]
New tag 2.8.56

Change-Id: I660c6559fbd54e9bee5e34d9c4f80d28cdef83e2
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8323 tests: Fix interop for set_hostid 38/21438/10
Nathaniel Clark [Wed, 20 Jul 2016 12:18:59 +0000 (08:18 -0400)]
LU-8323 tests: Fix interop for set_hostid

Version check set_hostid in formatall, since older ZFS doesn't "need"
it.

Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: Ica354c00cc2e53c533524df2a41b22226173fbfd
Reviewed-on: http://review.whamcloud.com/21438
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7712 mdd: migration is too noisy 45/18145/7
Alex Zhuravlev [Tue, 26 Jan 2016 08:00:45 +0000 (11:00 +0300)]
LU-7712 mdd: migration is too noisy

even in the normal cases when we can't migrate a file due to
activity on it or missing file, etc.

Change-Id: Iee320963116cbb5a141bbeb358eb8f604aa6a533
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/18145
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8056 xattr: update server code for POSIX xattr rename 54/21454/3
James Simmons [Wed, 27 Jul 2016 16:24:31 +0000 (12:24 -0400)]
LU-8056 xattr: update server code for POSIX xattr rename

Enabling ZFS server support for linux 4.5 kernels showed
that the POSIX_ACL_XATTR_{ACCESS,DEFAULT} change to
XATTR_NAME_POSIX_ACL_{ACCESS,DEFAULT} impacts the server
side code as well. Update server side for this name change.

Change-Id: Ieeef8c047177cd55ca87b04dfdacd59d343b0078
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/21454
Tested-by: Jenkins
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8401 lnet: remove dependency on OFED headers from lnet 17/21317/4
Dmitry Eremin [Thu, 14 Jul 2016 18:23:13 +0000 (21:23 +0300)]
LU-8401 lnet: remove dependency on OFED headers from lnet

The LNet layer shouldn't refer to anything in the RDMA world directly.
All OFED dependent code should be localized into o2iblnd.
So, remove dependency on OFED headers from all code except o2iblnd.

Change-Id: I445922ca2be58b5c34e61fe1fa50a423f13ec75d
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/21317
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Chris Horn <hornc@cray.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8257 utils: fix mtab symlink logic 60/21260/4
Bob Glossman [Tue, 12 Jul 2016 18:19:39 +0000 (11:19 -0700)]
LU-8257 utils: fix mtab symlink logic

Existing logic to check if /etc/mtab is symlinked to /proc
fails if the symlink is ../proc/self/mounts.  This is in fact
the case in many newer linux distros, for example recent Fedora
versions.

This mod updates the logic in mtab_is_proc() to give the correct
answer for any symlink into /proc.
It also cleans up the exact text on some error messages.

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I49989f580c32e6baf820b88f6f9e6432aeded43d
Reviewed-on: http://review.whamcloud.com/21260
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8427 build: clear file lustre-tests.files 29/21229/3
Dmitry Eremin [Mon, 11 Jul 2016 16:02:41 +0000 (19:02 +0300)]
LU-8427 build: clear file lustre-tests.files

Clear lustre-tests.files before append to it

Test-Parameters: trivial

Change-Id: I1b916b0b68b9bb57c543daf71892947ee896c8da
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/21229
Tested-by: Jenkins
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8426 rpmbuild: fix build with option "--without lustre_utils" 28/21228/3
Dmitry Eremin [Mon, 11 Jul 2016 16:00:44 +0000 (19:00 +0300)]
LU-8426 rpmbuild: fix build with option "--without lustre_utils"

Fix issue with not existing directory when build without lustre_utils

Test-Parameters: trivial

Change-Id: I2db1f4daa619f62e808f352a1a3265267085dc63
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/21228
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8041 tests: rename sanity test 39p to 39q 59/20459/2
Niu Yawei [Thu, 26 May 2016 06:30:53 +0000 (02:30 -0400)]
LU-8041 tests: rename sanity test 39p to 39q

Rename one of the duplicated test 39p to 39q.

Test-Parameters: trivial
Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: Idcace3585483387d411da7562808780c853bd026
Reviewed-on: http://review.whamcloud.com/20459
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
7 years agoLU-937 tests: fix CLIENTONLY mode for KNL testing 12/20312/8
Dmitry Eremin [Mon, 16 May 2016 10:03:02 +0000 (13:03 +0300)]
LU-937 tests: fix CLIENTONLY mode for KNL testing

Use default values if getconf utility is absent.
Add missing checks for remote servers availability.
Add checks for invalid options for cmp and find utilities.
Fix test_32 cleanup routine.

Change-Id: Ibaa636c62d202741ad86b6dc1711c6971b34c704
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/20312
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8311 mount: fix lmd_parse() to parse colon as NID delimiter 29/21329/4
Jian Yu [Fri, 15 Jul 2016 07:11:45 +0000 (00:11 -0700)]
LU-8311 mount: fix lmd_parse() to parse colon as NID delimiter

In multi-rail and failover configurations, colon is a valid
delimiter in LNET nid list to separate different hosts.
This patch fixes lmd_parse()->lmd_parse_nidlist() to handle
both comma and colon as delimiters.

Signed-off-by: Jian Yu <jian.yu@intel.com>
Change-Id: I287e08c22c82c2143fe9aba185473a672e8f1429
Reviewed-on: http://review.whamcloud.com/21329
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7863 osd-zfs: dmu_prefetch change in ZFS master 93/19293/8
Nathaniel Clark [Thu, 31 Mar 2016 15:12:38 +0000 (11:12 -0400)]
LU-7863 osd-zfs: dmu_prefetch change in ZFS master

In ZFS master (post zfs-0.6.5-release) dmu_prefetch now has 6
arguments instead of 4.  This accounts for the new style dmu_prefetch,
while keeping backward compatibility (back to 0.6.2 which initially
exported dmu_prefetch).

Convert old behavior of SYNC_READ for prefetch to ASYNC_READ as a
better prefetch behavior.

Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: Ia06e5605b06ef1f51817418183e479d591231e5a
Reviewed-on: http://review.whamcloud.com/19293
Tested-by: Jenkins
Reviewed-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
7 years agoLU-7442 tests: Load modules on MDS/OSS in conf-sanity test_41c 01/17301/9
Hema Yarramilli [Wed, 25 May 2016 14:03:15 +0000 (19:33 +0530)]
LU-7442 tests: Load modules on MDS/OSS in conf-sanity test_41c

Lustre modules were not present after "cleanup" in test_41c.
So test was failing while setting the "fail_loc" param on the
MDS/OSS. This patch adds "load_modules" after "cleanup".

Test-Parameters: trivial testlist=conf-sanity

Seagate-bug-id: MRP-2711
Signed-off-by: Ashish Maurya <ashish.maurya@seagate.com>
Signed-off-by: Hema Yarramilli <hema.yarramilli@seagate.com>
Change-Id: Icad9410765121bd17f00761477066f9cebf8f686
Reviewed-on: http://review.whamcloud.com/17301
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8399 osp: direct reference object to be invalidate 30/21330/6
Fan Yong [Fri, 3 Jun 2016 08:33:58 +0000 (16:33 +0800)]
LU-8399 osp: direct reference object to be invalidate

If the cross-MDTs update failed, the OSP transcation callback
will invalidate related object(s) cache. Originally, it uses
lu_object_find() to locate the object by FID. But it may be
blocked if related object is marked as dying (for some reason,
such as purged when umount).

To avoid such trouble, we make the "osp_update_request" to
reference related object(s) directly, then when needs to
invalidate, we can access the object(s) directly without
locating again.

Test-Parameters: alwaysuploadlogs mdsfilesystemtype=ldiskfs mdtfilesystemtype=ldiskfs ostfilesystemtype=ldiskfs mdscount=2 mdtcount=4 testlist=sanity-scrub,sanity-scrub,sanity-scrub
Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I043182b349b38153cce4e20b2675556ead94c6c1
Reviewed-on: http://review.whamcloud.com/21330
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoRevert "LU-7845 lnet: check if address is visible" 31/21631/3
Oleg Drokin [Tue, 2 Aug 2016 15:40:05 +0000 (15:40 +0000)]
Revert "LU-7845 lnet: check if address is visible"

This patch created a deadlock situation that is tracked under LU-8392

This reverts commit 57b80581e8f13b9f7ddb4c1135390de1ec22b11d.

Change-Id: Iaa3ea51975285b241c52c2dcbebbd846e0ff1f4f
Reviewed-on: http://review.whamcloud.com/21631
Tested-by: Jenkins
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Tested-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7988 hsm: remove hsd.request_sz from struct hsm_scan_data 78/19578/14
Frank Zago [Thu, 7 Apr 2016 16:57:33 +0000 (12:57 -0400)]
LU-7988 hsm: remove hsd.request_sz from struct hsm_scan_data

request_sz is only used in one function, so it doesn't need to be part
of the structure. Instead make it local to mdt_coordinator().

Test-Parameters: trivial testlist=sanity-hsm
Signed-off-by: frank zago <fzago@cray.com>
Change-Id: If58546b9e23281097ed414f863e91b1e6a54c8fb
Reviewed-on: http://review.whamcloud.com/19578
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Vinayak <vinayakswami.hariharmath@seagate.com>
Reviewed-by: Patrick Farrell <paf@cray.com>
Reviewed-by: Ben Evans <bevans@cray.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8352 libcfs: Migrate file_inode() wrapper to lustre layer 82/21082/5
James Simmons [Wed, 20 Jul 2016 23:28:36 +0000 (19:28 -0400)]
LU-8352 libcfs: Migrate file_inode() wrapper to lustre layer

The file_inode() defined in libcfs will collide with the
same defination in compat-2.6.h from the OFED/Mellanox
stack. The easiest way to avoid this is move the file_inode
wrapper from libcfs linux-fs.h header to lustre_compat.h.
The header lustre_compat.h is only used in the lustre
layer so it wouldn't collide with compat-2.6.h.

Change-Id: I70502be0d824a2a1f9c538ae894ab8183961349b
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/21082
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Jenkins
Reviewed-by: Chris Horn <hornc@cray.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8320 llog: prevent llog ID re-use. 44/21144/4
Mikhal Pershin [Fri, 1 Jul 2016 17:07:02 +0000 (20:07 +0300)]
LU-8320 llog: prevent llog ID re-use.

The new llog ID generated in simple manner by
increment of the last used OID within the same FID
sequence. Therefore OID can cycle through zero and
match some very old llog file which is still in use
or orphaned. Patch skips such llog IDs. Also patch
replaces several assertions with sanity checks in
llog_write() path.

Signed-off-by: Mikhal Pershin <mike.pershin@intel.com>
Change-Id: Iffd7e61f75fdb554ae03c8a4b685cd2aff648c24
Reviewed-on: http://review.whamcloud.com/21144
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7429 tests: generate dangling name entry properly 12/21412/6
Fan Yong [Fri, 3 Jun 2016 23:03:18 +0000 (07:03 +0800)]
LU-7429 tests: generate dangling name entry properly

When start LFSCK, before scanning the system, it needs to create
the objects ".lustre/lost+found/MDTxxxx" to hold orphans if they
do not exist. Such creation may re-use the backend object (inode
for ldiskfs backend) that was original referenced by the dangling
name entry. If such case happened, the dangling failure injection
will fail, then the LFSCK will not find dangling name entry.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I3c8be2e3f83e10a454bbc6175242d0a982211d87
Reviewed-on: http://review.whamcloud.com/21412
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-6622 tests: reduce chance of stat timeout in lnet-selftest 81/14881/5
Vladimir Saveliev [Wed, 20 May 2015 16:25:22 +0000 (19:25 +0300)]
LU-6622 tests: reduce chance of stat timeout in lnet-selftest

lst_end_session() calls 'lst show_error' before 'lst stop b' which
stops batched tests. Stat RPC sent by 'lst show_error' may timeout due
to network congestion cause by running batched tests. 'lst show_error'
reports stat RPC's timeout case, so that check_lst_err() detects that
errors were found and assumes that the test failed.
Stop batched tests before call to 'lst show_error' in order to reduce
chance of RCS timeout during 'lst show_error'.

Test-Parameters: trivial
Xyratex-bug-id: MRP-1101
Signed-off-by: Vladimir Saveliev <vladimir.saveliev@seagate.com>
Change-Id: Ibe4fa6399c9ea0b0063ac41494f0725eb14f0e8a
Reviewed-on: http://review.whamcloud.com/14881
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8056 lprocfs: treat seq_printf as void function 53/21453/2
James Simmons [Wed, 20 Jul 2016 20:31:48 +0000 (16:31 -0400)]
LU-8056 lprocfs: treat seq_printf as void function

In newer kernels seq_printf is a void function. Some
of the seq_printf handle server side missed being
updated to treat seq_printf as a void function.

Change-Id: Icfd2f83ad4cd143eac228ed3d50beff533fcfe44
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/21453
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Kit Westneat <kit.westneat@gmail.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8394 tests: exportfs unexport failure can be ignored 90/21290/2
Lai Siyao [Wed, 13 Jul 2016 19:17:51 +0000 (12:17 -0700)]
LU-8394 tests: exportfs unexport failure can be ignored

During NFS test cleanup, 'service nfs stop' is called before
'exportfs -u', while the former one should have unexport all
already, so the failure of the latter can be ignored.

Test-Parameters: trivial alwaysuploadlogs \
envdefinitions=ONLY=compilebench \
clientdistro=el7 ossdistro=el7 mdsdistro=el7 \
testlist=parallel-scale-nfsv3,parallel-scale-nfsv4

Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Change-Id: I4a6931202dccde2909cab6c60c3ebc002fe4fd98
Reviewed-on: http://review.whamcloud.com/21290
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-6888 osp: check return value in osp_update_request_create() 41/20941/2
Niu Yawei [Thu, 23 Jun 2016 09:17:38 +0000 (05:17 -0400)]
LU-6888 osp: check return value in osp_update_request_create()

osp_update_request_create() should check the return value of call
to osp_object_update_request_create(), and return error if
osp_object_update_request_create() failed.

Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: I7b5486c94dec81a506402fc99b24a422c09e3c58
Reviewed-on: http://review.whamcloud.com/20941
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7043 test: skip conf-sanity test_86 76/19176/6
Wei Liu [Mon, 28 Mar 2016 21:25:16 +0000 (14:25 -0700)]
LU-7043 test: skip conf-sanity test_86

Skip conf-sanity test_86 if server version is older than 2.7.56

Test-Parameters: trivial testlist=conf-sanity

Change-Id: Ief0ef51afd50c3b8f7861d62e0231b1a923435e6
Signed-off-by: Wei Liu <wei3.liu@intel.com>
Reviewed-on: http://review.whamcloud.com/19176
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Saurabh Tandan <saurabh.tandan@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7311 osd: quotactl_ops has changed in kernel 3.19 93/16893/4
Frank Zago [Thu, 15 Oct 2015 16:27:21 +0000 (12:27 -0400)]
LU-7311 osd: quotactl_ops has changed in kernel 3.19

The kernel 3.19 has quotactl_ops->[sg]et_dqblk that take struct kqid
and qc_dqblk. Added in kernel commit 14bf61ffe.

Signed-off-by: frank zago <fzago@cray.com>
Change-Id: Ie9943d2537c137ececa03040151059e34850f5de
Reviewed-on: http://review.whamcloud.com/16893
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7311 osd: ext4_bread has one less parameter in kernel 3.18 92/16892/7
frank zago [Wed, 20 Jul 2016 23:24:17 +0000 (19:24 -0400)]
LU-7311 osd: ext4_bread has one less parameter in kernel 3.18

The returned error code was the 5th parameter to ext4_bread until the
kernel 3.18. It was then removed and integrated into the returned
pointer. Create a shim to emulate the newer version of ext4_bread with
older kernels.

Signed-off-by: frank zago <fzago@cray.com>
Change-Id: I3dacd8b24ae7a3a823f5cc662b2ee3627f8fcda7
Reviewed-on: http://review.whamcloud.com/16892
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-6135 lustreapi: allow specific-OST with llapi_layout 63/12663/15
Andreas Dilger [Wed, 20 Jul 2016 23:32:01 +0000 (19:32 -0400)]
LU-6135 lustreapi: allow specific-OST with llapi_layout

Add support to llapi_layout_ost_index_set() for specifying
specific OST indices for a newly created files. Using
ost_index=LLAPI_LAYOUT_DEFAULT to stripe 0 will reset the
specified stripes back to the default.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: Ic3aea69527119ddf1cb4f91bac531b6eaa3ebbe5
Reviewed-on: http://review.whamcloud.com/12663
Tested-by: Jenkins
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8356 osp: wakeup osp_precreate_reserve on umount 03/21103/3
Alexander Boyko [Thu, 30 Jun 2016 14:52:46 +0000 (17:52 +0300)]
LU-8356 osp: wakeup osp_precreate_reserve on umount

No reasons to wait reservation in osp_precreate_reserve when
import is invalid. This may cause additional delays during umount.

Signed-off-by: Sergey Cheremencev <sergey.cheremencev@seagate.com>
Signed-off-by: Alexander Boyko <alexander.boyko@seagate.com>
Seagate-bug-id: MRP-3603
Change-Id: If2c3449753633fb4cb81e0d0b22f6ecf0882be16
Reviewed-on: http://review.whamcloud.com/21103
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andriy Skulsyh
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7939 osd-ldiskfs: check IS_ERR() instead of NULL 97/19197/5
Dmitry Eremin [Tue, 29 Mar 2016 17:57:36 +0000 (20:57 +0300)]
LU-7939 osd-ldiskfs: check IS_ERR() instead of NULL

osd_ldiskfs_find_entry() returns ERR_PTR() but checked for NULL.

Change-Id: I9bf6a7f331fd1e6c34c7ea2209944748e832891d
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/19197
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7342 test: test_85a: unused locks error 53/16953/5
Chennaiah Palla [Tue, 27 Oct 2015 12:18:04 +0000 (17:48 +0530)]
LU-7342 test: test_85a: unused locks error

When we changed FSNAME from lustre to lustre-1, $3
will give “addr” value “clilov” instead of getting
proper address, due to this we are getting "Found no match" error.
But if we change $3 to $NF getting addr value correctly.
Generally NF will give total number of fields in the current
input, but in our case it happens to be last field.

Test-Parameters: trivial testlist=replay-single

Seagate-bug-id: MRP-2791
Signed-off-by: Chennaiah Palla <chennaiah.palla@seagate.com>
Change-Id: I1d5e95425fdf848907cb9617494aa1c7971d90a6
Reviewed-on: http://review.whamcloud.com/16953
Reviewed-by: Jian Yu <jian.yu@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Saurabh Tandan <saurabh.tandan@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-4825 osp: check max_create_count before use OSP 05/16105/19
Lai Siyao [Wed, 20 Jul 2016 23:22:09 +0000 (19:22 -0400)]
LU-4825 osp: check max_create_count before use OSP

in OSP precreate, if max_create_count is 0, return error directly
to use next OST, this can be used in OST migration.

add sanity.sh 311 for this.

Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Change-Id: I3f1cb84b30229911564969bcfc52b9e7c03a00d4
Reviewed-on: http://review.whamcloud.com/16105
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoRevert "LU-7782 scrub: handle slave obj of striped directory" 13/21313/4
Oleg Drokin [Thu, 14 Jul 2016 17:47:39 +0000 (17:47 +0000)]
Revert "LU-7782 scrub: handle slave obj of striped directory"

This seems to be causing frequent failures documented in
LU-8399.

This reverts commit 80fe81c5b14835bbd5d751e878edbd00fe90f797.

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

Change-Id: I84077375673e52244117d98ef4d76a36a4333ad8
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/21313
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
7 years agoLU-8389 kernel: kernel update RHEL6.8 [2.6.32-642.3.1.el6] 79/21279/3
Bob Glossman [Tue, 12 Jul 2016 16:12:25 +0000 (09:12 -0700)]
LU-8389 kernel: kernel update RHEL6.8 [2.6.32-642.3.1.el6]

Update RHEL6.8 kernel to 2.6.32-642.3.1.el6

Test-Parameters: clientdistro=el6.8 mdsdistro=el6.8 ossdistro=el6.8 \
  mdsfilesystemtype=ldiskfs mdtfilesystemtype=ldiskfs \
  ostfilesystemtype=ldiskfs testgroup=review-ldiskfs

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I5d132dc6fbdd91910b0e3573f4db0d2f1b0ea475
Reviewed-on: http://review.whamcloud.com/21279
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Minh Diep <minh.diep@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8055 ldev: Introduced role filtering 41/20041/10
Giuseppe Di Natale [Thu, 5 May 2016 22:44:38 +0000 (15:44 -0700)]
LU-8055 ldev: Introduced role filtering

Output can now be filtered by using -R <role>
or --role <role> as command line parameters,
where role is a string such as "mdt", "ost",
or "mgs".

Also removed MGT as a possible node type
in ldev.conf.

Test-Parameters: trivial testlist=conf-sanity
Signed-off-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Change-Id: I488ac702edf0cc7c08020b289dcba040706181b4
Reviewed-on: http://review.whamcloud.com/20041
Reviewed-by: Olaf Faaland-LLNL <faaland1@llnl.gov>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8357 nodemap: reclassify nodemap requires active conf lock 59/21159/4
Kit Westneat [Tue, 5 Jul 2016 17:23:52 +0000 (13:23 -0400)]
LU-8357 nodemap: reclassify nodemap requires active conf lock

A couple of call paths did not take the lock, which led to race
conditions. This patch ensures that those calls are under lock.

Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Change-Id: I3db8203b0b6d7d02a02cbe1c3ed6c847915d0076
Reviewed-on: http://review.whamcloud.com/21159
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8354 ldlm: soft lockup in ldlm_plain_compat_queue 93/21093/6
Andriy Skulysh [Wed, 6 Jul 2016 08:34:27 +0000 (11:34 +0300)]
LU-8354 ldlm: soft lockup in ldlm_plain_compat_queue

commit c09b59bb958f3e089b95dd9492cc1bef17cb3782
LU-3963 ldlm: convert to linux list api

breaks loop iteration optimisation.
tmp variable is modified later to skip already
processed locks from the same mode group.

Change-Id: I4dd493d6bd5bb2ac54801cb289dc89efabdfa920
Seagate-bug-id: MRP-3611
Signed-off-by: Andriy Skulysh <andriy.skulysh@seagate.com>
Reviewed-on: http://review.whamcloud.com/21093
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8297 obd: release MGC device if connect fails 51/20851/3
John L. Hammond [Fri, 17 Jun 2016 14:16:08 +0000 (09:16 -0500)]
LU-8297 obd: release MGC device if connect fails

In lustre_fill_super() if lustre_start_mgc() fails then call
lustre_common_put_super() to release a reference on the MGC device
attached to the LSI.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I89697badac971e78e1cd3596e7ffc42afdcbfeee
Reviewed-on: http://review.whamcloud.com/20851
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8058 lustre: Remove old commented out code 16/20416/14
Ben Evans [Tue, 12 Jul 2016 13:54:59 +0000 (09:54 -0400)]
LU-8058 lustre: Remove old commented out code

These #if 0 blocks have been in place for years. Assume
they are not used and remove them

Cleanup functions that are no longer used:
sec_gss.c: gss_netobj_swabber
sec_gss.c: gss_swab_netobj
osd_iam_lvar.c: e_check
osd_iam.c: iam_leaf_check
osc_page.c: osc_page_is_dlocked
osc_page.c: osc_page_protected
mgs_llog.c: mgs_check_failnid

Test-Parameters: trivial

Signed-off-by: Ben Evans <bevans@cray.com>
Change-Id: Ib3d337f59a14c5cd7340be7e1aef4f2ca9663ac4
Reviewed-on: http://review.whamcloud.com/20416
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8056 llite: POSIX_ACL_XATTR_{ACCESS,DEFAULT} removed in 4.5 25/20225/5
Li Dongyang [Tue, 12 Jul 2016 00:40:27 +0000 (20:40 -0400)]
LU-8056 llite: POSIX_ACL_XATTR_{ACCESS,DEFAULT} removed in 4.5

POSIX_ACL_XATTR_{ACCESS,DEFAULT} are duplicate
xattr name definitions and they are replaced by
XATTR_NAME_POSIX_ACL_{ACCESS,DEFAULT} since Linux kernel 4.5

Linux-commit:97d79299223baab330b194437e676d301f12d5f6

Signed-off-by: Li Dongyang <dongyang.li@anu.edu.au>
Change-Id: I9e031d3ac77a4bf1832d932c1cab7032e4572445
Reviewed-on: http://review.whamcloud.com/20225
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7839 nodemap: add a flag to deny access to unmapped users 58/18758/10
Kit Westneat [Thu, 3 Mar 2016 03:36:49 +0000 (22:36 -0500)]
LU-7839 nodemap: add a flag to deny access to unmapped users

Sometimes it makes more sense to deny access to users who aren't
mapped, instead of just squashing them to nobody. This patch adds a
per-nodemap flag which, if enabled, makes it so EACCES is returned to
all users mapped to the squashed UID. One use case is preventing an
unmapped user from being able to fill a /tmp-style directory, and in
conjunction with SSK it can restrict users of authorized clients to
their subset of the filesystem namespace, essentially providing
isolated containers.

Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Change-Id: Ia511c887dd94bdec281cbb85e46d49496f85721c
Reviewed-on: http://review.whamcloud.com/18758
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-5814 lov: remove unused code 78/14878/7
John L. Hammond [Thu, 7 Jul 2016 21:16:23 +0000 (17:16 -0400)]
LU-5814 lov: remove unused code

Remove:
  the tested but never set flag OBD_STATFS_PTLRPCD,
  the empty file lustre/lov/lovsub_io.c,
  the unused ld_emerg member of struct lov_device,
  the unused struct lov_device_emerg and supporting functions,
  the unused struct lov_lock_link and supporting functions, and
  the unused, get only, or set only members of struct
    lovsub_device, lovsub_lock, lov_sublock_env, lov_thread_info,
    lov_io_sub, lov_io, lov_request, and lov_request_set.

Reduce the scope of several functions from lov_request.c.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I3f4e7c94b401b5f90f7577c6c65311bd586a06ba
Reviewed-on: http://review.whamcloud.com/14878
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Ben Evans <bevans@cray.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7645 build: Remove unused --with-release configure option 58/19958/5
Christopher J. Morrone [Wed, 4 May 2016 00:44:33 +0000 (17:44 -0700)]
LU-7645 build: Remove unused --with-release configure option

At this point, configure's --with-release option no longer
has any effect.  We remove it completely.

Test-Parameters: trivial
Change-Id: I7373c9bf401464f4284ad79aa6fef746dc711bc9
Signed-off-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-on: http://review.whamcloud.com/19958
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8386 zfs: Use ZFS_MAXPROPLEN instead of ZFS_MAXNAMELEN 51/21251/2
Christopher J. Morrone [Mon, 11 Jul 2016 23:10:29 +0000 (16:10 -0700)]
LU-8386 zfs: Use ZFS_MAXPROPLEN instead of ZFS_MAXNAMELEN

ZFS_MAXNAMELEN was removed on zfs's master branch.  We
substitue ZFS_MAXPROPLEN in its place.  We only used this
macro in the get and set zfs property functions, so this
should be a reasonable exchange.

ZFS_MAXPROPLEN has also been around for a long time, so there
is no need to extra logic to make lustre lustre backwards
compatible with older ZFS releases.

Change-Id: I7292194f1a4e0311477954f7f83a3c353e785ac8
Test-Parameters: trivial
Signed-off-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-on: http://review.whamcloud.com/21251
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
7 years agoLU-7643 build: Remove Linux version string from RPM release field 54/19954/7
Christopher J. Morrone [Tue, 12 Jul 2016 14:13:53 +0000 (10:13 -0400)]
LU-7643 build: Remove Linux version string from RPM release field

With the landing of the patch:

  "LU-5614 build: use %kernel_module_package in rpm spec"

we neither need, nor desire, to tie a lustre build to a specific
Linux kernel version.  Instead we want to allow the weak updates
system to symlink the lustre modules into any and all kernel
directories that are ABI compatible.

Therefore, we remove the Linux version string from Lustre's
RPM release field.

Note that "%define krequires" is moved to a SLES-only section
when the 0%{?build_src_rpm} conditional is removed.  This may
seem like an odd place to put it at first glance.  But the
next line is the only remaining consumer of krequires, so
we are just moving it to the last place that it might be needed.
This could perhaps be simplified further in a future commit.

When removing the no longer needed %{fullrelease} from the Release
field, we replace it with a 1 and with the %{?dist} string.
%{?dist} is customary for Fedora, RHEL, and likely most rpm-based
distros.

Because the release field is no longer modified between the source
rpm and binary rpm build steps, there is not longer a need for
The build_src_rpm macro.  That is removed as well.

Test-Parameters: trivial
Change-Id: I8306f48d5bf0dffcae2888505ec7f0f63e47fc08
Signed-off-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-on: http://review.whamcloud.com/19954
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7648 man: new man pages for LFSCK commands 94/19294/5
Fan Yong [Thu, 26 May 2016 05:11:41 +0000 (13:11 +0800)]
LU-7648 man: new man pages for LFSCK commands

split lctl LFSCK sub-commands to new man pages. More explaination
about the "-A | --all" option.

Compatible support:
1) "--create_ostobj" and "--create-ostobj" option pairs
2) "--create_mdtobj" and "--create-mdtobj" option pairs
3) "--window_size" and "--window-size" option pairs

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I560aec923aa72ff11a04916c5fec3ea31c9f4f50
Reviewed-on: http://review.whamcloud.com/19294
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
7 years agoLU-7836 ptlrpc: remove duplicate final ping req 93/19693/2
Di Wang [Tue, 19 Apr 2016 13:53:51 +0000 (09:53 -0400)]
LU-7836 ptlrpc: remove duplicate final ping req

Remove duplidate final ping req if the failover
server get new final ping from the same client,
otherwise the final ping will be piled up on
the recovery server, especially if recovery is
stuck during DNE failover.

Signed-off-by: Di Wang <di.wang@intel.com>
Change-Id: I41ecc88cede1024d386283e693698789ac0b7aa4
Reviewed-on: http://review.whamcloud.com/19693
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8337 kernel: kernel update [SLES12 SP1 3.12.59-60.41] 51/21051/3
Bob Glossman [Tue, 28 Jun 2016 14:48:37 +0000 (07:48 -0700)]
LU-8337 kernel: kernel update [SLES12 SP1 3.12.59-60.41]

Update target and kernel_config files for new version

Test-Parameters: clientdistro=sles12 testgroup=review-ldiskfs \
  mdsdistro=sles12 ossdistro=sles12 mdsfilesystemtype=ldiskfs \
  mdtfilesystemtype=ldiskfs ostfilesystemtype=ldiskfs

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I35038f0715abaa7ae69011e102c19d43b5e416bc
Reviewed-on: http://review.whamcloud.com/21051
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8065 utils: clarify lctl help messages 64/19764/6
Henri Doreau [Mon, 25 Apr 2016 14:45:05 +0000 (16:45 +0200)]
LU-8065 utils: clarify lctl help messages

Clarify the syntax help messages of lctl changelog_{de}register
and make them consistent with the other ones.

Test-Parameters: trivial

Change-Id: Iffb36906d764b5832722e635ab6b9feadf38c64c
Signed-off-by: Henri Doreau <henri.doreau@cea.fr>
Reviewed-on: http://review.whamcloud.com/19764
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-5560 tests: add sanity-selinux.sh 18/15818/14
Sebastien Buisson [Fri, 31 Jul 2015 14:02:06 +0000 (16:02 +0200)]
LU-5560 tests: add sanity-selinux.sh

New test sanity-selinux.sh aims at exercing SELinux support
on the client side, as implemented according to LU-5560.
This patch also adds new fail_locs in CLIO.

Test-Parameters: trivial testlist=sanity-selinux
Signed-off-by: Sebastien Buisson <sebastien.buisson@bull.net>
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I222a82329142705345837e1235dd01e1d85e7a28
Signed-off-by: Saurabh Tandan <saurabh.tandan@intel.com>
Reviewed-on: http://review.whamcloud.com/15818
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andrew Perepechko <andrew.perepechko@seagate.com>
Reviewed-by: Li Xi <lixi@ddn.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8369 nodemap: ignore loopback NID when classifying 60/21160/2
Kit Westneat [Tue, 5 Jul 2016 22:44:50 +0000 (18:44 -0400)]
LU-8369 nodemap: ignore loopback NID when classifying

The loopback NID doesn't make sense in the nid range system
currently used by nodemap. In order to add the MGS to a nodemap,
this patch modifies nodemap_classify_nid to use the first non-lo nid
if it is given the loopback nid.

Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Change-Id: Iea91a54a14021e478782eedb28ae1a6c3e62d38c
Reviewed-on: http://review.whamcloud.com/21160
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8372 llite: Fix suspicious dereference of pointer 'vma->vm_file' 71/21171/3
Dmitry Eremin [Wed, 6 Jul 2016 11:31:08 +0000 (14:31 +0300)]
LU-8372 llite: Fix suspicious dereference of pointer 'vma->vm_file'

Remove useless LASSERT(vma->vm_file) because of if it's NULL it
will crash early in file_inode(vma->vm_file).

Test-Parameters: trivial

Change-Id: I309127fae03a77020883a0e190c4fa6ea341dfee
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/21171
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8368 gnilnd: Use kgnilnd_vzalloc() to avoid stalls 54/21154/3
Chuck Fossen [Tue, 5 Apr 2016 16:38:37 +0000 (16:38 +0000)]
LU-8368 gnilnd: Use kgnilnd_vzalloc() to avoid stalls

Use kgnilnd_vzalloc() for copy buffer allocation in kgnilnd_rdma so
we don't stall allocating in low memory situations.
Clean up freeing of memory that uses kgnilnd_vzalloc to make sure we
call vfree.

Booted on test node and verify we don't break anything. Ran IOR tests.

Test-Parameters: trivial
Signed-off-by: Chris Horn <hornc@cray.com>
Change-Id: Icb1dfe5f91f20195cd3a1093c57dc1157e127e9b
Reviewed-on: http://review.whamcloud.com/21154
Reviewed-by: James Shimek <jshimek@cray.com>
Reviewed-by: Chuck Fossen <chuckf@cray.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8360 llite: check return value for obd_set_info_async 25/21125/3
Yang Sheng [Fri, 1 Jul 2016 16:00:46 +0000 (00:00 +0800)]
LU-8360 llite: check return value for obd_set_info_async

The return value is ignored in client_common_fill_super.
Restore to check it and error out.

Signed-off-by: Yang Sheng <yang.sheng@intel.com>
Change-Id: If8da955acc61212cf04b9600348875aed8f5cfb4
Reviewed-on: http://review.whamcloud.com/21125
Tested-by: Jenkins
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8328 tests: cleanup system after conf-sanity test_86 87/20987/2
Fan Yong [Wed, 18 May 2016 07:52:31 +0000 (15:52 +0800)]
LU-8328 tests: cleanup system after conf-sanity test_86

The conf-sanity test_86 reformats the OST1 device, it only
checks whether the reformat works or not, but it does not
reformat the MGS (or write conf) as to after reformatting
the OST1, it cannot mount to the MGS, so if the subsequent
tests do not reformat the system, then will get failure.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I808d7d6c3fa2e57e8b644bd4af7350be006605c3
Reviewed-on: http://review.whamcloud.com/20987
Tested-by: Jenkins
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8321 kernel: kernel update RHEL7.2 [3.10.0-327.22.2.el7] 63/20963/3
Bob Glossman [Thu, 23 Jun 2016 18:36:54 +0000 (11:36 -0700)]
LU-8321 kernel: kernel update RHEL7.2 [3.10.0-327.22.2.el7]

Update RHEL7.2 kernel to 3.10.0-327.22.2.el7

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I3d2f7b05dde6473fb614cdafc796ecb083298c74
Reviewed-on: http://review.whamcloud.com/20963
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Minh Diep <minh.diep@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7429 tests: inject lfsck failure properly 16/20916/3
Fan Yong [Sun, 15 May 2016 15:20:41 +0000 (23:20 +0800)]
LU-7429 tests: inject lfsck failure properly

In sanity-lfsck test_23, we need to inject some failure stub to
simulate the case of dangling name entry. But the original mean
may misguide the LFSCK to regard it as bad name entry.

On the other hand, the test scripts injects some test delay that
may cause the LFSCK to run slowly, so need more time to wait the
LFSCK status changes.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I36c6c1bd8d07d2af6680e18b6c722e3bfa3a0062
Reviewed-on: http://review.whamcloud.com/20916
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
7 years agoLU-7914 obdclass: Removed unused reference of cl_page_list_own() 86/20886/4
Parinay Kondekar [Wed, 6 Jul 2016 01:03:03 +0000 (21:03 -0400)]
LU-7914 obdclass: Removed unused reference of cl_page_list_own()

cl_page_list_own() is unused and thus could be removed altogether.

Change-Id: I57c88a484f5d624e413d1b555473819f8785dd05
Signed-off-by: Parinay Kondekar <parinay.kondekar@seagate.com>
Reviewed-on: http://review.whamcloud.com/20886
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8298 sec: remove obsolete sec_level parameter 79/20879/4
John L. Hammond [Mon, 16 May 2016 05:00:25 +0000 (13:00 +0800)]
LU-8298 sec: remove obsolete sec_level parameter

Remove the obsolete sec_level parameter and supporting code.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I073e8093f4a7f0c5faf19112a5f84076016361de
Reviewed-on: http://review.whamcloud.com/20879
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8251 tests: Delete only test files for sanityn 18/20718/3
Saurabh Tandan [Thu, 9 Jun 2016 23:20:19 +0000 (16:20 -0700)]
LU-8251 tests: Delete only test files for sanityn

For sanityn tests_40* to tests_47* replacing
rm -r $DIR1/* with rm -rf $DIR/$tfile* so that
only the tests files are deleted and not all the
data contained in $DIR1

Test-Parameters: trivial testlist=sanityn,sanityn,sanityn,sanityn
Signed-off-by: Saurabh Tandan <saurabh.tandan@intel.com>
Change-Id: I353f9d40c5ee4ee99e7cce90fb61ce9f6d5b8567
Reviewed-on: http://review.whamcloud.com/20718
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
7 years agoLU-8117 build: fix lustre-ppc64 build on el7 04/20404/6
Dmitry Eremin [Tue, 24 May 2016 13:54:30 +0000 (16:54 +0300)]
LU-8117 build: fix lustre-ppc64 build on el7

Explicitly clear the LDFLAGS for kernel modules build so that
the vendor's overzealous linker flags don't create build failures.

Test-Parameters: trivial

Change-Id: I427cffb229a19a8ff0c2ba0c3ed2ac135f21e24d
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/20404
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Minh Diep <minh.diep@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7099 lnet: lock improvement for ko2iblnd 22/20322/5
Liang Zhen [Fri, 14 Nov 2014 15:48:07 +0000 (23:48 +0800)]
LU-7099 lnet: lock improvement for ko2iblnd

kiblnd_check_sends() takes conn::ibc_lock at the begin and release
this lock at the end, this is inefficient because most use-case
needs to explicitly release ibc_lock before caling this function.

This patches changes it to kiblnd_check_sends_locked() and avoid
unnecessary lock dances.

Test-Parameters: trivial

Signed-off-by: Doug Oucharek <doug.s.oucharek@intel.com>
Change-Id: I3b348029dace70fd27beafa495f7a9e0bde442ed
Reviewed-on: http://review.whamcloud.com/20322
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Amir Shehata <amir.shehata@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8056 llite: inode_operations interface changed in 4.5 24/20224/4
Li Dongyang [Mon, 16 May 2016 11:57:31 +0000 (21:57 +1000)]
LU-8056 llite: inode_operations interface changed in 4.5

Linux kernel 4.5 replaced follow_link() with get_link()
while put_link() is removed.
This patch handles the API change.

Linux-commit:6b2553918d8b4e6de9853fd6315bec7271a2e592
Linux-commit:fceef393a538134f03b778c5d2519e670269342f

Signed-off-by: Li Dongyang <dongyang.li@anu.edu.au>
Change-Id: Ia9b8c9b855ed5ab7a428a370074b8801e34d3f99
Reviewed-on: http://review.whamcloud.com/20224
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8056 llite: use inode_lock to access i_mutex 23/20223/5
Li Dongyang [Wed, 6 Jul 2016 00:39:15 +0000 (20:39 -0400)]
LU-8056 llite: use inode_lock to access i_mutex

Linux kernel 4.5 introduced wrappers for i_mutex as the type
of i_mutex will be changed in the future.
This patch prepares us for the upcoming type change. It also
includes a patch from linux kernel removing unused declaration
to make the room for the wrappers mentioned above.

Note that this patch only touches the llite part. osd-ldiskfs still
calls mutex_{lock,unlock} on i_mutex.

Linux-commit:57b8f112cfe6622ddddb8c2641206bb5fa8a112d
Linux-commit:5955102c9984fa081b2d570cfac75c97eecf8f3b

Signed-off-by: Li Dongyang <dongyang.li@anu.edu.au>
Change-Id: Ia4c30443cddfaa5232e1dc1519c33c97dba2a271
Reviewed-on: http://review.whamcloud.com/20223
Tested-by: Jenkins
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8056 socklnd: NETIF_F_ALL_CSUM renamed to NETIF_F_CSUM_MASK 22/20222/7
Li Dongyang [Wed, 6 Jul 2016 00:03:44 +0000 (20:03 -0400)]
LU-8056 socklnd: NETIF_F_ALL_CSUM renamed to NETIF_F_CSUM_MASK

In kernel 4.5 NETIF_F_CSUM_MASK got renamed to NETIF_F_CSUM_MASK.
This patch handles the name change.

Linux-commit:a188222b6ed29404ac2d4232d35d1fe0e77af370

Signed-off-by: Li Dongyang <dongyang.li@anu.edu.au>
Change-Id: Id57505eeca613303c584d3cf74284920a837bb43
Reviewed-on: http://review.whamcloud.com/20222
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-6401 headers: Move object_update functions to new header 20/20120/8
Ben Evans [Wed, 6 Jul 2016 15:59:55 +0000 (11:59 -0400)]
LU-6401 headers: Move object_update functions to new header

The header lustre_idl.h is meant to be a uapi header but it
currently contains code that is only used by the lustre
kernel internals. This patch moves the code related to
object update handling out of lustre_idl.h into a separate
header that is only needed for the kernel server side code.

Signed-off-by: Ben Evans <bevans@cray.com>
Change-Id: Ie025f8424dad8cfc625258ad189c7b7576b3a9b2
Reviewed-on: http://review.whamcloud.com/20120
Reviewed-by: Frank Zago <fzago@cray.com>
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8113 build: Remove obsolete, unused meta packages 45/20045/5
Christopher J. Morrone [Fri, 6 May 2016 19:52:05 +0000 (12:52 -0700)]
LU-8113 build: Remove obsolete, unused meta packages

The meta packages, deps-rhel and deps-sles, were introduced
nine years ago and never used.  This removes those dead lines
in the configuration files.

We would not want to use this method in the future any way.
Better approaches would either be to use multiple spec files
or to use distro-specific macros and conditionals for expressing
dependencies.

Test-Parameters: trivial
Change-Id: I9ad7195e0504f638bca84984af499d959c37adb3
Signed-off-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-on: http://review.whamcloud.com/20045
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-6696 llog: improve error handling 56/19856/4
Bobi Jam [Thu, 28 Apr 2016 16:53:09 +0000 (00:53 +0800)]
LU-6696 llog: improve error handling

Handle error return value of llog_cat_process() in
osp_sync_thread().

Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: I9b8e00dcc90e8d7d55648ce1b3a18af0a74c542b
Reviewed-on: http://review.whamcloud.com/19856
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
7 years agoLU-8021 tests: In interop, ensure to save/restore correct debug flags 04/19604/8
Parinay Kondekar [Mon, 20 Jun 2016 07:54:47 +0000 (13:24 +0530)]
LU-8021 tests: In interop, ensure to save/restore correct debug flags

debugsave() and debugrestore() in test-framework.sh save the
same debug flags of the client on servers as well.

In case of interop, esp between lustre 2.1.x server and
2.5.x clients, with PTLDEBUG=-1 the debugrestore() would fail as
there are some flags which are newly added to 2.5.x,
    e.g. "lfsck, hsm" are not defined on 2.1.x servers.

- The fix, makes sure to save the debug flags for servers and clients
separately and thus restore correctly.

- It restores the debug flags irrespective of, if the server node
is active or passive, failover node.

- It takes care,
if any of the node(server OR client) is down or unreachable,
if there are separate MDS MGS servers,
if any of the node is rebooted (FAILURE_MODE=hard)
but lustre modules are not loaded.

Also, there is defect introduced by LU-4480 in reset_fail_loc,
this patch fixes that as well.

Seagate-bug-id: MRP-1959
Change-Id: I6c6142cc113f8131bb89e6dc313215440f2242b9
Signed-off-by: Parinay Kondekar <parinay.kondekar@seagate.com>
Reviewed-by: Elena Gryaznova <elena.gryaznova@seagate.com>
Reviewed-by: Ujjwal Lanjewar <ujjwal.lanjewar@seagate.com>
Reviewed-on: http://review.whamcloud.com/19604
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
7 years agoLU-7961 build: Fix ldiskfs source autodetect for CentOS 6 48/19248/3
Brian Behlendorf [Fri, 27 Mar 2015 17:50:09 +0000 (10:50 -0700)]
LU-7961 build: Fix ldiskfs source autodetect for CentOS 6

CentOS 6 installed the kernel source in to the following path
which differs slightly from the RHEL version.  Expand the search
pattern to encompass both the CentOS and RHEL paths.

/usr/src/debug/*/linux-2.6.32-x.y.z.el6.centos.plus.x86_64

Change-Id: I0a102148f34d57b94dddfac7819303314c61a376
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-on: http://review.whamcloud.com/19248
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7899 osd: batch EA updates 43/19143/5
Alex Zhuravlev [Fri, 25 Mar 2016 09:21:16 +0000 (12:21 +0300)]
LU-7899 osd: batch EA updates

during file creation we set number of EAs: LMA, VBR, LinkEA, LOVEA, ACLs.
calling into SA to refill spill again and again is expensive. thus it
makes sense to postpone this to osd_trans_stop() where all changed EAs
has been already collected in a temporary buffer.

Change-Id: I8f02a287b96615c3aa550d63ffd9dd3da51b39ee
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/19143
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7900 obdclass: lu_object_assign_fid() do not lookup 81/19081/8
Alex Zhuravlev [Sat, 19 Mar 2016 19:17:26 +0000 (22:17 +0300)]
LU-7900 obdclass: lu_object_assign_fid() do not lookup

as the object is supposed to be new and unique by definition.
this method is used only with OST objects being created on MDT.

Change-Id: I9e641ab208654ea64eb42394a3618c9f30e7d751
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/19081
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>
7 years agoLU-7660 dne: support fs default stripe 41/19041/23
Lai Siyao [Mon, 21 Mar 2016 14:05:10 +0000 (22:05 +0800)]
LU-7660 dne: support fs default stripe

On DNE system slave MDTs should honor fs default stripe, to achieve
this, slave MDT should lock fs root, and cache XATTR_NAME_LOV, below
functionalities are added for this:
* take and cache remote root XATTR lock on slave MDTs.
* add dt_invalidate operation to invalidate OSP attributes cache,
  normally it's called in mdt_object_unlock(), but if we cache this
  lock, it's called upon cross-MDT lock cancel.
* enable OSP attribute cache by default.
* migrate should invalidate remote target explictely if it's newly
  created, because it doesn't take its lock beforehand.
* OSP should cleanup ldlm namespace in device cleanup because there
  may be cached locks.
* add sanity.sh 405 test for this.

Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Change-Id: I90e5f35f3b6a294a2a559c28df267f92ce188b9c
Reviewed-on: http://review.whamcloud.com/19041
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>
7 years agoLU-7782 scrub: handle slave obj of striped directory 01/18801/18
Fan Yong [Tue, 10 May 2016 23:10:39 +0000 (07:10 +0800)]
LU-7782 scrub: handle slave obj of striped directory

When lookup item under striped directory, we need to locate the
master MDT-object of the striped directory firstly, then the
client will send lookup (getattr_by_name) RPC to the MDT with
some slave MDT-object's FID and the item's name. If the system
is restored from MDT file level backup, then before the OI scrub
completely built the OI files, the OI mappings of the master
MDT-object and slave MDT-object may be invalid. Usually, it is
not a problem for the master MDT-object. Because when locate the
master MDT-object, we will do name based lookup (for the striped
directory itself) firstly, during such process we can setup the
correct OI mapping for the master MDT-object. But it will be
trouble for the slave MDT-object. Because the client will not
trigger name based lookup on the MDT to locate the slave
MDT-object before locating item under the striped directory,
then when osd_fid_lookup(), it will find that the OI mapping
for the slave MDT-object is invalid and does not know what the
right OI mapping is, then the MDT has to return -EINPROGRESS to
the client to notify that the OI scrub is rebuiding the OI file,
related OI mapping is unknown yet, please try again later. And
then client will re-try the RPC again and again until related
OI mapping has been updated. That is quite inefficient.

To resolve above trouble, we will handle it as the following
two cases:

1) The slave MDT-object and the MDT-object are on different
   MDTs. It is relative easy. Be as one of remote MDT-objects,
   the slave MDT-object is linked under /REMOTE_PARENT_DIR
   with the name of its FID string. We can locate the slave
   MDT-object via lookup the /REMOTE_PARENT_DIR directly.

2) The slave MDT-object and the MDT-object reside on the same
   MDT. Under such case, during lookup the master MDT-object,
   we will lookup the slave MDT-object via readdir the master
   MDT-object, because the slave MDT-objects information are
   stored as sub-directories with the name "${FID}:${index}".
   Then when find the local slave MDT-object, its OI mapping
   will be recorded. Then subsequent osd_fid_lookup() will
   know the correct OI mapping for the slave MDT-object.

The patch also enhance sanity-scrub to avoid DNE in sanity-scrub
on one MDT.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I0bf12ac981017245e4c2da08176422a993086c18
Reviewed-on: http://review.whamcloud.com/18801
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>