Whamcloud - gitweb
fs/lustre-release.git
3 years agoLU-8592 mdt: hold mdt_device::mdt_md_root until service stop 38/22438/10
Fan Yong [Mon, 18 Jul 2016 04:39:47 +0000 (12:39 +0800)]
LU-8592 mdt: hold mdt_device::mdt_md_root until service stop

Otherwise, if someone is using such object, it may trigger
object reference ASSERTION(atomic_read(&o->lo_header->loh_ref) > 0).

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Ifd7adbce9a68da537f592c64117f4ecafb0a9ec4
Reviewed-on: http://review.whamcloud.com/22438
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8668 tests: print more information about dd failure 90/22990/2
Andreas Dilger [Thu, 6 Oct 2016 20:10:42 +0000 (14:10 -0600)]
LU-8668 tests: print more information about dd failure

Don't drop the dd output so that we can see why this is failing.

Test-Parameters: trivial testlist=sanityn,sanityn,sanityn,sanityn
Test-Parameters: trivial testlist=sanityn,sanityn,sanityn,sanityn
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I3364bca75817ee4d0128079744e4b01a3ac938a0
Reviewed-on: http://review.whamcloud.com/22990
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-3289 gss: Change the handling of keys for SK 26/22626/3
Jeremy Filizetti [Tue, 6 Sep 2016 01:49:33 +0000 (21:49 -0400)]
LU-3289 gss: Change the handling of keys for SK

Servers were automatically loading keys of the client type to allow
server to server communication to work by only including a path
to the --skpath option of mount.lustre.  However, this has multiple
issues due to ordering with multiple keys and can be unpredictable.
Instead keys that will be used for server to server communication
must be loaded manually or by a pre-mount script using lgss_sk
and specifiying the client type.

In addition client's should only load a single key with --skpath so
a check is added to not allow directories on the client.

Signed-off-by: Jeremy Filizetti <jeremy.filizetti@gmail.com>
Change-Id: I239753fa1a2bff19bed598e6d2a073e8567d1002
Reviewed-on: http://review.whamcloud.com/22626
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8658 ptlrpc: Suppress error for flock requests 56/22856/2
Patrick Farrell [Fri, 30 Sep 2016 19:12:53 +0000 (14:12 -0500)]
LU-8658 ptlrpc: Suppress error for flock requests

-EAGAIN is a normal return when requesting POSIX flocks.
We can't recognize exactly that case here, but it's the
only case that should result in -EAGAIN on LDLM_ENQUEUE, so
don't print to console in that case.

Signed-off-by: Patrick Farrell <paf@cray.com>
Change-Id: Idfbaf671023ac2c3dc84ddd62d2e547427b1f50b
Reviewed-on: http://review.whamcloud.com/22856
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8648 all: remove all Sun license and URL references 00/22800/4
James Simmons [Sat, 1 Oct 2016 01:07:22 +0000 (21:07 -0400)]
LU-8648 all: remove all Sun license and URL references

The link to the GPL license at Sun is no longer there.
Also Sun Inc is gone so lets remove all references to
it in our source code.

Test-Parameters: trivial

Change-Id: Ib47d07dcef49a1ef624d0d8a4a91b9731f486278
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/22800
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: Frank Zago <fzago@cray.com>
3 years agoLU-7111 revert: b=22386 disallow wrong conf_param options 12/21112/6
Nathaniel Clark [Thu, 30 Jun 2016 19:09:47 +0000 (15:09 -0400)]
LU-7111 revert: b=22386 disallow wrong conf_param options

Don't fail mount if there are unrecognized parameters.  They may
change or be retired over time.

This reverts commit 12b6a5593a1d876ca1be91303da85a93ef6a92ca.

Change-Id: I806fd2345b854c8464632125210f84c7a029b78d
Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Reviewed-on: http://review.whamcloud.com/21112
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Parinay Kondekar <parinay.kondekar@seagate.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8226 tests: Change check_catastrophe() to check_node_health() 39/20539/5
Parinay Kondekar [Thu, 29 Sep 2016 07:20:28 +0000 (12:50 +0530)]
LU-8226 tests: Change check_catastrophe() to check_node_health()

Change check_catastrophe() to check_node_health() and take care of
following,
    - whether the remote node was running,
    - whether there was an LBUG/LASSERT

and print a proper error message in both case for particular
node.

Seagate-bug-id: MRP-3380
Change-Id: Ia42600ab6e6ee3925d3bda9ac9561149d60d8d72
Signed-off-by: Parinay Kondekar <parinay.kondekar@seagate.com>
Reviewed-on: http://review.whamcloud.com/20539
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-7988 hsm: make mdt_hsm_cdt_start a static function 04/22704/5
Frank Zago [Thu, 22 Sep 2016 19:52:24 +0000 (15:52 -0400)]
LU-7988 hsm: make mdt_hsm_cdt_start a static function

It's only used in the file it's declared in.

Test-Parameters: trivial
Signed-off-by: Frank Zago <fzago@cray.com>
Change-Id: Ic0b3af0c18cfb09f2f94efbac814429f0c43cb4b
Reviewed-on: http://review.whamcloud.com/22704
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Vinayak <vinayakswami.hariharmath@seagate.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-6245 libcfs: remove cfs_fs_time handling 57/22857/4
James Simmons [Tue, 4 Oct 2016 00:52:28 +0000 (20:52 -0400)]
LU-6245 libcfs: remove cfs_fs_time handling

Only the mdd layer uses cfs_fs_time handling. We can
easily convert it to the standard linux kernel time
keeping api in the latest kernels. Besides this change
the handling of time in 64 bits to avoid the 2038
limit is introduced.

Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Change-Id: I0bac2020d078c2d91347f5a3a68e99d25ba97575
Reviewed-on: http://review.whamcloud.com/22857
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-6245 libcfs: remove last of types abstractions 32/22732/3
James Simmons [Thu, 29 Sep 2016 21:17:48 +0000 (17:17 -0400)]
LU-6245 libcfs: remove last of types abstractions

With the complete removal of the types abstraction
in the lustre kernel code we can now remove the
types.h header in libcfs.

Change-Id: I59a4dfbf546db72154d2cb461ee25517c6bd6015
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/22732
Reviewed-by: Frank Zago <fzago@cray.com>
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.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>
3 years agoLU-4931 ofd: use thread buffer for ladvise 89/22489/4
Li Xi [Wed, 14 Sep 2016 03:16:08 +0000 (23:16 -0400)]
LU-4931 ofd: use thread buffer for ladvise

A buffer is allocated everytime when handling willread advice.
This is not efficient, so replace it by using thread buffer
instead.

Signed-off-by: Li Xi <lixi@ddn.com>
Change-Id: I34015ea0658cb116b3348f8cab67128645718cac
Reviewed-on: http://review.whamcloud.com/22489
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>
3 years agoLU-8209 ldlm: engage ELC for all ldlm enqueue req 39/21739/6
Hongchao Zhang [Wed, 20 Jul 2016 00:31:39 +0000 (08:31 +0800)]
LU-8209 ldlm: engage ELC for all ldlm enqueue req

If there is no request passed into ldlm_cli_enqueue, the enqueue
request will not engage ELC to drop unneeded locks. currently,
this kind of request is mainly related to EXTENT locks enqueue
requests (except for glimpse EXTENT lock for it has an intent).

Change-Id: Ibb34117cbec6764f643457d9b0af142393263608
Signed-off-by: Hongchao Zhang <hongchao.zhang@intel.com>
Reviewed-on: http://review.whamcloud.com/21739
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Vitaly Fertman <vitaly.fertman@seagate.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-7919 mount: Buffer overflow issue while parsing mount 58/19158/21
Lokesh Nagappa Jaliminche [Thu, 22 Sep 2016 07:53:40 +0000 (13:23 +0530)]
LU-7919 mount: Buffer overflow issue while parsing mount

check is added in parse_options, parse_ldd, add_mgsnids,
parse_ldd and main function to avoid buffer overflow
while parsing mount options.

Seagate-bug-id: MRP-2384
Change-Id: I1af9db4221ccdf1fd64a9a565063e5948cd5ba16
Signed-off-by: Lokesh Nagappa Jaliminche <lokesh.jaliminche@seagate.com>
Reviewed-on: http://review.whamcloud.com/19158
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8630 build: Fix definition of KMP_MODDIR 63/22663/3
Nathaniel Clark [Wed, 21 Sep 2016 17:28:45 +0000 (13:28 -0400)]
LU-8630 build: Fix definition of KMP_MODDIR

Without KMP_MODDIR defined, it won't be correctly replaced in
dkms.mkconf, thus causing dkms install of lustre to fail

Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: Ie671ede26b6cdf28aebeb80e131ff8506b9c05df
Reviewed-on: http://review.whamcloud.com/22663
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.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>
3 years agoLU-8519 build: make SLES use lbuild kernel-devel 84/22484/6
Minh Diep [Tue, 13 Sep 2016 22:42:59 +0000 (15:42 -0700)]
LU-8519 build: make SLES use lbuild kernel-devel

