Whamcloud - gitweb
fs/lustre-release.git
3 years agoLU-9514 ptlrpc: free reply buffer earlier for open RPC 08/27208/17
Fan Yong [Wed, 14 Jun 2017 09:03:46 +0000 (17:03 +0800)]
LU-9514 ptlrpc: free reply buffer earlier for open RPC

It is unnecessary to keep the reply buffer for open RPC. Replay
related data has already been saved in the request buffer when
the RPC replied. If the open replay really happen, the replay
logic will alloc the reply buffer when needed.

On the other hand, the client always tries to alloc big enough
space to hold the open RPC reply since the client does not exactly
know how much data the server will reply to the client. So the reply
buffer may be quite larger than the real needed. Under such case,
keeping the large reply buffer for the open RPC will occupy a lot
of RAM as to OOM if the are too many open RPCs to be replayed.

This patch frees the reply buffer for the open RPC when only
the replay logic holds the last reference of the RPC.

Test-Parameters: envdefinitions=ONLY=51f testlist=sanity ostfilesystemtype=ldiskfs mdtfilesystemtype=ldiskfs
Test-Parameters: envdefinitions=ONLY=51f testlist=sanity ostfilesystemtype=zfs mdtfilesystemtype=zfs
Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I1bea2456b8aa4e53a0b65143a48e617f836181a0
Reviewed-on: https://review.whamcloud.com/27208
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-7988 hsm: mark the cdt as stopped when its thread exits 62/22762/28
Frank Zago [Tue, 27 Sep 2016 19:13:29 +0000 (15:13 -0400)]
LU-7988 hsm: mark the cdt as stopped when its thread exits

Use kthread_stop() to stop and join the coordinator thread. Only after
that step can the coordinator state be set to CDT_STOPPED. As a
coordinator doesn't stop instantly, this closes a race if the
coordinator is being restarted at the same time, leaving one thread
shutting down and a new one starting up.

Test-Parameters: trivial testlist=sanity-hsm
Signed-off-by: frank zago <fzago@cray.com>
Change-Id: I0a21d0d22403a56a8965441e1b57118073b6f210
Signed-off-by: Ben Evans <bevans@cray.com>
Reviewed-on: https://review.whamcloud.com/22762
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Quentin Bouget <quentin.bouget@cea.fr>
Reviewed-by: Faccini Bruno <bruno.faccini@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9274 ptlrpc: add replay request into unreplied list 20/27920/2
Niu Yawei [Thu, 22 Jun 2017 07:03:38 +0000 (03:03 -0400)]
LU-9274 ptlrpc: add replay request into unreplied list

ptlrpc_prepare_replay() may fail to add replay request into unreplied
list if the request hasn't been on replay list yet, so in
ptlrpc_replay_next() before sending replay, we'd always make sure the
replay request is on unreplied list.

Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: I91757cd4fde1d85d146475e078db125acc2c821f
Reviewed-on: https://review.whamcloud.com/27920
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9305 osd: do not release pages twice 50/27950/8
Alex Zhuravlev [Sun, 9 Jul 2017 16:56:53 +0000 (12:56 -0400)]
LU-9305 osd: do not release pages twice

in case of blocksize mismatch dmu_assign_arcbuf() releases passed
abuf internally, including the pages. osd_bufs_put() can't detect
this and may call __free_page() on inappropriate pages (which can
be allocated to someone else already).

Change-Id: I454e56ee3de3d201a14e6ba7b4beabaad42d82ae
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: https://review.whamcloud.com/27950
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9693 tests: Adding sanity test_42a & 42c to always_except 40/27740/2
Saurabh Tandan [Tue, 20 Jun 2017 18:57:35 +0000 (11:57 -0700)]
LU-9693 tests: Adding sanity test_42a & 42c to always_except

Sanity test_42a and test_42c were removed from Always_Except
list earlier. But it seems the issues were not completely
resolved.

Hence, adding them back to Always_Except list.

Test-Parameters: trivial
Signed-off-by: Saurabh Tandan <saurabh.tandan@intel.com>
Change-Id: Ib82e0d788054f3ede58c2dbdf5af21227fb4e7f3
Reviewed-on: https://review.whamcloud.com/27740
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Wei Liu <wei3.liu@intel.com>
3 years agoLU-9715 libcfs: crash in cpu_pattern parsing code 72/27872/3
Andreas Dilger [Wed, 28 Jun 2017 17:12:28 +0000 (11:12 -0600)]
LU-9715 libcfs: crash in cpu_pattern parsing code

The for loop in cfs_cpt_table_create_pattern() that scans
for brackets to count the number of cpts is broken. It will
increment bracket beyond NULL and it will increment ncpt
beyond the number of available cpts. This has been fixed.

Test-Parameters: trivial
Signed-off-by: Amir Shehata <amir.shehata@intel.com>
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I87bc9de4c531c42c421e8e62edd881417dbcab07
Reviewed-on: https://review.whamcloud.com/27872
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Olaf Weber <olaf.weber@hpe.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>
3 years agoBranch of 2.11 development branch new tag 2.10.50 2.10.50 v2_10_50 v2_10_50_0
Oleg Drokin [Tue, 27 Jun 2017 19:20:54 +0000 (15:20 -0400)]
Branch of 2.11 development branch new tag 2.10.50

Change-Id: Iea32c681312885f577421e1bf194c569a6b0da65
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9073 gss: remove newer kernel support 23/27823/2
James Simmons [Mon, 26 Jun 2017 17:54:25 +0000 (13:54 -0400)]
LU-9073 gss: remove newer kernel support

Revert the work to support newer kernels for GSS. For now
disable GSS support for kernels newer than 4.6 so this
doesn't block people on newer distros. Even is very basic
support for GSS is restored I wouldn't recommend this for
production systems at this time.

Change-Id: I7e1636bf695e1686bbdf968d088fcfc5a8f8f062
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: https://review.whamcloud.com/27823
Tested-by: Jenkins
Reviewed-by: Chris Hanna <hannac@iu.edu>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9678 osd-zfs: register arc_prune_func() after site init 08/27708/3
Lai Siyao [Fri, 16 Jun 2017 14:34:33 +0000 (22:34 +0800)]
LU-9678 osd-zfs: register arc_prune_func() after site init

Register arc_prune_func() after site init, otherwise it may be
called while object cache is not initialized yet.

Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Change-Id: I822252da906f03899386fb0941cc11c1c3366fbf
Reviewed-on: https://review.whamcloud.com/27708
Tested-by: Jenkins
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9049 obdclass: change object lookup to no wait mode 65/26965/9
Lai Siyao [Tue, 23 May 2017 07:56:06 +0000 (15:56 +0800)]
LU-9049 obdclass: change object lookup to no wait mode

Currently we set LU_OBJECT_HEARD_BANSHEE on object when we want
to remove object from cache, but this may lead to deadlock, because
when other process lookup such object, it needs to wait for this
object until release (done at last refcount put), while that process
maybe already hold an LDLM lock.

Now that current code can handle dying object correctly, we can just
return such object in lookup, thus the above deadlock can be avoided.

There is another case we need to make some changes:
objects created in OUT doesn't set dt_body_ops for LOD layer because
originally it's set by lod_create(), change to set dt_body_ops in
lod_object_init() so objects created in OUT is no different from
those created in MDT. To achieve this, functions in lod_body_ops
should check file type inside to avoid misuse.

Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Change-Id: Ia31ab5f09f9bf80a9aa8fd7e7b60348b02400b25
Reviewed-on: https://review.whamcloud.com/26965
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Tested-by: Cliff White <cliff.white@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9485 llite: check the return value of cl_file_inode_init() 58/27658/7
Bobi Jam [Thu, 15 Jun 2017 08:01:13 +0000 (16:01 +0800)]
LU-9485 llite: check the return value of cl_file_inode_init()

ll_update_inode() does not check the return value of
cl_file_inode_init(), and it should check.

Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: I4174e4f8166d7834a1d619aa8d0191d1f428c62c
Reviewed-on: https://review.whamcloud.com/27658
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: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8703 libcfs: rework CPU pattern parsing code 06/23306/14
Dmitry Eremin [Tue, 13 Jun 2017 00:59:16 +0000 (20:59 -0400)]
LU-8703 libcfs: rework CPU pattern parsing code

Rewrite CPU pattern parsing code to avoid passed buffer change
add real errors propogation to caller function.

Change-Id: I8dfee2c0013fcfccd3d99c361d3ec626594689bd
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: https://review.whamcloud.com/23306
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: Patrick Farrell <paf@cray.com>
Reviewed-by: Olaf Weber <olaf.weber@hpe.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9597 test: wait setattr finished before checking accounting 25/27425/11
Wang Shilong [Wed, 7 Jun 2017 08:10:12 +0000 (16:10 +0800)]
LU-9597 test: wait setattr finished before checking accounting

Need wait setattr finished for ost objects, otherwise, accounting
for projects won't be accurate, also add failure check for setattr
ioctl.

Test-Parameters: testlist=sanity-quota,sanity-quota,sanity-quota,sanity-quota clientdistro=el7 serverdistro=el7 \
        ostfilesystemtype=ldiskfs mdtfilesystemtype=ldiskfs
Change-Id: I106689c224997f79eb779fdc6843704ae7e9ffe6
Signed-off-by: Wang Shilong <wshilong@ddn.com>
Reviewed-on: https://review.whamcloud.com/27425
Tested-by: Jenkins
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Li Xi <lixi@ddn.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Yingjin Qian <qian@ddn.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9558 llite: use struct vma_area_struct address field 81/27281/8
James Simmons [Wed, 14 Jun 2017 17:54:13 +0000 (13:54 -0400)]
LU-9558 llite: use struct vma_area_struct address field