SLES %kernel_module_package assume kernel-devel installed
in standard location /usr/src/. However, lbuild extracts
kernel-devel into its location; so we need to change
%kernel_module_package macros to use lbuild's kernel obj

Create a cleanup_rpmmacros to remove the change afterward

Test-parameters: trivial

Change-Id: I8f1d8ac50436455be23e15b0a277afb6c7def7c3
Signed-off-by: Minh Diep <minh.diep@intel.com>
Reviewed-on: http://review.whamcloud.com/22484
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: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-1882 llite: Adding timed wait in ll_umount_begin 61/20061/7
Rahul Deshmukh [Thu, 8 Sep 2016 19:29:57 +0000 (00:59 +0530)]
LU-1882 llite: Adding timed wait in ll_umount_begin

There exists timing race between umount and other
thread which will increment the reference count on
mnt e.g. getattr. If umount thread lose the race
then umount fails with EBUSY error. To avoid this
timed wait is added so that umount thread will wait
for user to decrement the mnt reference count.

This patch also fixes below two problems
1.the fail_loc code in conf-sanity test 45 to
OR with the OBD_FAIL_ONCE (0x80000000) to prevent
the fail_loc from looping forever.

2.fixes the fail_loc code name from
OBD_FAIL_PTLRPC_LONG_UNLINK to
OBD_FAIL_PTLRPC_LONG_REPL_UNLINK.

Signed-off-by: Rahul Deshmukh <rahul.deshmukh@seagate.com>
Signed-off-by: Lokesh Nagappa Jaliminche <lokesh.jaliminche@seagate.com>
Signed-off-by: Jian Yu <jian.yu@intel.com>
Change-Id: Icab9b560cadcb8623c8592bfc4c5a842277ad266
Seagate-bug-id: MRP-1192
Reviewed-on: http://review.whamcloud.com/20061
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@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>
3 years agoLU-8654 obd: access ocd_connect_flags2 only when present 37/22837/2
John L. Hammond [Fri, 30 Sep 2016 13:57:07 +0000 (08:57 -0500)]
LU-8654 obd: access ocd_connect_flags2 only when present

Before 2.7.50 clients will send a struct obd_connect_data_v1 rather
than a full struct obd_connect_data. So check for OBD_CONNECT_FLAGS2
before accessing the ocd_connect_flags2 member of struct
obd_connect_data.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: Ic1c2b54be9b3cbaec9af894f204663c74fa41213
Reviewed-on: http://review.whamcloud.com/22837
Tested-by: Jenkins
Reviewed-by: Fan Yong <fan.yong@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>
3 years agoLU-8527 osd: ot_credits must be 32bit 82/22782/3
Alex Zhuravlev [Wed, 28 Sep 2016 12:01:46 +0000 (15:01 +0300)]
LU-8527 osd: ot_credits must be 32bit

ot_credits used to calculate journal credits must be 32bit,
otherwise it can overflow by huge transactions (e.g. 1K striped dirs)

Change-Id: I53545989fd3653e72b5227281fc2ec6b2ccd309d
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/22782
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>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoNew tag 2.8.59 2.8.59 v2_8_59 v2_8_59_0
Oleg Drokin [Fri, 7 Oct 2016 21:38:50 +0000 (17:38 -0400)]
New tag 2.8.59

Change-Id: Id6d5c22072d86addabc6a968f1c8d986970ba81e
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-4931 doc: update ladvise man page 10/22910/3
Andreas Dilger [Mon, 3 Oct 2016 23:50:19 +0000 (17:50 -0600)]
LU-4931 doc: update ladvise man page

Add documentation for the willread and dontneed advice types.

Test-Parameters: trivial
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I624aea124322e3cd105e9b8aa7d40106a1301e56
Reviewed-on: http://review.whamcloud.com/22910
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Patrick Farrell <paf@cray.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-3289 gss: don't build SSK if libssl-1.0+ not available 06/22806/5
Andreas Dilger [Thu, 29 Sep 2016 06:34:24 +0000 (00:34 -0600)]
LU-3289 gss: don't build SSK if libssl-1.0+ not available

The SSK functionality depends on libssl 1.0 or newer to have the
proper HMAC support.  If that is not available (e.g. SLES11) then
don't try to build this feature at all.

Rename the configure check to be OPENSSL_SSK since this is used in
several places, and is more clear than HAVE_INT_OPENSSL_HMAC_FUNCS.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I3b15f819bba421539664e629a4017599e23ebbe5
Reviewed-on: http://review.whamcloud.com/22806
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>
3 years agoLU-8327 ldiskfs: release bh in make_indexed_dir 38/22738/2
Yang Sheng [Mon, 26 Sep 2016 18:25:45 +0000 (02:25 +0800)]
LU-8327 ldiskfs: release bh in make_indexed_dir

RHEL7.2 ext4 code leak to release bh in make_indexed_dir.
It was cause by upstream 6050d47adcadbb53582434d919ed7f038d936712

Signed-off-by: Yang Sheng <yang.sheng@intel.com>
Change-Id: Ie27225cfbfb2e43f1ee48799a9836f873fefacc9
Reviewed-on: http://review.whamcloud.com/22738
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8561 osd-zfs: make smatch happy 45/22245/2
Jinshan Xiong [Wed, 31 Aug 2016 04:44:50 +0000 (21:44 -0700)]
LU-8561 osd-zfs: make smatch happy

By removing the check of null pointer and call dmu_objset_disown()
directly.

Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: I3e6e684968946a923ec4b1a59ea881145f3bdede
Reviewed-on: http://review.whamcloud.com/22245
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>
3 years agoLU-8509 llite: drop_caches hangs in cl_inode_fini() 45/22745/4
Andrew Perepechko [Mon, 26 Sep 2016 20:42:41 +0000 (23:42 +0300)]
LU-8509 llite: drop_caches hangs in cl_inode_fini()

This patch releases cl_pages on error in ll_write_begin()
to avoid memory and object reference leaks. Also, it
reuses per-cpu lu_env in ll_invalidatepage() in the same
way as done in ll_releasepage().

Change-Id: I11a658941aff4dacd3cc83685ae3df67f28093a2
Signed-off-by: Andrew Perepechko <andrew.perepechko@seagate.com>
Seagate-bug-id: MRP-3504
Reviewed-on: http://review.whamcloud.com/22745
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8637 obdclass: LWP callback hold export reference 24/22724/2
Fan Yong [Fri, 15 Jul 2016 05:33:01 +0000 (13:33 +0800)]
LU-8637 obdclass: LWP callback hold export reference

The lwp_notify_main thread itself needs to hold the 'exp'
reference to prevent 'exp' being freed during LWP callback.

On the other hand, there is race condition between the
lustre_register_lwp_item() and lustre_notify_lwp_list():

When lustre_register_lwp_item() (call it as thread1) adds
'lwp_register_item' into the 'lwp_register_list', the
"*lri_exp" is NULL. After that, the thread1 releases the
'lwp_register_list_lock', then the LWP notify thread (call
it as thread2) assigns the "lri::lri_exp" via the
'lustre_notify_lwp_list()' by race. That will cause thread1
to trigger the 'lri::lri_cb_func'. At the same time, thread2
will also trigger the 'lri::lri_cb_func'. Then the callback
are called repeatedly.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I9eb5407931149a818b620a393fdc70fec0d0d099
Reviewed-on: http://review.whamcloud.com/22724
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8612 mdt: maintain Sync-on-Lock-Cancel locks per target 90/22490/2
Lai Siyao [Wed, 14 Sep 2016 10:11:56 +0000 (18:11 +0800)]
LU-8612 mdt: maintain Sync-on-Lock-Cancel locks per target

Sync-on-Lock-Cancel locks should be maintained per target, so that
if there are more than one target(MDT) on one server, transaction
commit on different target won't interfere with each other.

Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Change-Id: Ib2834c64089f18fb9d2e06d64f770ddaf9c2e2d3
Reviewed-on: http://review.whamcloud.com/22490
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-4185 llite: Revise create with no open optimization 57/8257/10
Bobi Jam [Wed, 13 Nov 2013 07:56:25 +0000 (15:56 +0800)]
LU-4185 llite: Revise create with no open optimization

Currently ll_lookup_nd just returns a negative when we are trying
to create something with no open (read mkdir). This is all fine most
of the cases, except if the directory where we are trying to do is
not writeable by us. In that case vfs_create would return EPERM
seeing as how a negative dentry means the create cannot proceed.
But in reality if there is an existing name there that we just did
not have cached, the proper return is EEXIST that could only happen
if we did do the lookup.

So amend the optimization to only take place if the directory is
writeable by us, otherwise do the full lookup.

Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: I1480320bd56431a2e47ae686450678324ca17633
Reviewed-on: http://review.whamcloud.com/8257
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
3 years agoLU-8340 tests: in sanity-sec 25 client nodemap must be admin 50/22750/3
Kit Westneat [Tue, 27 Sep 2016 02:30:02 +0000 (22:30 -0400)]
LU-8340 tests: in sanity-sec 25 client nodemap must be admin

If the ENABLE_QUOTA is set, then cleanup_and_setup_lustre will use
the client node to setup quota, which requires admin privileges on
the nodemap. This patch enables admin privileges on all clients
before calling cleanup_and_setup_lustre.

Test-Parameters: envdefinitions=ENABLE_QUOTA=yes
Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Change-Id: If8d92d20aaa8cf75e3d443d1a81ff2f201d118cc
Reviewed-on: http://review.whamcloud.com/22750
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-5718 lnet: add offset for selftest brw 96/12496/6
Liang Zhen [Wed, 21 Sep 2016 03:15:07 +0000 (23:15 -0400)]
LU-5718 lnet: add offset for selftest brw

In current lnet selftest, both client and server side bulk have
no offset and we can only test page aligned IO, this patch changed
this:

- user can set brw offset by lst add_test ... brw off=OFFSET ...
- offset is only effective on client side so far
- to simply implementation, offset needs to be eight bytes aligned

Signed-off-by: Liang Zhen <liang.zhen@intel.com>
Change-Id: I34690d2c8fbb627b827291afcd46d7aa59831a3f
Reviewed-on: http://review.whamcloud.com/12496
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8413 llite: specify READA debug mask for sanity_101f 53/22753/4
Bobi Jam [Tue, 27 Sep 2016 01:22:20 +0000 (09:22 +0800)]
LU-8413 llite: specify READA debug mask for sanity_101f

So that debug log only contains relevant messages for debugging
purpose.

Test-Parameters: trivial
Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: Ia02e6ed41a3a2166dcf6b04441027517594bb35d
Reviewed-on: http://review.whamcloud.com/22753
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8632 osc: remove of usage removed 'page_count' local variable 54/22654/2
Dmitry Eremin [Wed, 21 Sep 2016 11:29:29 +0000 (14:29 +0300)]
LU-8632 osc: remove of usage removed 'page_count' local variable

Address of function 'page_count' is used instead of a local variable
which was removed in commit 7f2aae8d80a73de7408668bbe569d5f4d8553efe.

Test-Parameters: trivial

Change-Id: I92626b27b21c291101299b52b46287262d27a4bd
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/22654
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
3 years agoLU-8579 osd-ldiskfs: code cleanup for osd_ldiskfs_add_entry 07/22307/6
Fan Yong [Thu, 7 Jul 2016 21:30:25 +0000 (05:30 +0800)]
LU-8579 osd-ldiskfs: code cleanup for osd_ldiskfs_add_entry

Commit 07660ad33a7d1 can give more warning message when directory
size exceeds limitation. But some variables that are allocated
on stack are unnecessary and may cause overflow.

Further more, the "osd_thread_info::oti_dev" is obsolete, should
not be used any more. The fid_seq_is_mdt0() is used against zero
FID, will be replaced by checking whether the device is for MDT0.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Idfe2a4546535b3863e84ce5753b8a86c369dadae
Reviewed-on: http://review.whamcloud.com/22307
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-6401 header: remove assert from interval_set() 22/22522/5
James Simmons [Wed, 21 Sep 2016 13:58:24 +0000 (09:58 -0400)]
LU-6401 header: remove assert from interval_set()

Currently interval_tree.h is used by user land and
kernel space. To unwind libcfs.h from user space
we need to remove LASSERT from the uapi headers.
In the case of interval_tree.h only interval_set()
uses LASSERT which is removed in this patch and
interval_set() instead reports a real error.

Change-Id: Iac716f61542eb6e1a6e060e2810e6b7a175b25d9
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/22522
Tested-by: Jenkins
Reviewed-by: Frank Zago <fzago@cray.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-3888 utils: print lmm_fid as part of getstripe 65/10465/33
Andreas Dilger [Sat, 24 Sep 2016 05:32:39 +0000 (11:02 +0530)]
LU-3888 utils: print lmm_fid as part of getstripe

Print the lmm_fid in the standard DFID format in addition to the older
lmm_object_id and lmm_seq fields when using "lfs getstripe -v".  This
is still a bit of a hack, since lmm_mds_md_{v1,v3} do not store a
proper FID in the header, so the fields need to be parsed separately
instead of using lmm_oi_seq() and lmm_oi_id(), but at least userspace
can start using this output in scripts instead of needing to call
path2fid separately.

In the future, new layout formats should use proper FIDs instead of
ost_id fields.

Add "lfs getstripe -F" to print the lmm_fid of a file.  This should
match the inode FID from "lfs fid2path" for 2.x-created files.

Document "lfs getstripe -g" option in lfs.1 and usage message.

Fix lfs_fid2path() to not complain on the MDS if an invalid FID is
requested, since an error is returned to the application anyway.
Don't print errors in llapi_fid2path(), there is already one being
printed in lfs_fid2path().

Rename VERBOSE_ALL to VERBOSE_DEFAULT to make it more clear what this
is for, since it didn't actually print all of the components.

Add PFL VERBOSE_COMP_* flags to lustreapi.h to avoid future conflicts.

Test-Parameters: trivial
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Signed-off-by: Lokesh Nagappa Jaliminche <lokesh.jaliminche@seagate.com>
Change-Id: I4e27797ec3905327ea0a88911b1c75193d500c1e
Reviewed-on: http://review.whamcloud.com/10465
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
3 years agoLU-4474 osd: Add nodelalloc to ldiskfs mount options 81/21181/6
Artem Blagodarenko [Thu, 7 Jul 2016 11:27:11 +0000 (14:27 +0300)]
LU-4474 osd: Add nodelalloc to ldiskfs mount options

If vfs_mount failed mount, process hangs during osd_mount cleanup.
Mutex sb->s_umount cause of this hang. During cleanup
ldiskfs_quota_off() is executed and if delalloc option is set,
then sync_filesystem executed, but only after taking of s_umount
mutex. We can't exlude this mutex here or move to another place,
because there are some code pathes there ldiskfs_quota_off
executed without s_umount mutex.

This patch disable the delalloc option.

Signed-off-by: Artem Blagodarenko <artem.blagodarenko@seagate.com>
Seagate-bug-id: MRP-3225
Change-Id: Ib68d1c424f4a99eb7df5c373e9775aeafe8505b4
Reviewed-on: http://review.whamcloud.com/21181
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Faccini Bruno <bruno.faccini@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-6910 osp: add procfs values for OST reserved size 56/17656/10
Alexander Boyko [Mon, 10 Aug 2015 11:40:28 +0000 (14:40 +0300)]
LU-6910 osp: add procfs values for OST reserved size

osp_pre_status=-ENOSPC is used to skip OST from object allocation.
The error was set when OST available space is less than 0.1% of total
OST size. This value is not configurable, so procfs files was
added:
reserved_mb_low - low watermark, if available space is less
  than it, object allocation is stopped.
reserved_mb_high - highw watermark, if available space is more
   than it, object allocation is enabled.

By default ~0.1% is reserved as low watermark. The high watermark
is twice bigger than the low by default.
High and low watermark could be changed by:
lctl set_param osp.lustre-OST0000-osc-MDT0000.reserved_mb_high=1024

When object allocation is disabled, a clients could appened to
existing files. And 0.1% is too low for them. For example, OST size
is 8TB, 0.1% is 8GB, if cluster has 1k clients, reserved space is
~8MB per client. The main reason of the patch is ability to increase
reserved space.

Signed-off-by: Alexander Boyko <alexander.boyko@seagate.com>
Seagate-bug-id: MRP-2606
Test-Parameters: testlist=sanity,sanity,sanity,sanity,sanity,sanity envdefinitions=ONLY=253
Change-Id: Idd759352cec30a6039c228695f753465fbccc75f
Reviewed-on: http://review.whamcloud.com/17656
Tested-by: Jenkins
Reviewed-by: Alexander Zarochentsev <alexander.zarochentsev@seagate.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8446 llite: clear inode timestamps after losing UPDATE lock 23/22623/3
Niu Yawei [Tue, 20 Sep 2016 07:50:42 +0000 (03:50 -0400)]
LU-8446 llite: clear inode timestamps after losing UPDATE lock

Otherwise, those leftovers would interfere with new timestamps
especially when the timestamps are set back in time on the other
clients.

Test-Parameters: alwaysuploadlogs mdtfilesystemtype=ldiskfs mdsfilesystemtype=ldiskfs ostfilesystemtype=ldiskfs mdtcount=1 testlist=metadata-updates,metadata-updates
Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: If4d385c82b2035c08276b9dd5cd8edd029a8c027
Reviewed-on: http://review.whamcloud.com/22623
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>
3 years agoLU-8544 test: using lfs df in client_up 59/22459/4
Hongchao Zhang [Sun, 17 Jul 2016 02:29:47 +0000 (10:29 +0800)]
LU-8544 test: using lfs df in client_up