The field virtual_address of struct vma_area_struct was
removed since it provided no better benefit than just
using the address field directly.

Linux-commit: 1a29d85eb0f19b7d8271923d8917d7b4f5540b3e

Change-Id: I05068cdf27c93c5b3201c76ec043bc6c0e66df1f
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: https://review.whamcloud.com/27281
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9210 statahead: missing barrier before wake_up 30/27330/2
Lai Siyao [Tue, 7 Mar 2017 05:56:04 +0000 (13:56 +0800)]
LU-9210 statahead: missing barrier before wake_up

A barrier is missing before wake_up() in ll_statahead_interpret(),
which may cause 'ls' hang.

Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I391d6222e353fb27761ffd5412b52ce08f7a0592
Reviewed-on: https://review.whamcloud.com/27330
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>
3 years agoLU-9074 llite: Stop file creation for ro bind mnt 04/25204/12
Noopur Maheshwari [Thu, 2 Feb 2017 09:09:31 +0000 (14:39 +0530)]
LU-9074 llite: Stop file creation for ro bind mnt

While remounting the bind mount of lustre with read-only, vfs
sets MNT_READONLY in the mnt flags and does not make a call
to lustre. Hence, the change in mnt flags is not reflected in
lustre.

Therefore, file creation goes ahead in lookup operation of
lustre with LOOKUP_CREATE intent set and converted to IT_CREAT.

The fix is to disallow file creation by not setting IT_CREAT
intent when bind mnt pt is readonly and unsetting O_CREAT.

Added a test case to test that files are not created in ro
bind mount point. Files must be created after bind mount point
is converted from ro to rw.

Signed-off-by: Noopur Maheshwari <noopur.maheshwari@seagate.com>
Change-Id: Ic60fb18f539159715049515e264afdf51a00378e
Reviewed-on: https://review.whamcloud.com/25204
Reviewed-by: Andrew Perepechko <andrew.perepechko@seagate.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9504 ptlrpc: REP-ACK hr may race with trans commit 07/27207/9
Lai Siyao [Thu, 18 May 2017 16:27:31 +0000 (00:27 +0800)]
LU-9504 ptlrpc: REP-ACK hr may race with trans commit

REP-ACK hr may race with transaction commit, and the latter will
release saved locks, so in REP-ACK hr we need to get locks early to
convert them to COS mode safely.

But the locks got may be decrefed and canceled, in this case it
can't be converted to COS mode, remove an assert in
ldlm_lock_downgrade() for this.

Also protect mdt_steal_ack_locks() with rs_lock because it may also
race with REP-ACK hr. And move ldlm_lock_decref() outside of locks
because it may sleep.

Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Change-Id: Ia9a3ba6a83689c0552ae8aaf2eb735c3f06b62e2
Reviewed-on: https://review.whamcloud.com/27207
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9567 mgc: set cfg_instance to NULL for sptlrpc case 20/27320/6
James Simmons [Thu, 8 Jun 2017 16:40:09 +0000 (12:40 -0400)]
LU-9567 mgc: set cfg_instance to NULL for sptlrpc case

The patch for LU-9034 mapped config logs to separate mgc
devices. This change broke sptlrpc by preventing the
ablitity to pass along config log change with
lctl conf_param. The reason for this is due to the
cfg_instance field being set to an obd device pointer.
This patch sets cfg_instance back to NULL to restore
the functionality. This is only a temporary work
around so GSS can function for the 2.10 release. A
proper fix will be worked out in 2.11.

Change-Id: Ic60e6516802d3617b38df3371f52a7f27aeae8cd
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Signed-off-by: John L. Hammond <john.hammond@intel.com>
Reviewed-on: https://review.whamcloud.com/27320
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9399 llite: register mountpoint before process llog 41/27241/6
Emoly Liu [Sat, 27 May 2017 04:05:44 +0000 (12:05 +0800)]
LU-9399 llite: register mountpoint before process llog