With the patch http://review.whamcloud.com/#/c/19195/,
the LL_SBI_LAZYSTATFS option will be used during statfs call,
the "client_up" and "clients_up" in test-framework.sh should
be updated to use "lfs df" to determine the UP state of clients

Change-Id: I124e3ecc288f04b32dfd286f48e0ab75b1385a29
Signed-off-by: Hongchao Zhang <hongchao.zhang@intel.com>
Reviewed-on: http://review.whamcloud.com/22459
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8581 osd: misuse of RCU in osd xattr cache 44/22344/6
Lai Siyao [Wed, 7 Sep 2016 08:20:10 +0000 (16:20 +0800)]
LU-8581 osd: misuse of RCU in osd xattr cache

In osd xattr cache implementation several list operations didn't
consider RCU concurrency.

Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Change-Id: If4f91353fda5aca829f8e5ef327d9c06536f625d
Reviewed-on: http://review.whamcloud.com/22344
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8615 kernel: kernel update RHEL7.2 [3.10.0-327.36.1.el7] 08/22608/2
Bob Glossman [Wed, 14 Sep 2016 17:25:14 +0000 (10:25 -0700)]
LU-8615 kernel: kernel update RHEL7.2 [3.10.0-327.36.1.el7]

Update RHEL7.2 kernel to 3.10.0-327.36.1.el7

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: Iaa93f7b110569dfb86cee502680cc786f7e688cd
Reviewed-on: http://review.whamcloud.com/22608
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>
3 years agoLU-8547 test: Skip ost-pools test_24 for older MDS version 33/22533/6
Saurabh Tandan [Thu, 15 Sep 2016 19:24:38 +0000 (12:24 -0700)]
LU-8547 test: Skip ost-pools test_24 for older MDS version

Skipping ost-pools test_24 if server version is less than 2.8.56

Test-Parameters: trivial testlist=ost-pools,ost-pools,ost-pools,ost-pools
Signed-off-by: Saurabh Tandan <saurabh.tandan@intel.com>
Change-Id: Id93490606c50a0528d4576f64c808e11255ff01d
Reviewed-on: http://review.whamcloud.com/22533
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-4315 doc: split lctl-network.8 man page from lctl.8 24/22324/2
Andreas Dilger [Tue, 6 Sep 2016 08:42:11 +0000 (02:42 -0600)]
LU-4315 doc: split lctl-network.8 man page from lctl.8

Split the lctl-network.8 man page from lctl.8 so that it can have a
more complete description and usage messages.

Test-Parameters: trivial
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I5c3b94fca277c53b249d09ac9e65266a8b8ad322
Reviewed-on: http://review.whamcloud.com/22324
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8535 lod: RR policy should not allocate on same ost 90/22090/3
Rahul Deshmkuh [Wed, 24 Aug 2016 05:28:21 +0000 (10:58 +0530)]
LU-8535 lod: RR policy should not allocate on same ost

Problem: With Round Robin (RR) policy we should not allowed
to create objects on same ost but currently it is possible.

Solution: lod_check_and_reserve_ost() skips a check for
already used OST when speed=0 i.e. at the first round of
object allocation. Enabling the check unconditionally to
fix above mention problem.

This patch contains both re-producer and the fix.

Signed-off-by: Rahul Deshmukh <rahul.deshmukh@seagate.com>
Signed-off-by: Alexander Zarochentsev <alexander.zarochentsev@seagate.com>
Seagate-bug-id: MRP-3480
Change-Id: I80895f8d7cc0a146a098869842bbc256152e6c2e
Reviewed-on: http://review.whamcloud.com/22090
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-6638 test: wait for grace delay in sanity-hsm test_37() 84/21284/5
John L. Hammond [Wed, 13 Jul 2016 16:31:42 +0000 (11:31 -0500)]
LU-6638 test: wait for grace delay in sanity-hsm test_37()

In sanity-hsm test_37(), allow the previous archive request to expire
from the actions log by calling wait_for_grace_delay().

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I42fe4eec44734a9afd59f67d4532c1fe23402269
Reviewed-on: http://review.whamcloud.com/21284
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8625 tests: replay-single test_87 renamed to test_87a 91/22591/3
Chennaiah Palla [Mon, 19 Sep 2016 11:59:56 +0000 (17:29 +0530)]
LU-8625 tests: replay-single test_87 renamed to test_87a

test_87() renamed as to test_87a() to be run separately from test_87b.

Seagate-bug-id: MRP-3820
Signed-off-by: Chennaiah Palla <chennaiah.palla@seagate.com>
Change-Id: I22db42eef396f9021b974f4fdb5c76614d4405f5
Reviewed-on: http://review.whamcloud.com/22591
Tested-by: Jenkins
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
3 years agoLU-8454 mountconf: delay FS default stripe config setting 80/22580/2
Lai Siyao [Sun, 18 Sep 2016 07:36:05 +0000 (15:36 +0800)]
LU-8454 mountconf: delay FS default stripe config setting

Previously http://review.whamcloud.com/21612 disabled filesystem
default stripe config setting after 2.10, this is too aggressive,
now delay this feature till > 2.13.53.

Also #ifdef more unused functions in this feature.

Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Change-Id: Ic4d8c9abc837f4d9c9c7992b1f297dbb361beb47
Reviewed-on: http://review.whamcloud.com/22580
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
3 years agoLU-8619 osd: define DN_MAX_BONUSLEN 23/22523/4
Alex Zhuravlev [Thu, 15 Sep 2016 17:05:45 +0000 (20:05 +0300)]
LU-8619 osd: define DN_MAX_BONUSLEN

ZFS master doesn't define DN_MAX_BONUSLEN which is still used
by osd-zfs - define it as DN_OLD_MAX_BONUSLEN.

Change-Id: Ieec310ee4d368cae7c5c93808caddb0db0b08fc7
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/22523
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8018 lov: ld_target could be NULL 11/21411/7
Bobi Jam [Tue, 19 Jul 2016 00:25:01 +0000 (08:25 +0800)]
LU-8018 lov: ld_target could be NULL

lov_device::ld_target[ost_idx] could be NULL if the OST target is
not filled in lov_device::ld_lov::lov_tgt_desc[ost_idx] yet.

Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: I1eddb49b3c3518828c531af568b851465ccdffa3
Reviewed-on: http://review.whamcloud.com/21411
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-6245 server: remove types abstraction from quota/target/nodemap code 87/21187/12
James Simmons [Sat, 10 Sep 2016 15:01:31 +0000 (11:01 -0400)]
LU-6245 server: remove types abstraction from quota/target/nodemap code

Originally when lustre code was built for userland we needed
a proper way to handle 32 bit and 64 bit platforms when
reporting unsigned longs. Now that this code is only built
for kernel space and the kernel has it own special string
handling functions we don't need this abstraction anymore.
Remove this abstraction from the quota/target/nodemap code.

Change-Id: Ie3d4fa79dc687fc85296c3a4b21655001d0c7081
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/21187
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-7428 test: remove test 84 from ALWAYS_EXCEPT 94/20194/8
Hongchao Zhang [Wed, 3 Feb 2016 14:34:39 +0000 (22:34 +0800)]
LU-7428 test: remove test 84 from ALWAYS_EXCEPT

Debug patch to remove the test 84 from ALWAYS_EXCEPT in conf-sanity
temporarily to verify the problem is really fixed.

Test-Parameters: trivial testlist=conf-sanity,conf-sanity,conf-sanity,conf-sanity
Test-Parameters: testlist=conf-sanity,conf-sanity,conf-sanity,conf-sanity
Change-Id: I1d2dd16f33f0713a5e11d243708865b45ec283cb
Signed-off-by: Hongchao Zhang <hongchao.zhang@intel.com>
Reviewed-on: http://review.whamcloud.com/20194
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>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-6245 libcfs: remove byteorder.h 16/16916/8
James Simmons [Fri, 16 Sep 2016 15:02:15 +0000 (11:02 -0400)]
LU-6245 libcfs: remove byteorder.h

With the cleanup of userland with libcfs we no longer
need the special byte ordering macros. Kernel space
can just use what is provided by the kernel already.

Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Change-Id: Ic154005a24ffae6d6773d4664a6e75d3ead346af
Reviewed-on: http://review.whamcloud.com/16916
Reviewed-by: Frank Zago <fzago@cray.com>
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
3 years agoLU-8472 scrub: try to avoid recovery during OI scrub 18/21918/4
Fan Yong [Tue, 21 Jun 2016 19:12:26 +0000 (03:12 +0800)]
LU-8472 scrub: try to avoid recovery during OI scrub

It is known issue that FID based operation will hit -EINPROGRESS
or -EREMCHG failure if related OI mapping is invalid (most cases
because file-level backup/restore).

On the other hand, the recovery for cross-MDTs modifications will
trigger FID based operation(s) before OI scrub rebuilding related
OI mappings.

So during sanity-scrub tests, the scripts should avoid cross-MDTs
recovery via sync all transactions before file-level backup.

More warning message about the recovery failure if because of bad
OI mappings.

Another fix is about setting LOC_F_NEW flag for the object to be
created via out_create().

Test-Parameters: mdtfilesystemtype=ldiskfs mdsfilesystemtype=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: I6e8bc9c5d587be72ecd7e33fa7e9959fe5b34006
Reviewed-on: http://review.whamcloud.com/21918
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8301 lfsck: handle ROOT fid properly 69/20869/4
Fan Yong [Fri, 13 May 2016 15:51:33 +0000 (23:51 +0800)]
LU-8301 lfsck: handle ROOT fid properly

It is found that the lfsck_find_mdt_idx_by_fid() will return
failure for "ROOT" object. That is incorrect. In fact "ROOT"
is always on the MDT0.

Test-Paramenters: trivial testlist=sanity-scrub,sanity-lfsck

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I4a1b796ffc574f8f11611d1b329ce79ad2135eb7
Reviewed-on: http://review.whamcloud.com/20869
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
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>
3 years agoLU-8599 utils: restore lshowmount utility 93/17593/13
Andreas Dilger [Wed, 14 Sep 2016 17:49:55 +0000 (01:49 +0800)]
LU-8599 utils: restore lshowmount utility

The lshowmount utility was removed in commit b5a7260ae8f as being
obsolete, but it was not as unused as previously thought.

Restore lshowmount.c, lshowmount.8, nidlist.c, and nidlist.h  from
history, with minor updates to the Makefiles and .gitignore to avoid
conflicts in context.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Signed-off-by: Yang Sheng <yang.sheng@intel.com>
Change-Id: Ibf6f72684d4dcaa95e0366b4fde74386893ebbe5
Reviewed-on: http://review.whamcloud.com/17593
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Thomas Stibor <t.stibor@gsi.de>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8629 obdclass: Fix error exit loop in cl_env_percpu_init 35/22635/4
Sandhya Bankar [Tue, 20 Sep 2016 16:03:42 +0000 (12:03 -0400)]
LU-8629 obdclass: Fix error exit loop in cl_env_percpu_init

Clearly we should be using the loop counter j, not loop bound i
in the cleanup loop there.

Change-Id: I84a682846e7bdfc93786ab47ea3c0603f2849860
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/22635
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
3 years agoLU-8499 wireshark: fix packet-lustre so it compiles 74/22074/3
Kit Westneat [Tue, 23 Aug 2016 16:40:28 +0000 (12:40 -0400)]
LU-8499 wireshark: fix packet-lustre so it compiles

This patch removes a duplicate function definition for
lustre_dissect_struct_capa, and adds a definition for
ett_lustre_ladvise, which is referenced in
lustre_dissect_struct_lu_ladvise, but wasn't defined previously.

Test-Parameters: trivial

Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Change-Id: I700e2388175130d7274f4e3fac332cf069afbdcb
Reviewed-on: http://review.whamcloud.com/22074
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Amir Shehata <amir.shehata@intel.com>
3 years agoLU-8300 lfsck: pass LOC_F_NEW when create new object 68/20868/3
Fan Yong [Fri, 13 May 2016 15:44:35 +0000 (23:44 +0800)]
LU-8300 lfsck: pass LOC_F_NEW when create new object

For lfsck_create_lpf() case, we know that the target object of
'.lustre/lost+found/MDTxxxx' does not exist, need to pass the
lu_object_conf parameter 'LOC_F_NEW' to the lower layer, then
the OSD will not return -115 to the LFSCK if OI files lost.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I0c348dea99e7ff98f432e09a9664c6ba46567f11
Reviewed-on: http://review.whamcloud.com/20868
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8218 osd: handle stale OI mapping for non-restore case 59/20659/8
Fan Yong [Fri, 13 May 2016 15:44:20 +0000 (23:44 +0800)]
LU-8218 osd: handle stale OI mapping for non-restore case

Sometimes, the user may removes the MDT-object under ldiskfs mode
directly but leaves related OI mapping there. Such case also can
happen if the MDT-object lost because of disk corruption. Under
such case, the OSD ldiskfs should has the ability to distinguish
it from the case of MDT file-level backup/restore; otherwise, the
up layer user will get -EREMCHG (78) when locating such MDT-object
with the FID.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Iede2542968c21755158637089d20a694f12b309e
Reviewed-on: http://review.whamcloud.com/20659
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-6245 server: remove types abstraction from MDS/MGS code 71/22371/4
James Simmons [Fri, 9 Sep 2016 16:19:43 +0000 (12:19 -0400)]
LU-6245 server: remove types abstraction from MDS/MGS code

Originally when lustre code was built for userland we needed
a proper way to handle 32 bit and 64 bit platforms when
reporting unsigned longs. Now that this code is only built
for kernel space and the kernel has it own special string
handling functions we don't need this abstraction anymore.
Remove this abstraction from the MGS/MDS server side code.

Change-Id: I963ab240abbc650289040ee14f267f344c9f4124
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/22371
Reviewed-by: Frank Zago <fzago@cray.com>
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>
3 years agoLU-6245 server: remove types abstraction from lfsck and OSS code 70/22370/4
James Simmons [Sat, 10 Sep 2016 15:06:26 +0000 (11:06 -0400)]
LU-6245 server: remove types abstraction from lfsck and OSS code

Originally when lustre code was built for userland we needed
a proper way to handle 32 bit and 64 bit platforms when
reporting unsigned longs. Now that this code is only built
for kernel space and the kernel has it own special string
handling functions we don't need this abstraction anymore.
Remove this abstraction from the lfsck and OSS related code.

Change-Id: I7663c953d47866fe75644676f581c5074c775fdc
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/22370
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8021 tests: Add leading $ to "DEBUGSAVE_SERVER" 86/22586/3
Emoly Liu [Mon, 19 Sep 2016 06:13:16 +0000 (14:13 +0800)]
LU-8021 tests: Add leading $ to "DEBUGSAVE_SERVER"

Add leading $ to "DEBUGSAVE_SERVER", otherwise the check is always
true and the code tries to restore an empty string and it produces
a lot of spurious error messages in the test logs.

Test-Parameters: trivial
Signed-off-by: Emoly Liu <emoly.liu@intel.com>
Change-Id: I4e9206bc312af22fea22bf6ab634469439008003
Reviewed-on: http://review.whamcloud.com/22586
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: Parinay Kondekar <parinay.kondekar@seagate.com>
3 years agoLU-5050 libcfs: default CPT matches NUMA topology 77/22377/3
Dmitry Eremin [Thu, 8 Sep 2016 06:50:59 +0000 (09:50 +0300)]
LU-5050 libcfs: default CPT matches NUMA topology

Change default value of CPT pattern and make it match NUMA topology

Signed-off-by: Liang Zhen <liang.zhen@intel.com>
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Change-Id: Iea76deec2face42a01e4aeda690e277be31325a9
Reviewed-on: http://review.whamcloud.com/22377
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Olaf Weber <olaf@sgi.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-7949 osd: Move assignment below LASSERT() 28/22428/2
Arshad Hussain [Fri, 2 Sep 2016 23:12:18 +0000 (04:42 +0530)]
LU-7949 osd: Move assignment below LASSERT()

This patch moves osd_dt_dev() call and assignment of
qsd_instance below LASSERT() under function osd_declare_qid().
This avoids a case of dereferencing osd_thandle parameter
when passed as NULL. Although osd_dt_dev() does its own
checking it is better to move it below LASSERT(). Patch
also adds LASSERT() after osd_dt_dev() call.

Signed-off-by: Arshad Hussain <arshad.hussain@seagate.com>
Change-Id: I80922d372ee768c42d5d34be8222fd5e089bbda5
Reviewed-on: http://review.whamcloud.com/22428
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>
3 years agoLU-8135 osc: limits the number of chunks in write RPC 69/22369/7
Jinshan Xiong [Mon, 12 Sep 2016 18:17:10 +0000 (11:17 -0700)]
LU-8135 osc: limits the number of chunks in write RPC

OSC has to make sure that it won't issue write RPCs with too many
chunks otherwise it will casue ZFS to create transactions much
bigger than DMU_MAX_ACCESS in size, which will end up with write
failure.

Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: Ib68b09afca35c253ef0a6b569f64f555e08bd11b
Reviewed-on: http://review.whamcloud.com/22369
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Patrick Farrell <paf@cray.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8549 test: optimize restore_and_check_size() in sanity-hsm 45/22145/3
Li Xi [Mon, 22 Aug 2016 07:40:56 +0000 (15:40 +0800)]
LU-8549 test: optimize restore_and_check_size() in sanity-hsm