In ll_fill_super(), lprocfs_ll_register_mountpoint() should be
called before lustre_process_log(), otherwise the directory
/proc/fs/lustre/llite/* can't be created in time and the params
"llite.*.*" won't be set correctly.

Also, this patch adds sbi->ll_xattr_cache_set to mark the flag
LL_SBI_XATTR_CACHE already set during lustre_process_log(),
in case that it will be overwritten in client_common_fill_super().

conf-sanity.sh test_76d is added to verify this fix.

Signed-off-by: Emoly Liu <emoly.liu@intel.com>
Change-Id: Ie1b4d2ef23bbe48a22d48f92f7d4efe64042eec4
Reviewed-on: https://review.whamcloud.com/27241
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: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9655 lnet: Remove redirect in lnet unit file 78/27578/2
Giuseppe Di Natale [Mon, 12 Jun 2017 15:49:06 +0000 (08:49 -0700)]
LU-9655 lnet: Remove redirect in lnet unit file

Remove the file redirect in the lnet systemd unit file
because it causes a startup failure.

Signed-off-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Change-Id: I2962babccee708f80b716cacfe21014ee9bfc442
Reviewed-on: https://review.whamcloud.com/27578
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Amir Shehata <amir.shehata@intel.com>
3 years agoLU-9558 libcfs: include new sched directory headers 57/27557/2
James Simmons [Sat, 10 Jun 2017 18:47:40 +0000 (14:47 -0400)]
LU-9558 libcfs: include new sched directory headers

Starting in linux kernel version 4.11 the very large
sched.h header is not being broken up into smaller
headers that are placed in linux/sched/*. This patch
handles this small change.

Test-Parameters: trivial

Change-Id: I82ba8ced17f7570fe052777d970a769f1dd366da
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: https://review.whamcloud.com/27557
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9558 libcfs: replace set_task_state() with set_current_state() 56/27556/3
James Simmons [Tue, 13 Jun 2017 01:48:21 +0000 (21:48 -0400)]
LU-9558 libcfs: replace set_task_state() with set_current_state()

Linxu commit 642fa448ae6b3a4e5e8737054a094173405b7643 removed the
set_task_state() for reasons stated in the commit. The solution
is to move to set_current_state().

Change-Id: I8e5024fdf7e80f85ad20a5b9343abf6c40a9f339
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: https://review.whamcloud.com/27556
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9604 tests: fix version check in sanity/test_77c 46/27446/2
Bruno Faccini [Tue, 6 Jun 2017 06:56:31 +0000 (08:56 +0200)]
LU-9604 tests: fix version check in sanity/test_77c

Version check had not been updated in original and
upstreamed master patch version from LU-8376.

Signed-off-by: Bruno Faccini <bruno.faccini@intel.com>
Change-Id: Iaa3c042f5058006b01f71932e3ed5baa4b12999e
Reviewed-on: https://review.whamcloud.com/27446
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
3 years agoLU-9611 lod: allow -1 for default stripe count/offset 73/27473/3
Andreas Dilger [Tue, 6 Jun 2017 21:38:15 +0000 (15:38 -0600)]
LU-9611 lod: allow -1 for default stripe count/offset

Since LU-7344 patch http://review.whamcloud.com/16930 was landed,
lod_stripeoffset_seq_write() and lod_stripecount_seq_write() have
incorrectly checked that lod.*.stripecount and lod.*.stripeoffset
are not negative.  In fact they can both be "-1" to indicate that
the filesystem-wide default value should be used. These parameters
can also be set internally if using "lfs setstripe -c -1 $MOUNT"
or "lfs setstripe -i -1 $MOUNT" to set the system wide default,
generating console errors on the MDS from class_process_proc_param():

  lov.: error writing proc entry 'stripecount': rc = -34
  lov.: error writing proc entry 'stripeoffset': rc = -34

Add comment blocks to lod_fix_desc_stripe*() to indicate their use.
Fix these functions to allow "-1" as a valid value.
Fix the error message to properly indicate which device is being
modified, in case multiple filesystems are mounted.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I295d2591d535b039634689524a29725e96ce2c01
Reviewed-on: https://review.whamcloud.com/27473
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9607 lnet: Fix lost lock 55/27455/2
Dmitry Eremin [Tue, 6 Jun 2017 14:02:03 +0000 (17:02 +0300)]
LU-9607 lnet: Fix lost lock

Unlock lnet_net_lock in case of error in function lnet_select_pathway().

Change-Id: Ib48fb3aebdc60bafff80f5c52b90301830ca4afa
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: https://review.whamcloud.com/27455
Tested-by: Jenkins
Reviewed-by: Doug Oucharek <doug.s.oucharek@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-20 osd-ldiskfs: Make readonly patches optional 49/27549/3
Oleg Drokin [Fri, 9 Jun 2017 20:51:56 +0000 (16:51 -0400)]
LU-20 osd-ldiskfs: Make readonly patches optional

If CONFIG_KALLSYMS is enabled, see if there are dev_set/check_rdonly
functions present and use them if so.
Otherwise assume the functionality is unavailable.

This should allow using osd_ldiskfs module on both patched and
unpatched kernels with no modifications thanks to weak updates.

Change-Id: I274db77cf76abc63ad6a5643a98c521778f294b3
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: https://review.whamcloud.com/27549
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>
3 years agoLU-6210 utils: Use C99 struct initializers in lhsmtool_posix.c 28/27528/2
Steve Guminski [Fri, 14 Apr 2017 19:50:51 +0000 (15:50 -0400)]
LU-6210 utils: Use C99 struct initializers in lhsmtool_posix.c

This patch makes no functional changes.  Struct initializers that
use C89 or GCC-only syntax are updated to C99 syntax.

C89 positional initializers require values to be placed in the
correct order. This will cause errors if the fields of the struct
definition are reordered or fields are added or removed. C99 named
initializers avoid this problem, and also automatically clear any
values that are not explicitly set.

This patch updates lhsmtool_posix.c to use the C99 syntax.

Test-Parameters: trivial
Signed-off-by: Steve Guminski <stephenx.guminski@intel.com>
Change-Id: I93e9e7dc10e30bfc81eed3a8d868d2400f50761e
Reviewed-on: https://review.whamcloud.com/27528
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>
3 years agoLU-6210 utils: Use C99 struct initializers in llverdev.c 29/27529/2
Steve Guminski [Fri, 14 Apr 2017 19:53:14 +0000 (15:53 -0400)]
LU-6210 utils: Use C99 struct initializers in llverdev.c

This patch makes no functional changes.  Struct initializers that
use C89 or GCC-only syntax are updated to C99 syntax.  Variables of
type struct option are renamed to long_opts for consistency.

C89 positional initializers require values to be placed in the
correct order. This will cause errors if the fields of the struct
definition are reordered or fields are added or removed. C99 named
initializers avoid this problem, and also automatically clear any
values that are not explicitly set.

This patch updates llverdev.c to use the C99 syntax.

Test-Parameters: trivial
Signed-off-by: Steve Guminski <stephenx.guminski@intel.com>
Change-Id: Icad1529704118fa6b0a0a4be4c9e6203d9534469
Reviewed-on: https://review.whamcloud.com/27529
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>
3 years agoLU-6210 utils: Use C99 initializers in lfs_changelog_clear() 23/27523/2
Steve Guminski [Fri, 14 Apr 2017 19:39:39 +0000 (15:39 -0400)]
LU-6210 utils: Use C99 initializers in lfs_changelog_clear()

This patch makes no functional changes.  Struct initializers that
use C89 or GCC-only syntax are updated to C99 syntax.  Variables of
type struct option are renamed to long_opts for consistency.

C89 positional initializers require values to be placed in the
correct order. This will cause errors if the fields of the struct
definition are reordered or fields are added or removed. C99 named
initializers avoid this problem, and also automatically clear any
values that are not explicitly set.

This patch updates lfs_changelog_clear() to use the C99 syntax.

Test-Parameters: trivial
Signed-off-by: Steve Guminski <stephenx.guminski@intel.com>
Change-Id: Ib9847af80b7eb76bf81b9692baa5c6deb4cdad85
Reviewed-on: https://review.whamcloud.com/27523
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
3 years agoLU-6210 utils: Use C99 initializers in lfs_setquota_times() 19/27519/2
Steve Guminski [Fri, 14 Apr 2017 19:27:22 +0000 (15:27 -0400)]
LU-6210 utils: Use C99 initializers in lfs_setquota_times()

This patch makes no functional changes.  Struct initializers that
use C89 or GCC-only syntax are updated to C99 syntax.

C89 positional initializers require values to be placed in the
correct order. This will cause errors if the fields of the struct
definition are reordered or fields are added or removed. C99 named
initializers avoid this problem, and also automatically clear any
values that are not explicitly set.

This patch updates lfs_setquota_times() to use the C99 syntax.

Test-Parameters: trivial
Signed-off-by: Steve Guminski <stephenx.guminski@intel.com>
Change-Id: I50c6260246e0ac345d8b981dd624791bab9220a5
Reviewed-on: https://review.whamcloud.com/27519
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>
3 years agoLU-6210 utils: Use C99 struct initializers in lfs_df() 18/27518/2
Steve Guminski [Fri, 14 Apr 2017 19:25:15 +0000 (15:25 -0400)]
LU-6210 utils: Use C99 struct initializers in lfs_df()

This patch makes no functional changes.  Struct initializers that
use C89 or GCC-only syntax are updated to C99 syntax.

C89 positional initializers require values to be placed in the
correct order. This will cause errors if the fields of the struct
definition are reordered or fields are added or removed. C99 named
initializers avoid this problem, and also automatically clear any
values that are not explicitly set.

This patch updates lfs_df() to use the C99 syntax.

Test-Parameters: trivial
Signed-off-by: Steve Guminski <stephenx.guminski@intel.com>
Change-Id: I006857f76e2a0bd89fea41fef158931953b21aa8
Reviewed-on: https://review.whamcloud.com/27518
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
3 years agoLU-6210 utils: Use C99 initializers in lfs_setdirstripe() 15/27515/2
Steve Guminski [Fri, 14 Apr 2017 19:16:23 +0000 (15:16 -0400)]
LU-6210 utils: Use C99 initializers in lfs_setdirstripe()

This patch makes no functional changes.  Struct initializers that
use C89 or GCC-only syntax are updated to C99 syntax.

C89 positional initializers require values to be placed in the
correct order. This will cause errors if the fields of the struct
definition are reordered or fields are added or removed. C99 named
initializers avoid this problem, and also automatically clear any
values that are not explicitly set.

This patch updates lfs_setdirstripe() to use the C99 syntax.

Test-Parameters: trivial
Signed-off-by: Steve Guminski <stephenx.guminski@intel.com>
Change-Id: I0335cae79bc5f57da3d73b40c17e83f87853ef5f
Reviewed-on: https://review.whamcloud.com/27515
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>
3 years agoLU-8661 libcfs: handle padata_alloc() rename 91/27491/3
Dmitry Eremin [Thu, 8 Jun 2017 01:27:44 +0000 (21:27 -0400)]
LU-8661 libcfs: handle padata_alloc() rename

In upstream commit e6cc11707661770ca2bd4db4b0256d28f48e7541
the function padata_alloc() was renamed to padata_alloc_possible().

Change-Id: I6ad6a503af3c52fa3c64ef9b3452bd35d8490cd5
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: https://review.whamcloud.com/27491
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@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>
3 years agoLU-9615 mdt: use write llog lock for pending restores 84/27484/2
John L. Hammond [Wed, 7 Jun 2017 13:11:14 +0000 (08:11 -0500)]
LU-9615 mdt: use write llog lock for pending restores

In mdt_hsm_pending_restore(), ask for a write llog lock when
processing the llog.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: Ib93a3a3b0f9472afae50c240b7dcb14fce4a8501
Reviewed-on: https://review.whamcloud.com/27484
Tested-by: Jenkins
Reviewed-by: Quentin Bouget <quentin.bouget@cea.fr>
Reviewed-by: Faccini Bruno <bruno.faccini@intel.com>
Reviewed-by: Ben Evans <bevans@cray.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8941 tests: remove wrong redirection syntaxes 51/27351/3
Gregoire Pichon [Wed, 31 May 2017 14:50:50 +0000 (16:50 +0200)]
LU-8941 tests: remove wrong redirection syntaxes

The "2&>" redirection syntax is wrong. Replace it with
what was probably intended by the test writer.

Test-Parameters: trivial testlist=replay-single,sanityn

Signed-off-by: Gregoire Pichon <gregoire.pichon@bull.net>
Change-Id: I8322bc853316a2580572c415fc1af4b73377fbc2
Reviewed-on: https://review.whamcloud.com/27351
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
3 years agoLU-9468 llite: fix for stat under kthread and X86_X32 92/26992/14
Frank Zago [Fri, 5 May 2017 21:10:47 +0000 (17:10 -0400)]
LU-9468 llite: fix for stat under kthread and X86_X32

Under the following conditions, ll_getattr will flatten the inode
number when it shouldn't:

  - the X86_X32 architecture is defined CONFIG_X86_X32, and not even
    used,
  - ll_getattr is called from a kernel thread (though vfs_getattr for
    instance.)

This has the result that inode numbers are different whether the same
file is stat'ed from a kernel thread, or from a syscall. For instance,
4198401 vs. 144115205272502273.

ll_getattr calls ll_need_32bit_api to determine whether the task is 32
bits. When the combination is kthread+X86_X32, that function returns
that the task is 32 bits, which is incorrect, as the kernel is 64
bits.

The solution is to check whether the call is from a kernel thread
(which is 64 bits) and act consequently.

Added test_410 to test the condition. A failed run will have a message like this:

  lustre_kinode_54354: CONFIG_X86_X32 is set
  lustre_kinode_54354: inode is 144115205272502273
  lustre_kinode_54354: inode is 4198401
  lustre_kinode_54354: inode numbers are different: 144115205272502273 4198401

while a successfull one will be:

  lustre_kinode_10519: CONFIG_X86_X32 is set
  lustre_kinode_10519: inode is 144115205272502275
  lustre_kinode_10519: inode is 144115205272502275
  lustre_kinode_10519: inode numbers are identical: 144115205272502275

Signed-off-by: Frank Zago <fzago@cray.com>
Change-Id: Ib8f07de47eaa29046a61c488368d466f9096a994
Reviewed-on: https://review.whamcloud.com/26992
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
3 years agoLU-8891 llite: rcu-walk check should not depend on statahead 95/24195/3
Steve Guminski [Wed, 7 Dec 2016 13:02:52 +0000 (08:02 -0500)]
LU-8891 llite: rcu-walk check should not depend on statahead

Moves the check for the LOOKUP_RCU flag, so that it does not depend
on the statahead setting.  The caller is now informed if rcu-walk
was requested but the filesystem does not support it, regardless
of whether statahead is enabled or disabled.

Signed-off-by: Steve Guminski <stephenx.guminski@intel.com>
Change-Id: I0dcfd594c1b44cba1741c60a24ed623ef635b79c
Reviewed-on: https://review.whamcloud.com/24195
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-8817 tests: Update 'min_ost_size' 85/23685/2
Arshad Hussain [Thu, 14 Jul 2016 10:19:58 +0000 (15:49 +0530)]
LU-8817 tests: Update 'min_ost_size'

On setup where MDS and client are on same node
lctl get_param osc.*.kbytesavail returns the
value from OSP. This patch updates function
min_ost_size to use "lfs df" output instead of
reading it from proc.

Output of 'lfs df'. 'Available' field only.
$ lfs df | grep OST | awk '{print $4}' | sort -n | head -n1
151276

Output with current code:
$ lctl get_param -n osc.*.kbytesavail | sort -n | head -n1
151004

Test-Parameters: trivial testlist=sanity-benchmark,obdfilter-survey
Signed-off-by: Arshad Hussain <arshad.hussain@seagate.com>
Change-Id: I07ddff43d7fc4b39b89bd998f96bf36776c5c048
Seagate-bug-id: MRP-3683
Reviewed-by: Ashish Purkar <ashish.purkar@seagate.com>
Reviewed-by: Elena V. Gryaznova <elena.gryaznova@seagate.com>
Tested-by: Elena V. Gryaznova <elena.gryaznova@seagate.com>
Reviewed-on: https://review.whamcloud.com/23685
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Ujjwal Lanjewar <ujjwal.lanjewar@seagate.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-2189 tests: Ensure quiescence for sanityn/36 73/27373/3
Nathaniel Clark [Thu, 1 Jun 2017 12:00:01 +0000 (08:00 -0400)]
LU-2189 tests: Ensure quiescence for sanityn/36

Because sanityn/36 measures space used/free, ensure that all previous
operations have completed prior to getting statfs info.

Test-Parameters: mdtfilesystemtype=zfs ostfilesystemtype=zfs osscount=1 ostcount=2 mdscount=1 mdtcount=1 testlist=sanityn
Test-Parameters: mdtfilesystemtype=zfs ostfilesystemtype=zfs osscount=1 ostcount=2 mdscount=1 mdtcount=1 testlist=sanityn
Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: I684d428bbb6fca1a004bba5acf6a17a1636fb0dd
Reviewed-on: https://review.whamcloud.com/27373
Tested-by: Jenkins
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9579 osc: adds radix_tree_preload 72/27372/4
Alexander Boyko [Thu, 1 Jun 2017 11:31:37 +0000 (14:31 +0300)]
LU-9579 osc: adds radix_tree_preload

The client fail with next error
osc_page_init()) ASSERTION( result == 0 )
in low memory conditions.

The patch fixes the problem above by adding
radix_tree_preload.

Signed-off-by: Alexander Boyko <alexander.boyko@seagate.com>
Seagate-bug-id: MRP-4424
Change-Id: I0a87366f8483fce4d2b3bcca449becce2a8262cb
Reviewed-on: https://review.whamcloud.com/27372
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-5969 obdclass: deprecate OBD_GET_VERSION ioctl 40/26440/5
Andreas Dilger [Tue, 20 Jan 2015 09:51:20 +0000 (02:51 -0700)]
LU-5969 obdclass: deprecate OBD_GET_VERSION ioctl

Mark OBD_GET_VERSION ioctl deprecated, disable before 3.1 release.

Test-Parameters: trivial
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I681a353e6f65fd1ec2d1434fe4a1fa55ed3ebbe5
Reviewed-on: https://review.whamcloud.com/26440
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: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-4825 utils: improve lfs_migrate usage message 61/25661/5
Andreas Dilger [Tue, 28 Feb 2017 04:06:56 +0000 (21:06 -0700)]
LU-4825 utils: improve lfs_migrate usage message

Improve the warning message printed by lfs_migrate to make it match
the OST device names used in Lustre 2.x instead of 1.x device names.
Also reference the new max_create_count parameter instead of the old
deactivate command, which prevented OST objects from being deleted.

Test-Parameters: trivial
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I114006afb93d8c8d78923a874f3b914202500c1e
Reviewed-on: https://review.whamcloud.com/25661
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Steve Guminski <stephenx.guminski@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9498 osp: revert till a fix 47/27447/3
Alex Zhuravlev [Tue, 6 Jun 2017 08:05:57 +0000 (12:05 +0400)]
LU-9498 osp: revert till a fix

Revert "LU-8367 osp: orphan cleanup do not wait for reserved"

LU-9498 was discovered with soak testing, the root cause is unknown
at the moment.

This reverts commit 1b3028ab142a1f605e6274a6019bb39d89ae8d25.

Change-Id: I65016876f3e42345a06194771c9731e28a850adc
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: https://review.whamcloud.com/27447
Tested-by: Jenkins
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoNew tag 2.9.59 2.9.59 v2_9_59 v2_9_59_0
Oleg Drokin [Mon, 12 Jun 2017 22:37:00 +0000 (18:37 -0400)]
New tag 2.9.59

Change-Id: I900f72cc0137b71ee0dfd6f4ced59e9e55e0c76e
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9367 llite: restore ll_file_getstripe in ll_lov_setstripe 15/26915/13
Bobi Jam [Tue, 2 May 2017 12:30:27 +0000 (20:30 +0800)]
LU-9367 llite: restore ll_file_getstripe in ll_lov_setstripe

Commit fafe6b4d4a6fa63cedff3bd44e6578009578b3d7 has get rid of
the call to ll_file_getstripe in ll_lov_setstripe.

Add a @size parameter for series of xxx_getstripe interfaces,
indicating the max buffer size that user provides to hold the
stripe information. It is mainly for the ll_lov_setstripe, which
will call ll_file_getstripe to fetch basic stripe inforation.

Add LL_IOC_LOV_SETSTRIPE_NEW/LL_IOC_LOV_GETSTRIPE_NEW ioctl interface
which defines the interface correctly, which could be used in later
Lustre versions.

Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: Ic2f541fa3c74133eb40d230c8a836434043d7691
Reviewed-on: https://review.whamcloud.com/26915
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
3 years agoLU-9572 kernel: kernel update RHEL6.9 [2.6.32-696.3.1.el6] 58/27358/4
Bob Glossman [Tue, 30 May 2017 15:28:54 +0000 (08:28 -0700)]
LU-9572 kernel: kernel update RHEL6.9 [2.6.32-696.3.1.el6]

Update RHEL6.9 kernel to 2.6.32-696.3.1.el6

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

Change-Id: Ie61a7a8c521acd40ebf5106db17dcfb5d25f7a7f
Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-on: https://review.whamcloud.com/27358
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>
3 years agoLU-8661 libcfs: handle pdata_set_cpumasks() removal 22/27422/2
James Simmons [Sun, 4 Jun 2017 15:34:11 +0000 (11:34 -0400)]
LU-8661 libcfs: handle pdata_set_cpumasks() removal

In Linux commit 815613da6a67c196d7458d0e6c278ea88e21933f the
function padata_set_cpumasks was removed since no one was
using it upstream. In order to support newer kernels we need
to migrate to pdata_set_cpumask() instead.

Change-Id: Ia2e5143d9a2649bfbf9e1df1fb7f2d1b3c807884
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: https://review.whamcloud.com/27422
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-930 doc: remove llapi_layout_t from man pages 98/26698/4
Andreas Dilger [Tue, 18 Apr 2017 06:31:01 +0000 (00:31 -0600)]
LU-930 doc: remove llapi_layout_t from man pages

Remove the use of the non-existent llapi_layout_t from llapi_layout.7
and llapi_layout_alloc.3 and replace with struct llapi_layout.

Test-Parameters: trivial
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: Icb3753038677ce95a35ed8f3b8266315553ebbe5
Reviewed-on: https://review.whamcloud.com/26698
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8703 libcfs: make tolerant to offline CPUs and empty NUMA nodes 22/23222/20
Dmitry Eremin [Fri, 21 Oct 2016 12:32:28 +0000 (15:32 +0300)]
LU-8703 libcfs: make tolerant to offline CPUs and empty NUMA nodes

Rework CPU partition code in the way of make it more tolerant to
offline CPUs and empty nodes.

For example, in KNL:
available: 8 nodes (0-7)
node 0 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221
node 0 size: 24472 MB
node 0 free: 12409 MB
node 1 cpus: 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239
node 1 size: 24576 MB
node 1 free: 20388 MB
node 2 cpus: 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255
node 2 size: 24576 MB
node 2 free: 20621 MB
node 3 cpus: 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271
node 3 size: 24576 MB
node 3 free: 21183 MB
node 4 cpus:
node 4 size: 4096 MB
node 4 free: 3982 MB
node 5 cpus:
node 5 size: 4096 MB
node 5 free: 3982 MB
node 6 cpus:
node 6 size: 4096 MB
node 6 free: 3982 MB
node 7 cpus:
node 7 size: 4096 MB
node 7 free: 3981 MB
node distances:
node   0   1   2   3   4   5   6   7
  0:  10  21  21  21  31  41  41  41
  1:  21  10  21  21  41  31  41  41
  2:  21  21  10  21  41  41  31  41
  3:  21  21  21  10  41  41  41  31
  4:  31  41  41  41  10  41  41  41
  5:  41  31  41  41  41  10  41  41
  6:  41  41  31  41  41  41  10  41
  7:  41  41  41  31  41  41  41  10

Contain the fix for LU-8492 ptlrpc: Correctly calculate hrp->hrp_nthrs
Fix an error code return which was introduced in
commit def25e9c7eff57cdaf8a6ee5e8e7db005bab6525

Change-Id: I7f64a20ee009a88e836f592ce044400f07ffbcdd
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: https://review.whamcloud.com/23222
Reviewed-by: Amir Shehata <amir.shehata@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>
3 years agoLU-8656 vvp: Add S_NOSEC support 53/22853/15
Patrick Farrell [Sat, 3 Jun 2017 15:20:10 +0000 (11:20 -0400)]
LU-8656 vvp: Add S_NOSEC support

We must use the i_mutex to protect permission changes,
which means we need to take it when we write to a file with
the setuid or setgid bit set (as this removes those bits).

LU-8025 attempted to use IS_NOSEC to check for this case,
but did not actually add support for the S_NOSEC flag to
Lustre.

S_NOSEC was added in upstream kernel commit:
69b4573296469fd3f70cf7044693074980517067
But a key change requiring parallel filesystems to opt in
with a superblock flag was added in:
9e1f1de02c2275d7172e18dc4e7c2065777611bf

This patch adds the required support.

Specifically, Lustre should set S_NOSEC correctly when an
inode is created (ll_iget), but only for new inodes.
Setting it for existing inodes requires taking the i_mutex,
creating an unacceptable metadata performance impact in the
lookup code.

Existing inodes get S_NOSEC set either by a setattr call
(see below), or by the first writer to write to the node,
in file_remove_privs/file_remove_suid.  So it's OK not to
set S_NOSEC on all inodes in ll_iget.

Also, Lustre must clear S_NOSEC when it gets a metadata
update because another node could have changed permissions.
i_flags is already cleared in ll_update_inode, but we would
prefer to have S_NOSEC set whenever possible, so we want to
re-do the check after the update.

This requires holding the i_mutex to avoid a check/set race
with permissions changes.

We cannot easily take the i_mutex in ll_update_inode (it is
called from too many places, some of which already hold the
i_mutex).

It is acceptable to sometimes not have S_NOSEC set (since
occasionally taking the i_mutex when not needed is OK), so
we look at getting it set most of the time.

It looks like the primary concern is ll_md_setattr.  The
caller (ll_setattr_raw) takes the i_mutex before returning,
so we do the relevant call there.

This opens a window during which S_NOSEC is not set, but
again, this merely creates a situation where we take the
i_mutex unnecessarily, and should be rare in practice.

Testing with multiple writers shows that we only very
rarely attempt to take the i_mutex, so the performance
impact is minimal.

This commit also adds a test to verify the S_NOSEC/i_mutex
behavior.

Signed-off-by: Patrick Farrell <paf@cray.com>
Change-Id: If481366283ceaeb247e50cc4d536fb10e9c329ee
Reviewed-on: https://review.whamcloud.com/22853
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>
3 years agoLU-9019 libcfs: remove no longer use time abstraction 20/27420/3
James Simmons [Sat, 3 Jun 2017 17:31:04 +0000 (13:31 -0400)]
LU-9019 libcfs: remove no longer use time abstraction

With the cleanup from 64 bit time handling we can remove
several no longer used wrapper functions in libcfs. Also
add test to checkpatch to warn patch submitters to use
the proper linux kernel timer functions for functions
that will soon go away.

Test-Parameters: trivial

Change-Id: Ie23d74d1faea6589e7def5225321ddc52c7e65b7
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: https://review.whamcloud.com/27420
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Olaf Weber <olaf.weber@hpe.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9433 osd-ldiskfs: fix inode reference leak 12/27212/5
Fan Yong [Fri, 26 May 2017 17:20:30 +0000 (01:20 +0800)]
LU-9433 osd-ldiskfs: fix inode reference leak

There are several corner cases in the osd_consistency_check(),
osd_iget_check() and osd_fid_lookup(), if the found inode with
the given FID does not match each other, then the logic may
miss to release current inode before "return" or "goto" for
further check. That will cause inode refrence leak.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I53997dd7f321ae34f951b9e3aac754ac33214da8
Reviewed-on: https://review.whamcloud.com/27212
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9488 scrub: reset noslot for full speed scrub 28/27228/3
Fan Yong [Thu, 25 May 2017 19:45:49 +0000 (03:45 +0800)]
LU-9488 scrub: reset noslot for full speed scrub

If there are too much inconsistect OI mappings detected,
then OI scrub will run under full speed mode for fixing
OI inconsistencies as fast as possible. Under such case,
the @noslot variable should be reset to avoid misguiding
the osd_scrub_next() to return SCRUB_NEXT_WAIT by wrong.

This patch also dumps more information for oi_scrub proc
output, those are helpful to understand OI scurb status.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I0f10d5ff703bbe5460eb77703b67fb066ad4d58b
Reviewed-on: https://review.whamcloud.com/27228
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-9440 osd-ldiskfs: efficient way to get ldiskfs backend name 77/27177/5
Fan Yong [Thu, 25 May 2017 19:35:20 +0000 (03:35 +0800)]
LU-9440 osd-ldiskfs: efficient way to get ldiskfs backend name

In the OSD debug message, we originally used the code similar as
"LDISKFS_SB(osd_sb(osd))>s_es>s_volume_name" to get the ldiskfs
backend name information. That is inefficient, it can be replaced
by the "osd_sb(osd)->s_id" or "inode->i_sb->s_id".

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I077452796065cc924e9ca3b9cfaec4b1a2a4bebe
Reviewed-on: https://review.whamcloud.com/27177
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
3 years agoLU-9484 llite: eat -EEXIST on setting trunsted.lov 26/27126/7
Bobi Jam [Tue, 16 May 2017 12:37:20 +0000 (20:37 +0800)]
LU-9484 llite: eat -EEXIST on setting trunsted.lov

Tools like rsync, tar, cp may copy and restore the xattrs on a file.
The client previously ignored the setting of trusted.lov/lustre.lov
if the layout had already been specified, to avoid causing these
tools to fail for no reason.

For PFL files we still need to silently eat -EEXIST on setting these
attributes to avoid problems.

Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: Ic6d359c0f3557d4a21e950a53f57e38ae97a40da
Reviewed-on: https://review.whamcloud.com/27126
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
3 years agoLU-9603 test: Fix test-framework.sh 38/27438/3
Sonia [Mon, 5 Jun 2017 22:34:00 +0000 (15:34 -0700)]
LU-9603 test: Fix  test-framework.sh

In test-frameowrk.sh, h2nettype(), h2o2ib() and h2tcp()
uses if [[ -v NETTYPE ]] where -v option is recognized
only in bash version 4.2 and above.

This patch replaces if [[ -v NETTYPE ]] with
if [[ -n "$NETTYPE" ]].

Test-Parameters: trivial testlist=conf-sanity, sanity, sanity-sec
Change-Id: Ife584f27c7a4caf6f405b701e85d389804ed33ca
Signed-off-by: Sonia Sharma <sonia.sharma@intel.com>
Reviewed-on: https://review.whamcloud.com/27438
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
3 years agoLU-9575 obdclass: remove cl_for_each defines 85/27385/2
Ben Evans [Thu, 1 Jun 2017 20:14:00 +0000 (15:14 -0500)]
LU-9575 obdclass: remove cl_for_each defines

cl_for_each and cl_for_each_reverse are simply aliases
for list_for_each_entry and list_for_each_entry_reverse
There is no point to them so just get rid of them and
eliminate any confusion.

Signed-off-by: Ben Evans <bevans@cray.com>
Change-Id: I4f21cc5020142c82999324f0ae7ccb57704a98bd
Reviewed-on: https://review.whamcloud.com/27385
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.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-8989 tests: fix sanity test_256() use of hardcoded filename 54/27354/4
Chris Hanna [Tue, 30 May 2017 21:25:00 +0000 (17:25 -0400)]
LU-8989 tests: fix sanity test_256() use of hardcoded filename

Description: test_256() in sanity test suite uses a hardcoded file name.
Switching to mktemp like other tests.

Test-Parameters: trivial
Change-Id: I013c86cea1af5769f81119aa2aaeb63766a2cec9
Signed-off-by: Chris Hanna <hannac@iu.edu>
Reviewed-on: https://review.whamcloud.com/27354
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>
3 years agoLU-9561 kernel: kernel update RHEL7.3 [3.10.0-514.21.1.el7] 03/27303/2
Bob Glossman [Thu, 25 May 2017 15:06:11 +0000 (08:06 -0700)]
LU-9561 kernel: kernel update RHEL7.3 [3.10.0-514.21.1.el7]

update RHEL 7.3 kernel to 3.10.0-514.21.1.el7

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I847074a5afb79d33e88fcaf822c6ccef0b78585a
Reviewed-on: https://review.whamcloud.com/27303
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>
3 years agoLU-9562 llite: Remove filtering of seclabel xattr 92/27292/2
Robin Humble [Thu, 25 May 2017 17:59:28 +0000 (03:59 +1000)]
LU-9562 llite: Remove filtering of seclabel xattr

The security.capability xattr is used to implement File
Capabilities in recent Linux versions (eg. RHEL7).
Capabilities are a fine grained approach to granting
executables elevated privileges. eg. /bin/ping can have
capabilities cap_net_admin,cap_net_raw+ep instead of being
setuid root.

This xattr has long been filtered out by llite, initially for
stability reasons (b15587), and later over performance
concerns as this xattr is read for every file with eg.
'ls --color'. Since LU-2869 xattr's are cached on clients,
alleviating most performance concerns.

Removing llite's filtering of the security.capability xattr
enables using Lustre as a root filesystem, which is used on
some large clusters.

Signed-off-by: Robin Humble <plaguedbypenguins@gmail.com>
Change-Id: I88d7dec447ffc091c92fb2fb230ef549e5fb4c79
Reviewed-on: https://review.whamcloud.com/27292
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9558 libcfs: handle hotplug state machine 82/27282/5
James Simmons [Tue, 30 May 2017 11:28:51 +0000 (07:28 -0400)]
LU-9558 libcfs: handle hotplug state machine

Install the callbacks via the state machine. No functional change.
Lustre was ported to this in linux kernel 4.10

Linux-commit: 7b737965b33188bd3dbb44e938535c4006d97fbb

Lustre was ported to this API in linux kernel 4.10

Change-Id: I4d8dfdf97051f406b2ac5b1cf6015742996fc216
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: https://review.whamcloud.com/27282
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Olaf Weber <olaf.weber@hpe.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9539 kernel: kernel update [SLES12 SP1 3.12.74-60.64.40] 22/27222/4
Bob Glossman [Fri, 19 May 2017 14:54:15 +0000 (07:54 -0700)]
LU-9539 kernel: kernel update [SLES12 SP1 3.12.74-60.64.40]

Update target and kernel_config files for new version

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

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: Ie0cb65603504da3b7dd38ab4962198142b1629f6
Reviewed-on: https://review.whamcloud.com/27222
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>
3 years agoLU-9523 obdclass: remove CL_PAGE_INVOKE et. al. 68/27168/3
Ben Evans [Wed, 17 May 2017 18:09:53 +0000 (13:09 -0500)]
LU-9523 obdclass: remove CL_PAGE_INVOKE et. al.

CL_PAGE_INVOKE, CL_PAGE_INVOID and CL_PAGE_INVOKE_REVERSE
merely obscure the list_for_each_entry calls to various virtual
functions specified by CL_PAGE_OP, and arguments stuck into va_args.

These defines and their equivalent functions have been removed,
and the list_for_each_entry has been put in place.  CL_PAGE_OP
has also been removed.

Signed-off-by: Ben Evans <bevans@cray.com>
Change-Id: I644e707263c2a31c7c2a3d1435248199efb6b274
Reviewed-on: https://review.whamcloud.com/27168
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-930 doc: improve mount.lustre.8 option descriptions 79/25679/2
Andreas Dilger [Wed, 1 Mar 2017 09:42:15 +0000 (02:42 -0700)]
LU-930 doc: improve mount.lustre.8 option descriptions

Add the "mgssec=<flavor>" mount option for SSK and Kerberos.
Add the "lazystatfs" and "nolazystatfs" mount options.
Add a description of mount-by-label and mount-by-UUID, with caveats.
Improve the description of the "mgsnode" parameter.
Improve the description of the "flock" and "noflock" options.
Move the "acl" and "noacl" mount options from the client to the
server section, since they've been long deprecated on the client.
Remove trailing whitespace.

Test-Parameters: trivial
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I2203df49270ff1f18b7bed20042eafff893ebbe5
Reviewed-on: https://review.whamcloud.com/25679
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-6401 uapi: change lustre_cfg.h into a proper UAPI header 66/26966/8
James Simmons [Tue, 30 May 2017 11:27:35 +0000 (07:27 -0400)]
LU-6401 uapi: change lustre_cfg.h into a proper UAPI header

Instead of handling memory allocation for both userland and
kernel space remove lustre_cfg_new() and lustre_cfg_free()
and just use what is required for both kernel and user space.
To perserve the truncate warning move lustre_cfg_string()
to obd_config.c. Implement user land version for llog_reader.
Lastly remove libcfs.h via obd_support.h from lustre_cfg.h
and move it to the uapi directory.

Change-Id: I96469b9040a9b3f885e117debba107f90955e09f
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: https://review.whamcloud.com/26966
Reviewed-by: Quentin Bouget <quentin.bouget@cea.fr>
Tested-by: Jenkins
Reviewed-by: Ben Evans <bevans@cray.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-6210 utils: Use C99 struct initializers in lfs_setstripe() 63/25063/8
Steve Guminski [Wed, 25 Jan 2017 21:41:10 +0000 (16:41 -0500)]
LU-6210 utils: Use C99 struct initializers in lfs_setstripe()

This patch makes no functional changes.  Struct initializers that
use C89 or GCC-only syntax are updated to C99 syntax.  Whitespace is
corrected to match the coding style guidelines.  Variables of type
struct option have been renamed to long_opts for consistency.

C89 positional initializers require values to be placed in the
correct order. This will cause errors if the fields of the struct
definition are reordered or fields are added or removed. C99 named
initializers avoid this problem, and also automatically clear any
values that are not explicitly set.

This patch updates lfs_setstripe() to use the C99 syntax.

Test-Parameters: trivial
Signed-off-by: Steve Guminski <stephenx.guminski@intel.com>
Change-Id: Iebc512d0e781db8a887b1e8461153a7a18b0dd08
Reviewed-on: https://review.whamcloud.com/25063
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@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>
3 years agoLU-7884 utils: mkfs prevents the creation of files in /dev/shm 84/18984/16
Quentin Bouget [Tue, 11 Apr 2017 15:46:50 +0000 (15:46 +0000)]
LU-7884 utils: mkfs prevents the creation of files in /dev/shm

When configuring llmount to use /dev/shm as its TMP directory
(for loopback files), mkfs.lustre complains that the loopback does
not exist and will not be created.
This patch fixes this by adding a "touch" instruction before any use
of mkfs.lustre in test-framework.sh

Signed-off-by: Quentin Bouget <quentin.bouget@cea.fr>
Change-Id: I1422d8af947db5ba5b262a9acd2239e99f0843c2
Reviewed-on: https://review.whamcloud.com/18984
Reviewed-by: Henri Doreau <henri.doreau@cea.fr>
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>
3 years agoLU-4640 mdt: implement Remove Archive on Last Unlink policy 46/18946/18
Bruno Faccini [Wed, 16 Mar 2016 09:10:47 +0000 (10:10 +0100)]
LU-4640 mdt: implement Remove Archive on Last Unlink policy

This reverts commit d9f95aa201341d972eeb610471e3c45f1ba12202 which
had already reverted original commit
74d92933108dc64b110a843352cf3336dca249d0 for LU-4640, to rebase
and re-integrate original patch changes.

In addition, necessary changes (LU-7881) have been added to make
sanity-hsm/test_26b comply with LU-7136 recent changes in
sanity-hsm internal framework/functions. And also to comply with
concurrent changes that had caused object to become unavailable
earlier than expected in original patch version, by moving
mdt_handle_last_unlink() call in mdt_mfd_close() now.

Signed-off-by: Bruno Faccini <bruno.faccini@intel.com>
Change-Id: I172d778dad494d36a6f5d03e261b2ba584fb6542
Reviewed-on: https://review.whamcloud.com/18946
Reviewed-by: Quentin Bouget <quentin.bouget@cea.fr>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Li Xi <lixi@ddn.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-6900 tests: parallel-scale-nfs improvement 12/15712/9
Elena Gryaznova [Fri, 26 May 2017 15:40:13 +0000 (18:40 +0300)]
LU-6900 tests: parallel-scale-nfs improvement

This patch addresses a set of parallel-scale-nfs.sh suite
defects and fixes:
1. Suite deals only with nfs server exported from SINGLEMDS
(lustre_client) and nfs clients set to default CLIENTS list.
-- Patch adds the possiblity to specify NFS_SERVER, NFS_CLIENTS,
   nfs server's lustre mount point and mount points for nfs
   clients; functions which run applications operate with
   nfs client mntpt instead of global $DIR.

2. Suite does not cleanup the nfs setup in case
of failure, this breaks next tests.
-- Patch adds trap to perform cleanup in case of any error.

3. Suite can not run on solo setup because it requires nfs
clients and nfs servers are to be the different nodes.
-- Patch skips the suite for singe node setup.

Test-Parameters: mdtcount=1 ostsizegb=2 testlist=parallel-scale-nfsv3,parallel-scale-nfsv4
Signed-off-by: Elena Gryaznova <elena.gryaznova@seagate.com>
Seagate-bug-id: MRP-1742, MRP-1622, MRP-2056, MRP-2682
Reviewed-by: Andriy Skulysh <andriy.skulysh@seagate.com>
Reviewed-by: Vladimir Saveliev <vladimir.saveliev@seagate.com>
Reviewed-by: Alexander Lezhoev <alexander.lezhoev@seagate.com>
Reviewed-by: Alexey Lyashkov <alexey.lyashkov@seagate.com>
Change-Id: I3e1c877764db561f7e8ca7703b90cc5cf6f91ca0
Reviewed-on: https://review.whamcloud.com/15712
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Wei Liu <wei3.liu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9533 tests: fix get_lustre_version in obdfilter-survey 38/27338/2
Gregoire Pichon [Tue, 30 May 2017 22:07:56 +0000 (00:07 +0200)]
LU-9533 tests: fix get_lustre_version in obdfilter-survey

Retrieve the lustre version using the same method as in
test-framework.sh so that it works for every versions
of Lustre.

Signed-off-by: Gregoire Pichon <gregoire.pichon@bull.net>
Change-Id: I1fb14961b4ef1d5f3365ba78590459c5e6a75aef
Reviewed-on: https://review.whamcloud.com/27338
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Justin Miller <jmiller@cray.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
3 years agoLU-9486 llapi-test: sanity test_27D failure 57/27057/4
Bobi Jam [Wed, 10 May 2017 17:08:04 +0000 (01:08 +0800)]
LU-9486 llapi-test: sanity test_27D failure

llapi_layout_test.c - layout template stripe count returns value
LLAPI_LAYOUT_WIDE if it was set -1, returns LLAPI_LAYOUT_DEFAULT if
was set 0.

Test-Parameters: testlist=sanity
Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: I32c3944dd3cec36c4907277f96a400ecff6ebc60
Reviewed-on: https://review.whamcloud.com/27057
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9384 tests: restore 2.9 filesystem images on 2.10 95/27295/3
James Nunez [Thu, 25 May 2017 21:52:06 +0000 (15:52 -0600)]
LU-9384 tests: restore 2.9 filesystem images on 2.10

The problem that the 2.9 disk images upgraded to 2.10 caused
is fixed. We can now add back the use of the 2.9 disk image
into the t32_check routine used by conf-sanity test 32*.

Signed-off-by: James Nunez <james.a.nunez@intel.com>
Change-Id: I5c32c05ba31c525d6ff46fbd6ba5edab7368a86b
Reviewed-on: https://review.whamcloud.com/27295
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Wei Liu <wei3.liu@intel.com>
Reviewed-by: Saurabh Tandan <saurabh.tandan@intel.com>
3 years agoLU-9490 tests: ll_dirstripe_verify handles PFL layout 80/27180/6
Niu Yawei [Thu, 18 May 2017 04:25:07 +0000 (00:25 -0400)]
LU-9490 tests: ll_dirstripe_verify handles PFL layout

Modify ll_dirstripe_verify.c to handle PFL layout properly.

Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: I6d2e43d36c71920db54966f6d541d55e5ff58318
Reviewed-on: https://review.whamcloud.com/27180
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
3 years agoLU-9489 lod: keep minimum LOVEA size 89/27089/14
Bobi Jam [Fri, 12 May 2017 02:13:57 +0000 (10:13 +0800)]
LU-9489 lod: keep minimum LOVEA size

For a PFL file, some of its component could be un-instantiated, and
their lov_ost_data_v1 array is not needed, we should keep its LOVEA
as small as possible.

An unstantiated component's stripe offset should be set.

Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: I1cd70399446f063dca4de5b61d7e1dc2c8dde37c
Reviewed-on: https://review.whamcloud.com/27089
Tested-by: Jenkins
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
3 years agoLU-6648 wireshark: Process ldlm intent getxattr 61/14961/5
Nathaniel Clark [Wed, 27 May 2015 15:43:12 +0000 (11:43 -0400)]
LU-6648 wireshark: Process ldlm intent getxattr

Decode LDLM_ENQUEUE GETXATTR eavals.
Cleanup LDLM_ENQUEUE response processing.

Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: I31d1e8e5a9ae35b9ce838ed7b2ee9c1404604627
Reviewed-on: https://review.whamcloud.com/14961
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-6582 wireshark: Add new LDLM intent bits 32/14732/9
Nathaniel Clark [Fri, 8 May 2015 15:41:26 +0000 (11:41 -0400)]
LU-6582 wireshark: Add new LDLM intent bits

Add IT_LAYOUT parsing
Add IT_QUOTA_DQACQ parsing

Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: I8f53fb2a5c745d3393aa0e293f616968639919e3
Reviewed-on: https://review.whamcloud.com/14732
Tested-by: Jenkins
Reviewed-by: Doug Oucharek <doug.s.oucharek@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-4378 wireshark: Add parsing for HSM commands 52/14552/9
Nathaniel Clark [Mon, 16 Dec 2013 19:44:02 +0000 (14:44 -0500)]
LU-4378 wireshark: Add parsing for HSM commands

Add HSM MDS parsing along with several other minor commands.
Add OSD CONNECT parsing.
Fixup formatting to be inline with Linux Kernel style for altered
lines.
Make compatible with wireshark 1.12.

Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: I5e96f5d0d4ea3953203f28d430a77741179bea70
Reviewed-on: https://review.whamcloud.com/14552
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9470 osc: update timestamps on write only 48/27348/3
Niu Yawei [Wed, 31 May 2017 07:51:26 +0000 (03:51 -0400)]
LU-9470 osc: update timestamps on write only

In osc_io_submit(), we should only update timestamps on write.

Test-parameters: testlist=sanityn.sh,sanityn.sh,sanityn.sh,sanityn.sh,sanityn.sh,sanityn.sh
Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: I56ed4c499f3b438018ff5b4cd29d7e84f72e04a6
Reviewed-on: https://review.whamcloud.com/27348
Tested-by: Jenkins
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9560 tests: sanity test_801a sleeps more time 88/27288/4
Fan Yong [Fri, 26 May 2017 03:09:32 +0000 (11:09 +0800)]
LU-9560 tests: sanity test_801a sleeps more time

If the barrier_freeze thread sleep time is too short, then
it is possible that before the barrier_stat thread scheduled,
the barrier_freeze thread has gone through phase "freezing_p1",
that will cause test failure.

This patch makes the barrier_freeze thread to sleep more long
time, then the barrier_stat thread can check its status properly.

Test-Parameters: trivial
Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Iebbc05a1d86553b484bd7093f147e5ac4b58e199
Reviewed-on: https://review.whamcloud.com/27288
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
3 years agoLU-9556 tests: wait recovery complete in replay-single test 57 79/27279/2
Jian Yu [Wed, 24 May 2017 22:40:38 +0000 (15:40 -0700)]
LU-9556 tests: wait recovery complete in replay-single test 57

This patch fixes replay-single test 57 to wait recovery complete
for MDS and also wait for sync between MDS and OSS instead of
just sleeping for 1 second.

Test-Parameters: trivial envdefinitions=ONLY=57 \
testlist=replay-single,replay-single,replay-single

Change-Id: I8ca133104116383eccec324ab2ef56666659600e
Signed-off-by: Jian Yu <jian.yu@intel.com>
Reviewed-on: https://review.whamcloud.com/27279
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
3 years agoLU-9550 adio: delete the old Lustre ADIO driver patches 64/27264/10
Emoly Liu [Wed, 24 May 2017 13:37:02 +0000 (21:37 +0800)]
LU-9550 adio: delete the old Lustre ADIO driver patches

Since Lustre ADIO driver was released by MPICH2 about 8 years ago,
those old Lustre ADIO driver patches (lustre/contrib/*mpich*.patch)
can be deleted.

Test-Parameters: trivial
Signed-off-by: Emoly Liu <emoly.liu@intel.com>
Change-Id: Ibbd4c67b36065d913c6e3b71895f2413481c923c
Reviewed-on: https://review.whamcloud.com/27264
Tested-by: Jenkins
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
3 years agoLU-9558 llite: generic_readlink is no longer exported 80/27280/2
James Simmons [Wed, 24 May 2017 23:12:41 +0000 (19:12 -0400)]
LU-9558 llite: generic_readlink is no longer exported

Starting in linux kernel 4.10 if inode_operation's
readlink field is NULL then it is assumed to be using
generic_readlink. Since this is the case the function
generic_readlink is no longer visible to individual
file systems.

Linux-commit: dfeef68862edd7d4bafe68ef7aeb5f658ef24bb5

Change-Id: I847844cc53f7ae80d9d212590f5026a92da0107e
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: https://review.whamcloud.com/27280
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
3 years agoLU-9463 utils: print lcme_flags in text format 58/27058/7
Emoly Liu [Wed, 17 May 2017 02:33:37 +0000 (10:33 +0800)]
LU-9463 utils: print lcme_flags in text format

Print lcme_flags in comma-separated text format(e.g. init)
instead of hex numbers.

Signed-off-by: Emoly Liu <emoly.liu@intel.com>
Change-Id: Iae8b679aef8f7c0b86af3e94d5bb996d4d98757b
Reviewed-on: https://review.whamcloud.com/27058
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
3 years agoLU-8576 test: Fix hard-coded NETTYPE in test-framework.sh 27/27027/9
Sonia [Tue, 9 May 2017 23:24:45 +0000 (16:24 -0700)]
LU-8576 test: Fix hard-coded NETTYPE in test-framework.sh

In test-frameowrk.sh, h2o2ib() and h2tcp() hard-codes
the network type value to o2ib or tcp respectively.

With this patch, h2nettype() is defined which replaces
h2o2ib(), h2tcp(), h2ptl() and h2elan(). Function
h2nettype() uses value of NETTYPE parameter passed
from user instead of any hard-coded value. With this patch,
NETTYPE value is used as network name instead of network type.

Test-Parameters: trivial testlist=conf-sanity, sanity, sanity-sec
Change-Id: If0fe16a1f6aade4d7f784243c75f70764280ea88
Signed-off-by: Sonia Sharma <sonia.sharma@intel.com>
Reviewed-on: https://review.whamcloud.com/27027
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
3 years agoLU-9439 scripts: Provide a sample lnet.conf file 71/26971/7
Giuseppe Di Natale [Fri, 5 May 2017 22:24:21 +0000 (15:24 -0700)]
LU-9439 scripts: Provide a sample lnet.conf file

Create a sample lnet.conf file that is packaged and
installed.

Move /etc/sysconfig/lnet.conf to /etc/lnet.conf. Configuration
files should not be in /etc/sysconfig.

Cleaned up the init.d lnet script.

Test-Parameters: trivial
Signed-off-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Change-Id: Ie94d0c2680c0f1fd65cbf2e33b08194beee5d8be
Reviewed-on: https://review.whamcloud.com/26971
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Amir Shehata <amir.shehata@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9439 scripts: Change behavior of lustre_rmmod 13/27213/4
Prakash Surya [Wed, 20 Feb 2013 17:18:13 +0000 (09:18 -0800)]
LU-9439 scripts: Change behavior of lustre_rmmod

The lustre_rmmod script was modified to take an arbitrary list of
modules and try to remove them and any modules dependent on them.
Previously its behavior was to always remove the libcfs module,
along with either the ldiskfs or another module passed as a
parameter.

The old interface was roughly maintained. Any of the following
commands will remove the ldiskfs, libcfs, and all dependent modules:

    $ lustre_rmmod
    $ lustre_rmmod ldiskfs
    $ lustre_rmmod ldiskfs libcfs

The benefit now, is that any other list of modules can be specified
without removing libcfs. For example, the following command will only
remove ptlrpc and its dependent modules (leaving libcfs intact):

    $ lustre_rmmod ptlrpc

The lnet init script was modified to perform a lustre_rmmod ptlrpc
before performing an lctl network down. By removing the ptlrpc
module, we can ensure that lnet is not in use. This will help
systems running lustre to shut down cleanly.

Signed-off-by: Prakash Surya <surya1@llnl.gov>
Signed-off-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Change-Id: I3fbb33ccb00eb96c255c702b238af9d46768954b
Reviewed-on: https://review.whamcloud.com/27213
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-9119 lnet: increment per NI stats 07/26907/6
Amir Shehata [Mon, 1 May 2017 18:49:34 +0000 (11:49 -0700)]
LU-9119 lnet: increment per NI stats

Increment the per NI stats for messages being routed.
This will give a better view of the traffic distribution
over multiple peer interfaces.

Added extra trace messages to track the messages
sent and received.

Test-Parameters: trivial
Signed-off-by: Amir Shehata <amir.shehata@intel.com>
Change-Id: I213b1b36e9787d25705d91d091ad9e9c6a5b2ae8
Reviewed-on: https://review.whamcloud.com/26907
Tested-by: Jenkins
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Sonia Sharma <sonia.sharma@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9288 tests: t-f to check if ZFS module is loaded 34/26334/5
Alex Zhuravlev [Tue, 4 Apr 2017 12:09:14 +0000 (15:09 +0300)]
LU-9288 tests: t-f to check if ZFS module is loaded

it's possible that ZFS modules are missing in /lib/modules/ in
a development environment. if so, then modprobe fails preventing
regular testing. t-f can check whether ZFS module is loaded already.

Change-Id: Ie871be7a9af3c15968de8b5d8a8c99b3e1cb4274
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: https://review.whamcloud.com/26334
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9010 ldlm: use static initializer macros where possible 24/24824/6
John L. Hammond [Tue, 23 May 2017 14:54:39 +0000 (10:54 -0400)]
LU-9010 ldlm: use static initializer macros where possible

In lustre/ldlm/ replace module load time initialization of several
lists, locks, mutexes, and wait queues with static initialization
using the kernel provided macros.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I145daf6355c568c422ab8c8b02ca284637b75320
Reviewed-on: https://review.whamcloud.com/24824
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
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>
3 years agoLU-8797 lbuild: Fail build if zfs or spl git checkout fails 63/23563/2
Nathaniel Clark [Thu, 3 Nov 2016 14:56:15 +0000 (10:56 -0400)]
LU-8797 lbuild: Fail build if zfs or spl git checkout fails

This forces lbuild to fail if zfs or spl checkout fails, for instance
if the tag isn't present.  This turns a subtle "wrong zfs version
checked out" into a more obvious error.

Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: I43b424a755c41cb32a7a07fa848c582bdf279e62
Reviewed-on: https://review.whamcloud.com/23563
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-7088 tests: merge sanityn test_1[a-d] into test_1 26/16226/5
Elena Gryaznova [Wed, 24 May 2017 18:56:39 +0000 (21:56 +0300)]
LU-7088 tests: merge sanityn test_1[a-d] into test_1

The sanity.sh test_1a, test_1b, test_1c, and test_1d cases could
not be run independently. Merge these test cases to form a single
test_1 that is self contained.

Test-Parameters: trivial envdefinitions=ONLY=1 testlist=sanityn
Seagate-bug-id: MRP-335
Signed-off-by: Kyrylo Shatskyy <kyrylo.shatskyy@seagate.com>
Signed-off-by: Elena Gryaznova <elena.gryaznova@seagate.com>
Reviewed-by: Alexander Zarochentsev <alexander.zarochentsev@seagate.com>
Change-Id: I7e550f4c34ef57ac8a2c6484f95731f61d17f86d
Reviewed-on: https://review.whamcloud.com/16226
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>
3 years agoLU-9137 utils: replace readdir_r with readdir 76/27276/3
James Simmons [Thu, 25 May 2017 17:45:20 +0000 (13:45 -0400)]
LU-9137 utils: replace readdir_r with readdir

Originally readdir_r was created to handle the case of readdir
not being reentrant. The readdir_r implementation has several
flaws and modern platforms have a glibc version were readdir
is reentrant. Because of this platforms are now marking
readdir_r as obsolete which breaks our lustre build. This
patch migrates us to readdir instead.

Change-Id: I939d5a402e6c73c56615972b2b3c6f0a21b59b55
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: https://review.whamcloud.com/27276
Reviewed-by: Bob Glossman <bob.glossman@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-9536 lnet: set LND tunalbes properly 63/27263/3
Amir Shehata [Tue, 23 May 2017 23:52:37 +0000 (16:52 -0700)]
LU-9536 lnet: set LND tunalbes properly

Make sure to set all NIs to the proper LND tunables
specified.

Add ntx tunable to dynamic configuration. This way all
tunables required to tune OPA performance can be configured
via lnetctl, allowing the ability to tune OPA network and IB
network differently

Test-Parameters: trivial
Signed-off-by: Amir Shehata <amir.shehata@intel.com>
Change-Id: I015f3f959bd46784d4607bd4259b4640303dc362
Reviewed-on: https://review.whamcloud.com/27263
Tested-by: Jenkins
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Sonia Sharma <sonia.sharma@intel.com>
Reviewed-by: Olaf Weber <olaf.weber@hpe.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9487 tests: stop primary and failover services in mmp test 1 53/27253/3
Jian Yu [Tue, 23 May 2017 18:37:13 +0000 (11:37 -0700)]
LU-9487 tests: stop primary and failover services in mmp test 1

In mmp.sh test_1(), there is a race of starting the primary and
failover services at the same time. Since it's likely the failover
service is started before the primary one, we need check and stop
the failover service.

Test-Parameters: trivial \
envdefinitions=MMP_EXCEPT=5 \
clientcount=4 osscount=2 mdscount=2 mdtcount=1 \
austeroptions=-R failover=true iscsi=1 \
testlist=mmp

Change-Id: I945f4eb7839400e75b372fc0cc9ad9455ccb5668
Signed-off-by: Jian Yu <jian.yu@intel.com>
Reviewed-on: https://review.whamcloud.com/27253
Tested-by: Jenkins
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9526 spec: Improve systemd compat in spec file 15/27215/5
Giuseppe Di Natale [Fri, 19 May 2017 20:23:54 +0000 (13:23 -0700)]
LU-9526 spec: Improve systemd compat in spec file

Few minor edits that make the systemd compatibility
in the lustre.spec file cleaner.

Signed-off-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Change-Id: I02076c7806f2c7cb318a505943dca0ca5a030093
Reviewed-on: https://review.whamcloud.com/27215
Reviewed-by: Christopher J. Morrone <morrone2@llnl.gov>
Tested-by: Jenkins
Reviewed-by: Minh Diep <minh.diep@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-9289 nodemap: fix fileset string length issue 35/26335/7
Sebastien Buisson [Tue, 4 Apr 2017 09:51:00 +0000 (18:51 +0900)]
LU-9289 nodemap: fix fileset string length issue

In nodemap_fileset_seq_write(), it is necessary to allocate count+1
for nm_fileset in order to have a '0' at the end of the string got
with copy_from_user().

Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: Id170e51648a8483c8d343d9f99f115bc04f798b3
Reviewed-on: https://review.whamcloud.com/26335
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9229 osc: osc page lru list race 86/26086/4
Bobi Jam [Mon, 14 Mar 2016 02:53:39 +0000 (10:53 +0800)]
LU-9229 osc: osc page lru list race

In osc_lru_use() the osc page's ops_lru access is not protected, which
could race with osc_lru_del() and ensuing that
client_obd::cl_lru_in_list counter decreased twice for a single page.

Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: I41179112693f77113fdf43d3f859bf778d7bbc44
Reviewed-on: https://review.whamcloud.com/26086
Tested-by: Jenkins
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Li Xi <lixi@ddn.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9384 ldiskfs: extra patch for changing extra isize 85/27285/2
Yang Sheng [Thu, 25 May 2017 04:14:45 +0000 (12:14 +0800)]
LU-9384 ldiskfs: extra patch for changing extra isize

Port a patch from upstream for changing extra size:

commit  887a9730614727c4fff7cb756711b190593fc1df
"ext4: keep existing extra fields when inode expands"

Signed-off-by: Yang Sheng <yang.sheng@intel.com>
Change-Id: I9555cb4efd1cbca257536ec699627e8fdb5a5b46
Reviewed-on: https://review.whamcloud.com/27285
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>
3 years agoLU-9549 lnet: prevent assert on ln_state 62/27262/2
Amir Shehata [Wed, 24 May 2017 00:15:49 +0000 (17:15 -0700)]
LU-9549 lnet: prevent assert on ln_state

lnet_peer_primary_nid() is called from lnet_parse. It checks
ln_state outside the net lock, causing a race condition
during shutdown where the code expects the state to be
running, but it's stopping or shutdown.

Fixed the issue by renaming lnet_peer_primary_nid() to
lnet_peer_primary_nid_locked(). This function is now called
when lnet_net_lock is held in lnet_parse().

In lnet_create_reply_msg() we already have access to the
msg_txpeer, so we lookup the primary_nid directly

Signed-off-by: Amir Shehata <amir.shehata@intel.com>
Change-Id: I0518cdbec95b38bd8690517320b601676ae259f0
Reviewed-on: https://review.whamcloud.com/27262
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: Sonia Sharma <sonia.sharma@intel.com>
Reviewed-by: Olaf Weber <olaf.weber@hpe.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9384 ldiskfs: port extra isize patches to sles12sp2 44/27244/4
Yang Sheng [Tue, 23 May 2017 03:54:57 +0000 (11:54 +0800)]
LU-9384 ldiskfs: port extra isize patches to sles12sp2

Port 3 extra isize patches for sles12sp2 as below:

commit e3014d14a81edde488d9a6758eea8afc41752d2d
       "ext4: fixup free space calculations when expanding inodes"
commit 94405713889d4a9d341b4ad92956e4e2ec8ec2c2
       "ext4: replace bogus assertion in ext4_xattr_shift_entries()"
commit 887a9730614727c4fff7cb756711b190593fc1df
       "ext4: keep existing extra fields when inode expands"

Signed-off-by: Yang Sheng <yang.sheng@intel.com>
Change-Id: Iab0914d0010436aa26d99b78b2ae4acea783fb7d
Reviewed-on: https://review.whamcloud.com/27244
Tested-by: Jenkins
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>