Optimize restore_and_check_size() in sanity-hsm so that time won't
be wasted when waiting.

Change-Id: Ie683953670c618a1790b71b8ab55f24f61198073
Signed-off-by: Gu Zheng <gzheng@ddn.com>
Reviewed-on: http://review.whamcloud.com/22145
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Wang Shilong <wshilong@ddn.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8551 test: Use mds1 rather than mds to operate on MDT0000 47/22147/2
Li Xi [Mon, 22 Aug 2016 10:17:18 +0000 (18:17 +0800)]
LU-8551 test: Use mds1 rather than mds to operate on MDT0000

Use mds1 rather than mds to operate on MDT0000, fixed following cases:
conf-sanity.sh: test_43, test_58, test_62
sanityn.sh: test_54, test_55.

Test-Parameters: testlist=conf-sanity
Test-Parameters: testlist=sanityn

Change-Id: Ibe0b419f837e4478610d61b8efb54af93662a45e
Signed-off-by: Gu Zheng <gzheng@ddn.com>
Reviewed-on: http://review.whamcloud.com/22147
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Wang Shilong <wshilong@ddn.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8529 config: Print clear message when ldiskfs series not found 84/22084/3
Christopher J. Morrone [Tue, 23 Aug 2016 22:25:01 +0000 (15:25 -0700)]
LU-8529 config: Print clear message when ldiskfs series not found

Add a clear AC_MSG_RESULT failure messages when an ldiskfs series
is not successfully identified in the LDISKFS_LINUX_SERIES macro.

Change-Id: If4a0350e67cd625a5b2a8fc549e341ca4c339ff9
Signed-off-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-on: http://review.whamcloud.com/22084
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-4444 test: Re-enable conf-sanity/69 for ZFS 43/21543/5
Nathaniel Clark [Wed, 27 Jul 2016 14:46:08 +0000 (10:46 -0400)]
LU-4444 test: Re-enable conf-sanity/69 for ZFS

Enable conf-sanity/69 for ZFS now that ZFS is faster.
Fix zpool import for conf-sanity/50i, should be mds2 not ost1.

Test-Parameters: trivial testlist=conf-sanity mdsfilesystemtype=zfs mdtfilesystemtype=zfs ostfilesystemtype=zfs envdefinitions=SLOW=yes
Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: I4a367e217ec05ab4f678f58f0ffae95d84e33cc6
Reviewed-on: http://review.whamcloud.com/21543
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@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>
3 years agoLU-5473 tests: sanity/51b Account for ZFS inode size 21/21821/6
Nathaniel Clark [Mon, 8 Aug 2016 20:35:00 +0000 (16:35 -0400)]
LU-5473 tests: sanity/51b Account for ZFS inode size

Account for inode size for 11KB for ZFS (and 4KB for LDISKFS) when
checking space on MDC during sanity test_51b.
Do lfs df and lfs df -i on completion of sanity/test_51b.  This helps
determine the correct inode size accounting.

Test-Parameters: trivial mdsfilesystemtype=zfs mdtfilesystemtype=zfs ostfilesystemtype=zfs testlist=sanity envdefinitions=SLOW=yes mdscount=1
Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: Icd8e0d55a89d8e3d22bbb1b2ff206e238a7262ac
Reviewed-on: http://review.whamcloud.com/21821
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8100 tests: Test the correctness of target_obd 46/20546/15
Giuseppe Di Natale [Wed, 1 Jun 2016 15:34:47 +0000 (08:34 -0700)]
LU-8100 tests: Test the correctness of target_obd

The target_obd proc file is what is used by lfs to list mdts
of a lustre file system. Added a conf-sanity test to ensure
correctness of lfs mdts output.

Test-Parameters: trivial mdtfilesystemtype=ldiskfs mdsfilesystemtype=ldiskfs ostfilesystemtype=ldiskfs mdtcount=1 testlist=conf-sanity
Test-Parameters: trivial mdtfilesystemtype=ldiskfs mdsfilesystemtype=ldiskfs ostfilesystemtype=ldiskfs mdtcount=2 mdtcount=4 testlist=conf-sanity
Test-Parameters: trivial mdtfilesystemtype=zfs mdsfilesystemtype=zfs ostfilesystemtype=zfs mdtcount=1 testlist=conf-sanity

Signed-off-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Change-Id: Ia876ed456b95570b90bc90f05d8b7b97e1aa71af
Reviewed-on: http://review.whamcloud.com/20546
Reviewed-by: Jian Yu <jian.yu@intel.com>
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>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
3 years agoLU-6142 lnet: replace white spaces with tabs for LNet core 75/19975/10
James Simmons [Tue, 13 Sep 2016 17:34:51 +0000 (13:34 -0400)]
LU-6142 lnet: replace white spaces with tabs for LNet core

This work converts all the remaining white spaces left
in the LNet layer to the proper tab format. Fixed all
space prohibited warnings reported by checkpatch. Any
other space issues reported by checkpatch are also
addressed for the code that was retabbed.

Test-Parameters: trivial

Change-Id: I12589439c9532d1d3989deee00aa68c29f84db85
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/19975
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoNew tag 2.8.58 2.8.58 v2_8_58 v2_8_58_0
Oleg Drokin [Tue, 20 Sep 2016 16:00:57 +0000 (12:00 -0400)]
New tag 2.8.58

Change-Id: I7891ad025b041e318a96e35a5adaa13dc324fae4
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8508 nodemap: improve object handling in cache saving 04/22004/7
Kit Westneat [Thu, 18 Aug 2016 15:00:35 +0000 (11:00 -0400)]
LU-8508 nodemap: improve object handling in cache saving

Saving cache files requires that the old cache be removed. This means
that the config object reference needs to change to point to the new
file. Previously this was done in a number of different places and
was more opaque. This patch hopefully makes it more transparent.

This patch also fixes a problem on MDTs/OSTs when creating a new
config. Previously all initial config creates would assume an MGS
context. A side-effect of the improved object handling is that a
target context is handled correctly.

Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Change-Id: Iee33a423b76f30eba849288c746e6528ecefa7c6
Reviewed-on: http://review.whamcloud.com/22004
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-4931 ladvise: Add dontneed advice support for ladvise 03/20203/8
Li Xi [Tue, 14 Jun 2016 05:15:04 +0000 (13:15 +0800)]
LU-4931 ladvise: Add dontneed advice support for ladvise

This patch addds DONTNEED advice to ladvise framework. OSS will
cleanup the page cache of the file when this hint is provided.

Signed-off-by: Li Xi <lixi@ddn.com>
Signed-off-by: Gu Zheng <gzheng@ddn.com>
Change-Id: If5cf7f3193924ca7cccb96d8d841c0d889469393
Reviewed-on: http://review.whamcloud.com/20203
Reviewed-by: Wang Shilong <wshilong@ddn.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-930 misc: update README path to git hooks 28/13428/4
Olaf Faaland [Tue, 25 Aug 2015 00:41:26 +0000 (17:41 -0700)]
LU-930 misc: update README path to git hooks

Update the README file so that the paths given to the git hooks stored
in contrib are current.

Signed-off-by: Olaf Faaland <faaland1@llnl.gov>
Change-Id: If864751d88ad54de629a1cda9d1ba6f2089ecd69
Reviewed-on: http://review.whamcloud.com/13428
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
3 years agoLU-8340 nodemap: debug patch 07/21907/5
Kit Westneat [Fri, 12 Aug 2016 15:50:09 +0000 (11:50 -0400)]
LU-8340 nodemap: debug patch

Add some debugging info to the sanity-sec test to figure out why
setquota is failing.

Run the 'full' test group and sanity-sec multiple times.

Test-Parameters: trivial envdefinitions=SLOW=yes testlist=sanity-sec,sanity-sec,sanity-sec,sanity-sec,sanity-sec,sanity-sec,sanity-sec

Test-Parameters: trivial envdefinitions=SLOW=yes testgroup=full

Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Change-Id: I2202b9acc006f8f35c65b8c56e6c3c5c6a3852f0
Reviewed-on: http://review.whamcloud.com/21907
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Andreas Dilger <andreas.dilger@intel.com>
3 years agoLU-8537 kernel: kernel update RHEL6.8 [2.6.32-642.4.2.el6] 94/22194/4
Bob Glossman [Sat, 27 Aug 2016 22:06:46 +0000 (15:06 -0700)]
LU-8537 kernel: kernel update RHEL6.8 [2.6.32-642.4.2.el6]

Update RHEL6.8 kernel to 2.6.32-642.4.2.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: Idce534b52b69fab8564fbfb6de57cd30d74c84eb
Reviewed-on: http://review.whamcloud.com/22194
Reviewed-by: Minh Diep <minh.diep@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-7310 clio: sync write should update mtime 63/21063/6
Niu Yawei [Wed, 29 Jun 2016 12:57:22 +0000 (08:57 -0400)]
LU-7310 clio: sync write should update mtime

Sync write should update m/ctime promptly, otherwise, stale m/ctime
could be updated on the OST object by the sync write RPC.

Added sanityn test_39d to verify this.

Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: I9c7e1d75f610a3104c163df9d68c33442d8fe3f4
Reviewed-on: http://review.whamcloud.com/21063
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-7950 osp: Remove assigned but not used variable 24/21024/4
Arshad Hussain [Fri, 24 Jun 2016 10:15:08 +0000 (15:45 +0530)]
LU-7950 osp: Remove assigned but not used variable

This patch removes import variable which were assigned but
were not used within function
1. lwp_device_fini() under lustre/osp/lwp_dev.c
2. osp_device_fini() under lustre/osp/osp_dev.c

Signed-off-by: Arshad Hussain <arshad.hussain@seagate.com>
Change-Id: If37bc78060aaf97127802c0fcbf50bc5483977fc
Reviewed-on: http://review.whamcloud.com/21024
Tested-by: Jenkins
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-6441 ptlrpc: fix sanity 224c for different RPC sizes 03/22403/3
Jinshan Xiong [Fri, 9 Sep 2016 04:31:34 +0000 (21:31 -0700)]
LU-6441 ptlrpc: fix sanity 224c for different RPC sizes

- fail_loc should be set on the OST side;
- an RPC can have 16 bulk descriptors at most, make the test case
  usable even with smaller RPC size.

Patch http://review.whamcloud.com/14399 added sanity.sh test_224c
to verify correct handling of failures with bulk transfers over 1MB,
but did not correctly handle the different transfer sizes possible.

Test-Parameters: trivial
Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: I9d0bc0c523cb71d95c6165066e666878c2a380cc
Reviewed-on: http://review.whamcloud.com/22403
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8560 libcfs: handle page_cache_*() removal in newer kernels 85/22385/3
James Simmons [Thu, 8 Sep 2016 16:39:14 +0000 (12:39 -0400)]
LU-8560 libcfs: handle page_cache_*() removal in newer kernels

Since page cache handling never was handled differently than
normal pages the page_cache_*() macros have been removed
starting with linux kernel 4.6. Now put_page() and get_page()
need to be used instead.

Second change is that get_user_page dropped the first two
arguments in linux kernel version 4.6. We handle this change
as well in libcfs.

Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Change-Id: I84c347a55c45e0794b913134f1abdd45926c24e8
Reviewed-on: http://review.whamcloud.com/22385
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
3 years agoLU-8284 osd-ldisksf: need lock around i_size update 03/22103/3
Bobi Jam [Wed, 24 Aug 2016 15:33:07 +0000 (09:33 -0600)]
LU-8284 osd-ldisksf: need lock around i_size update

In OSD layer i_size_write() needs protection.

Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: Ia893679129cb1335cdf612ec7f38492435d19db4
Reviewed-on: http://review.whamcloud.com/22103
Tested-by: Jenkins
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-6808 ptlrpc: properly set "rq_xid" for 4MB IO 73/22373/5
Fan Yong [Mon, 4 Jul 2016 20:41:59 +0000 (04:41 +0800)]
LU-6808 ptlrpc: properly set "rq_xid" for 4MB IO

The commit d099fdd6 replaced the "rq_xid" with "rq_mbits" as
the matchbits of bulk data transferring. To be interoperable
with old servers, it introduced the new connection flag:
OBD_CONNECT_BULK_MBITS. If the server does not support such
feature, then the "rq_xid" would be set the same value as
"rq_mbits". Unfortunately, it forgot to handle multiple bulk
operations, for example 4MB IO. If the new client wants to
make 4MB IO with old server, it may send a small "rq_xid" to
the old server, as to the old server will regard it as an 1MB
IO or 2MB IO. So the data transfer will not complete because
of only part of data transferred. Then the client will timeout
failure and retry again and again.

Test-Parameters: alwaysuploadlogs testlist=sanity envdefinitions=ONLY=224c ossjob=lustre-b2_7_fe mdsjob=lustre-b2_7_fe ossbuildno=95 mdsbuildno=95 mdsdistro=el6.7 ossdistro=el6.7
Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I9b1c0de13674f16443bef2b454c491e6c72b8ab3
Reviewed-on: http://review.whamcloud.com/22373
Tested-by: Jenkins
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Liang Zhen <liang.zhen@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-7809 lod: stop recovery before destory dtrq list 51/18651/8
Di Wang [Thu, 16 Jun 2016 23:23:21 +0000 (19:23 -0400)]
LU-7809 lod: stop recovery before destory dtrq list

Let's stop the recovery thread before destroying
update recovery list, which might cause race
especially when doing umount during recovery.

Signed-off-by: Di Wang <di.wang@intel.com>
Change-Id: I96fd2dd09caadb458723001f535d53f1d468394b
Reviewed-on: http://review.whamcloud.com/18651
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8600 tests: ignore error if running in vm for sanity 399 27/22427/2
Jinshan Xiong [Sat, 10 Sep 2016 01:50:37 +0000 (18:50 -0700)]
LU-8600 tests: ignore error if running in vm for sanity 399

Performance in vm is not reliable. Define a new function
error_not_in_vm() to handle this common case.

Test-Parameters: trivial
Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: I792ec7531564cbc2d80504e77fb3273b79c7ab96
Reviewed-on: http://review.whamcloud.com/22427
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
3 years agoLU-6284 ptlrpc: comment for FLD_QUERY RPC reply swab 09/22309/3
Fan Yong [Sat, 2 Jul 2016 06:30:08 +0000 (14:30 +0800)]
LU-6284 ptlrpc: comment for FLD_QUERY RPC reply swab

The 'fld_read_server' uses 'RMF_GENERIC_DATA' to hold the 'FLD_QUERY'
RPC reply that is composed of 'struct lu_seq_range_array'. But there
is not registered swabber function for 'RMF_GENERIC_DATA'. So the RPC
peers need to handle the RPC reply with fixed little-endian format.

In theory, we can define new structure with some swabber registered
to handle the 'FLD_QUERY' RPC reply result automatically. But from
the implementation view, it is not easy to be done within current
'struct req_msg_field' framework. Because the sequence range array
in the RPC reply is not fixed length, instead, its length depends
on 'lu_seq_range' count, that is unknown when prepare the RPC buffer.
Generally, for such flexible length RPC usage, there will be a field
in the RPC layout to indicate the data length. But for the 'FLD_READ'
RPC, we have no way to do that unless we add new length filed that
will broken the on-wire RPC protocol and cause interoperability
trouble with old peer.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I466a7e229e4ecbb062e6d0f8eea3c6f053ef5e75
Reviewed-on: http://review.whamcloud.com/22309
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>
3 years agoLU-7898 osd: remove unnecessary declarations 96/22296/2
Alex Zhuravlev [Wed, 23 Mar 2016 18:42:54 +0000 (21:42 +0300)]
LU-7898 osd: remove unnecessary declarations

Refactor the code a bit to remove unnecessary declarations
(which are very expensive in ZFS). The patch also introduces
initial preparations to support large dnodes - it tracks
all declared EAs at object creation and tracked number can
be used to request dnode of appropriate size.

With this patch + LU-7918 disk/memory space reserved for a
single-stripe creation goes down from ~33MB to 4.6MB.

Performance improvements from this patch are also significant.
Running mdtest create performance on a test node (ramdisk):

    Threads    0.6.5   0.6.5+patch
        1       9933       14279
        2      12870       20469
        4      16405       26407
        8      19320       28254
       16      15648       26620
       32      14107       26483

Change-Id: I2c25542e51a320b1b48b4782b5f0b43799de5fe9
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/19101
Reviewed-by: John L. Hammond <john.hammond@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>
Reviewed-on: http://review.whamcloud.com/22296

3 years agoLU-8524 tests: Awk command re-structured to pass correct value 70/22070/3
Saurabh Tandan [Tue, 23 Aug 2016 01:12:21 +0000 (18:12 -0700)]
LU-8524 tests: Awk command re-structured to pass correct value

Variable "selinux_policy" was having incorrect value passed to
it due to inappropriate structuring of couple of commands.
Both those commands have been restructured in order to have the
correct value passed to the variable "selinux_policy".
Test was run with this modified piece of code successfully,
and the result for it can be found in comments section of the
ticket.

Test-Parameters: trivial testlist=sanity-selinux,sanity-selinux,sanity-selinux
Signed-off-by: Saurabh Tandan <saurabh.tandan@intel.com>
Change-Id: I3c6c86d607edeadd03ab694435fb201c08c23654
Reviewed-on: http://review.whamcloud.com/22070
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Wei Liu <wei3.liu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8165 target: detect race by checking last_rcvd slot index 28/20328/2
Bruno Faccini [Thu, 19 May 2016 15:04:39 +0000 (17:04 +0200)]
LU-8165 target: detect race by checking last_rcvd slot index

A race can occur on Server during Client connection and
concurent eviction, when Client's last_rcvd slot index has still
not been assigned (-1).
This patch adds a check to address such condition.

Signed-off-by: Bruno Faccini <bruno.faccini@intel.com>
Change-Id: Ifead82719a0dc9411f1b79d6c8c59eb9ef339fa5
Reviewed-on: http://review.whamcloud.com/20328
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Grégoire Pichon <gregoire.pichon@bull.net>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8081 osd-ldiskfs: improve transaction debug message 65/19865/5
Andreas Dilger [Fri, 1 Jul 2016 23:53:42 +0000 (07:53 +0800)]
LU-8081 osd-ldiskfs: improve transaction debug message

Print the actual credit limits that were exceeded when complaining
on the console about problems with transaction credit accounting.

Ensure all transaction credit messages include the device name.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I17125bb39ecaf699a722ac77bf29060cde3ebbe5
Reviewed-on: http://review.whamcloud.com/19865
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-7650 o2iblnd: Put back work queue check previously removed 81/22281/3
Doug Oucharek [Fri, 2 Sep 2016 01:15:09 +0000 (18:15 -0700)]
LU-7650 o2iblnd: Put back work queue check previously removed

The previous patch, http://review.whamcloud.com/21304/, removed
a check needed until LU-5718 is properly addressed.  With
the check, LU-5718 results in an error message and a lost
RDMA operation.  Without it, we have memory corruption and
a crash (much harder to debug).

Putting the check back in case LU-5718 is not fixed soon.

Signed-off-by: Doug Oucharek <doug.s.oucharek@intel.com>
Change-Id: I2efcc4e60a80794b38174da707d2a7fc27f81b6a
Reviewed-on: http://review.whamcloud.com/22281
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Olaf Weber <olaf@sgi.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8410 ldiskfs: new FIEMAP API 03/21603/7
Alexey Lyashkov [Fri, 29 Jul 2016 16:12:57 +0000 (19:12 +0300)]
LU-8410 ldiskfs: new FIEMAP API

With RH 6.5 old API was deprecated and was removed.
Backport a new API from ext4 upstream in opposite to copy-paste
older buggy code as FIEMAP now uses in current code.

Kernel upstream commit is 91dd8c114499e9818f2d5919ef0b9eee61810220
ext4: prevent race while walking extent tree for fiemap.

Signed-off-by: Alexey Lyashkov <alexey.lyashkov@seagate.com>
Change-Id: I7790c9e1a9cbfbd2cc429292aa764250e0525e21
Reviewed-on: http://review.whamcloud.com/21603
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Faccini Bruno <bruno.faccini@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8348 recovery: don't send last_committed after panic 60/21060/2
Alexey Lyashkov [Wed, 29 Jun 2016 11:36:31 +0000 (14:36 +0300)]
LU-8348 recovery: don't send last_committed after panic

Do not update last_committed if we are not sure the
commit was successful.

Signed-off-by: Alexey Lyashkov <alexey.lyashkov@seagate.com>
Seagate-bug-id: MRP-3013
Change-Id: I176b86a01cac46bd7d6af85843135a57a3df0e87
Reviewed-on: http://review.whamcloud.com/21060
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-7782 scrub: handle slave obj of striped directory 06/21506/5
Fan Yong [Fri, 17 Jun 2016 22:50:02 +0000 (06:50 +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 fix a race between osd_fid_lookup and OI scrub:
the OI scrub thread will remove osd_inconsistent_item from the
global list before updating related OI mapping, and if someone
call osd_fid_lookup() for the OI mapping during such interval,
it will get failure and trigger full mode OI scrub by wrong.

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

Test-Parameters: mdtfilesystemtype=ldiskfs mdsfilesystemtype=ldiskfs ostfilesystemtype=ldiskfs mdscount=2 mdtcount=4 testlist=sanity-scrub,sanity-scrub,sanity-scrub
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I6b449ef86221410dfc16005a586ed140b9a48b38
Reviewed-on: http://review.whamcloud.com/21506
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>
3 years agoLU-7433 ldlm: xattr locks are lost on mdt 20/17220/10
Vitaly Fertman [Thu, 28 Jul 2016 21:44:14 +0000 (00:44 +0300)]
LU-7433 ldlm: xattr locks are lost on mdt

mdt_intent_getxattr() can return EFAULT if a buffer cannot be found,
it is returned after lock_replace, where a new lock is installed into
lockp. An error forces ldlm_lock_enqueue() to destroy the original
lock, but ldlm_handle_enqueue0() drops the reference on the new lock.
xattr client code implied intent error is returned under a lock,
which is immediately cancelled. Check if a lock obtained and cancel
it properly for error cases. Note: we should support both cases for
interop needs, an intent error under a lock and with a lock abort.
Keep returning a lock with an intent error for interop purposes for
now, to be dropped later when client will get old enough.
make all intent ops to work through md_intent_lock: getxattr
and layout, which should extract the intent error.

Signed-off-by: Vitaly Fertman <vitaly.fertman@seagate.com>
Change-Id: I7b628b50448c4bdb26a3a8758fc16a44212ad9ac
Seagate-bug-id: MRP-3072 MRP-3137
Reviewed-by: Andrew Perepechko <andrew.perepechko@seagate.com>
Reviewed-by: Andriy Skulysh <andriy.skulysh@seagate.com>
Tested-by: Elena V. Gryaznova <elena.gryaznova@seagate.com>
Reviewed-on: http://review.whamcloud.com/17220
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8565 test: change sanity 255a to not fail for performance when running in VM 75/22375/3
Gu Zheng [Thu, 8 Sep 2016 02:57:25 +0000 (10:57 +0800)]
LU-8565 test: change sanity 255a to not fail for performance when running in VM

Considering we may run our testing in VMs with other parallel workloads,
and also out VMs are short on memory. Therefore the complete time of I/O
task is unreliable and depends on the workload on the host machine when
the task is running.
So as Andreas suggested, here we change sanity 255a to not fail even if
the performance isn't as expected when running in a VM, like we did to
sanity 248.

Test-Parameters: trivial

Change-Id: If2a76c64f053dc6c7dc8acf4afd5a68ea3a757b6
Signed-off-by: Gu Zheng <gzheng@ddn.com>
Reviewed-on: http://review.whamcloud.com/22375
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
3 years agoLU-8518 kernel: kernel update [SLES12 SP1 3.12.62-60.62] 45/22045/3
Bob Glossman [Fri, 19 Aug 2016 15:45:55 +0000 (08:45 -0700)]
LU-8518 kernel: kernel update [SLES12 SP1 3.12.62-60.62]

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: I3f15d7910e4d356ee696696c3c9af9d9b9d589f2
Reviewed-on: http://review.whamcloud.com/22045
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
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>
3 years agoLU-8513 kernel: kernel update RHEL7.2 [3.10.0-327.28.3.el7] 49/22049/2
Bob Glossman [Thu, 18 Aug 2016 16:32:27 +0000 (09:32 -0700)]
LU-8513 kernel: kernel update RHEL7.2 [3.10.0-327.28.3.el7]

Update RHEL7.2 kernel to 3.10.0-327.28.3.el7

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I39b888ff6bcb905dd5f5b58c3a014734e4144742
Reviewed-on: http://review.whamcloud.com/22049
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8510 dne: set osd_obj_ea_ops::dt_invalidate 17/22017/2
Bobi Jam [Fri, 19 Aug 2016 03:07:45 +0000 (11:07 +0800)]
LU-8510 dne: set osd_obj_ea_ops::dt_invalidate

git commit 226fd401f9d8bfcd1a71bf264d9baef1e0842441 omits setting
dt_invalidate operation for osd_obj_ea_ops.

Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: I33ae8b7239e056b3fb6981c9bc2dc0ec3c530e15
Reviewed-on: http://review.whamcloud.com/22017
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-522 lod: do not ignore degraded flag of ost. 47/20747/5
Jadhav Vikram [Wed, 2 Mar 2016 01:48:20 +0000 (07:18 +0530)]
LU-522 lod: do not ignore degraded flag of ost.

QoS allocation algorithm ignores degraded flag of OSTs.
Added a check for degraded ost flag in lod_alloc_qos().

Seagate-bug-id: MRP-2820

Signed-off-by: Jadhav Vikram <jadhav.vikram@seagate.com>
Change-Id: Ib2390518afff7b9bd459ce64bf609af99071e46d
Reviewed-on: http://es-gerrit.xyus.xyratex.com:8080/9966
Tested-by: Jenkins
Reviewed-by: Ujjwal Lanjewar <ujjwal.lanjewar@seagate.com>
Reviewed-by: Vladimir Saveliev <vladimir.saveliev@seagate.com>
Tested-by: Parinay Vijayprakash Kondekar <parinay.kondekar@seagate.com>
Reviewed-on: http://review.whamcloud.com/20747
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>