Whamcloud - gitweb
fs/lustre-release.git
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>
3 years agoLU-9490 llite: return v1/v3 layout for legacy app 83/27183/6
Niu Yawei [Thu, 18 May 2017 07:12:54 +0000 (03:12 -0400)]
LU-9490 llite: return v1/v3 layout for legacy app

Legacy app such as ADIO fetches LOVEA by ioctl LL_IOC_LOV_GETSTRIPE
and treats file layout as v1/v3 blindly, we'd return a reasonable
v1/v3 in this case.

Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: I95694c3e32013c75da097f2f6ae4e8915503596e
Reviewed-on: https://review.whamcloud.com/27183
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9449 tools: component add to no stripe info file 44/26944/6
Niu Yawei [Thu, 4 May 2017 12:35:18 +0000 (08:35 -0400)]
LU-9449 tools: component add to no stripe info file

When add component by 'lfs setstripe --component-add' to a
file without LOVEA, it'll be turned into a 'lfs setstripe' operation
internally.

Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: I4ead7fae5ba2d0c4427b820e0506b507ef17a43b
Reviewed-on: https://review.whamcloud.com/26944
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
3 years agoLU-9424 tools: v1/v3 as composite layout 60/27060/6
Niu Yawei [Thu, 11 May 2017 05:54:43 +0000 (01:54 -0400)]
LU-9424 tools: v1/v3 as composite layout

This patch changed 'lfs getstripe' & 'lfs find' to treat v1/v3
layout as single component composite layout, the component
attributes of the v1/v3 are:

component-count=0, (to distinguish with real composite file)
component-id=0,
component-flags=init/0 (file: init, dir: 0),
component-start=0,
component-end=eof.

When there is no specific component options provided,
'lfs getstripe' will keep the old output format of v1/v3.

Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: Ica5c958a964b16d26a7833ec2676c408f7f2e46c
Reviewed-on: https://review.whamcloud.com/27060
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
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>
3 years agoLU-9338 hsm: cache agent record locations 01/26901/5
John L. Hammond [Tue, 23 Feb 2016 17:26:00 +0000 (11:26 -0600)]
LU-9338 hsm: cache agent record locations

Create a cookie indexed hash of record locations for the agent actions
log. Use this cache to avoid linear scans of the log in HSM RPC
handlers that must update given entries of the log.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I1b9bb0746e88fb0bed81fe1174b5d3c7abac1211
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Faccini Bruno <bruno.faccini@intel.com>
Signed-off-by: Minh Diep <minh.diep@intel.com>
Reviewed-on: https://review.whamcloud.com/26901
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Ben Evans <bevans@cray.com>
Reviewed-by: Quentin Bouget <quentin.bouget@cea.fr>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9397 ksocklnd: move remaining time handling to 64 bits 13/26813/9
James Simmons [Tue, 23 May 2017 06:50:02 +0000 (02:50 -0400)]
LU-9397 ksocklnd: move remaining time handling to 64 bits

Examination of the ksocklnd time handle revealed that the
code only requires second level precision. Since this is
the case we can move away from using jiffies to time64_t.
This allows us to be independent of the HZ settings in
addition to making it clear what is time handling, using
time64_t verses unsigned long. In the process we remove
many of the various libcfs time wrappers as well.

Change-Id: I968630ef94febd4bff703fb633e677996939f95b
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: https://review.whamcloud.com/26813
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Amir Shehata <amir.shehata@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9371 tools: handle component options properly 66/26766/13
Niu Yawei [Fri, 21 Apr 2017 01:44:09 +0000 (21:44 -0400)]
LU-9371 tools: handle component options properly

'lfs find' should match the file when any individual component of
the file matches all criteria. The component options should be
combined checking against individual component are:
--component-start, --component-end and --component-flags.

Fixed man page and usage message for 'lfs find':
'+N' actually means more than N, but not 'AT LEAST'
'-N' actually means less than N, but not 'AT MOST'

Test-Parameters: testlist=sanity-pfl
Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: Ibdcd3167eb4b2de6d1754b9de563d3ec46828379
Reviewed-on: https://review.whamcloud.com/26766
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-9448 lnet: handle empty CPTs 45/27145/3
Amir Shehata [Wed, 24 May 2017 02:44:21 +0000 (19:44 -0700)]
LU-9448 lnet: handle empty CPTs

Make the LND code handle empty CPTs.

If a scheduler is associated with an empty CPT it will have no
threads created. If a NID hashes to that CPT, then pick the
next scheduler which does have at least 1 started thread.
Associate the connection with the CPT of the selected scheduler

Test-Parameters: trivial
Signed-off-by: Amir Shehata <amir.shehata@intel.com>
Change-Id: I8ed83f295fe9852537d4bb063a4d8271c6a45c2c
Reviewed-on: https://review.whamcloud.com/27145
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-2049 tests: Add GRANT_CHECK_LIST to sanity 19/21619/12
Nathaniel Clark [Mon, 1 Aug 2016 20:23:40 +0000 (16:23 -0400)]
LU-2049 tests: Add GRANT_CHECK_LIST to sanity

Test GRANT_CHECK_LIST across a selection of sanity.

Fix check_grant() to account for grant precreate and grant pending and
subtract it from total grant on OSTs.

Test-Parameters: trivial osscount=2 mdscount=2 mdtcount=1 ostcount=2 mdtfilesystemtype=zfs ostfilesystemtype=zfs testlist=sanity
Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: I05b9f994033e8edf92bf30a17f74f2a0f6bee462
Reviewed-on: https://review.whamcloud.com/21619
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-9485 test: revert a change from LU-5361 48/27148/6
Jinshan Xiong [Tue, 16 May 2017 22:53:37 +0000 (15:53 -0700)]
LU-9485 test: revert a change from LU-5361

Revert the changes from patch 5c315184152 in test-framework.sh
that caused wait_osc_import_state() not working.

Test-Parameters: trivial \
mdtfilesystemtype=zfs ostfilesystemtype=zfs \
testlist=conf-sanity,conf-sanity,conf-sanity

Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: Ic20d5d7fa7344383d5999aa2684b736e64309ebb
Reviewed-on: https://review.whamcloud.com/27148
Tested-by: Jenkins
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8964 clio: Parallelize generic I/O 68/26468/17
Dmitry Eremin [Thu, 30 Mar 2017 19:38:56 +0000 (22:38 +0300)]
LU-8964 clio: Parallelize generic I/O

Add parallel version of cl_io_loop() function which use information
about stripes from LOV layer and process them in parallel.
This feature is disabled by default. To enable it you should run
"lctl set_param llite.*.pio=1" command.

IOR results on KNL for:
access             = file-per-process
ordering in a file = sequential offsets
ordering inter file= no tasks offsets
clients            = 1 (1 per node)
repetitions        = 1
blocksize          = 128 GiB
aggregate filesize = 128 GiB

xfsize pio Write Read
16 none 170.46 372.12
16 off 370.46 926.53
16 on 668.49 899.55
32 off 368.75 908.95
32 on 469.54 987.64

IOR results on Broadwell Xeon for:
access             = file-per-process
ordering in a file = sequential offsets
ordering inter file= no tasks offsets
clients            = 1 (1 per node)
repetitions        = 1
xfersize           = 16 MiB
blocksize          = 128 GiB
aggregate filesize = 128 GiB

pio Write Read
none 1419.80 1277.88
off 1348.98 2245.84
on  990.76 2320.08

The scalability IOR results on other Broadwell Xeon for:
access             = file-per-process
ordering in a file = sequential offsets
ordering inter file= no tasks offsets
repetitions        = 1
xfersize           = 4 MiB
blocksize          = 8 GiB

Threads pio Write Read
 32 off 9358.38 2649.28
 32 on 9147.14 2677.44
 64 off 8538.65 2811.05
 64 on 8944.19 2908.44
128 off 7978.61 2937.03
128 on 8613.91 2928.44

The numbers are in ‘MB/s’

Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Change-Id: Id028faba1726fb377d0e903e8b8095d5ea9d1ee2
Reviewed-on: https://review.whamcloud.com/26468
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-8964 libcfs: Introduce parallel tasks framework 74/24474/26
Dmitry Eremin [Tue, 20 Dec 2016 09:10:05 +0000 (12:10 +0300)]
LU-8964 libcfs: Introduce parallel tasks framework

In this patch new API for parallel tasks execution is introduced.
This API based on Linux kernel padata API which is used to perform
encryption and decryption on large numbers of packets without
reordering those packets.

It was adopted for general use in Lustre for parallelization of
various functionality. The first place of its usage is parallel I/O
implementation.

The first step in using it is to set up a cfs_ptask structure to
control of how this task are to be run:

    #include <libcfs/libcfs_ptask.h>

    int cfs_ptask_init(struct cfs_ptask *ptask, cfs_ptask_cb_t cbfunc,
                       void *cbdata, unsigned int flags, int cpu);

The cbfunc function with cbdata argument will be called in the process
of getting the task done. The cpu specifies which CPU will be used for
the final callback when the task is done.

The submission of task is done with:

    int cfs_ptask_submit(struct cfs_ptask *ptask,
                         struct cfs_ptask_engine *engine);

The task is submitted to the engine for execution.

In order to wait for result of task execution you should call:

    int cfs_ptask_wait_for(struct cfs_ptask *ptask);

The tasks with flag PTF_ORDERED are executed in parallel but complete
into submission order. So, waiting for last ordered task you can be sure
that all previous tasks were done before this task complete.

Test-Parameters: trivial
Change-Id: I36d9802226f9b6fae627594a86ad1a83f7bc6b0c
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: https://review.whamcloud.com/24474
Reviewed-by: Jinshan Xiong <jinshan.xiong@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-9513 liblustre: always check return value 54/27154/3
Niu Yawei [Wed, 17 May 2017 08:07:07 +0000 (04:07 -0400)]
LU-9513 liblustre: always check return value

Always check if the return value of __llapi_layout_cur_comp() is
NULL.

Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: Ibc803de5f27b981b0daa5e7be1a18adde9a46a18
Reviewed-on: https://review.whamcloud.com/27154
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9503 kernel: kernel update [SLES11 SP4 3.0.101-100] 32/27132/6
Bob Glossman [Mon, 15 May 2017 19:45:05 +0000 (12:45 -0700)]
LU-9503  kernel: kernel update [SLES11 SP4 3.0.101-100]

Update SLES11 SP4 kernel to 3.0.101-100
Refresh one ldiskfs patch for ext4 context changes.

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

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: Ia392004c12dda9d49c0f596b166f333e7fcae590
Reviewed-on: https://review.whamcloud.com/27132
Tested-by: Jenkins
Reviewed-by: Minh Diep <minh.diep@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9459 kernel: kernel update [SLES12 SP2 4.4.59-92.17] 95/27095/6
Bob Glossman [Fri, 5 May 2017 22:14:02 +0000 (15:14 -0700)]
LU-9459 kernel: kernel update [SLES12 SP2 4.4.59-92.17]

Update target and kernel_config files for new version

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

Change-Id: I3b47a8c3a6f0f6c6f63dba97be769ab653fc6cb6
Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-on: https://review.whamcloud.com/27095
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-9482 hsm: release restore lock without object (part2) 33/27033/4
Quentin Bouget [Wed, 10 May 2017 06:54:29 +0000 (08:54 +0200)]
LU-9482 hsm: release restore lock without object (part2)

In the cleanup phase of mdt_hsm_cdt_stop(), there is no need to
recursively unlock the mdt_objects that were to be restored.

Signed-off-by: Quentin Bouget <quentin.bouget@cea.fr>
Change-Id: I4d9212966722d4a2fcecc26210308ea51a200dcd
Reviewed-on: https://review.whamcloud.com/27033
Reviewed-by: Henri Doreau <henri.doreau@cea.fr>
Tested-by: Jenkins
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-4423 libcfs: remove CFS_TIME_T definition 25/27025/2
Arnd Bergmann [Tue, 9 May 2017 22:11:03 +0000 (18:11 -0400)]
LU-4423 libcfs: remove CFS_TIME_T definition

The CFS_TIME_T macro serves no real purpose as we stopped using time_t
and changed over to time64_t, so we can remove the last remaining uses
of this.

Two uses of this macro are incorrect and refer to jiffies values
rather than time_t, and one refers to an inode timespec that gets
changed separately.

Linux-commit: 93d3a405a168fba4450bdda793149e3cd4174736

Change-Id: I548ec8fffc9c46b8b2025b094f1e5d9cd469e3b7
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: https://review.whamcloud.com/27025
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
3 years agoLU-9333 osd: few cleanups to support gcc6 84/26584/11
Alex Zhuravlev [Mon, 22 May 2017 02:14:18 +0000 (22:14 -0400)]
LU-9333 osd: few cleanups to support gcc6

few cleanups to support gcc6

Change-Id: Ibe664e87ff67eb3d34ce09c9a1892e55a63ab2cb
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/26584
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8956 llite: set sec ctx on client's inode at create time 26/24426/8
Sebastien Buisson [Fri, 9 Sep 2016 13:29:23 +0000 (15:29 +0200)]
LU-8956 llite: set sec ctx on client's inode at create time

On client side, security context must be set on the inode of
every new dir or file that is being created.

With LL_SBI_FILE_SECCTX, security context is obtained from the
dentry thanks to a call to ll_dentry_init_security(). And it is
saved to security.xxx xattr directly on MDS side when processing
the create request. So it is only necessary to call
security_inode_notifysecctx() to set the sec ctx on the client's
inode.

Without LL_SBI_FILE_SECCTX, security context can only be obtained
from the inode, ie after the file has been created on MDS side.
So use ll_inode_init_security() that will set the sec ctx on the
client's inode, and at the same time save it on disk to
security.xxx xattr, generating an additional request to the MDS.

Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I08b7828db6a4106cca0e78e57bed2967b86a922c
Reviewed-on: https://review.whamcloud.com/24426
Reviewed-by: Faccini Bruno <bruno.faccini@intel.com>
Tested-by: Jenkins
Reviewed-by: Jean-Baptiste Riaux <riaux.jb@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9090 ofd: increase default OST BRW size to 4MB 36/25336/15
Andreas Dilger [Wed, 17 May 2017 06:42:23 +0000 (23:42 -0700)]
LU-9090 ofd: increase default OST BRW size to 4MB

Increase the default maximum bulk RPC size reported by OSTs to the
clients to 4MB.  This has shown to improve performance for tested
workloads under a variety of conditions, and is already the defacto
standard for new installations.

Clients will still negotiate their preferred and supported BRW size
with the OSTs at connection time.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: Id213e598bde14ed53b78ec230c7ae9aa5f3ebbe5
Reviewed-on: https://review.whamcloud.com/25336
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9507 lnd: Don't Assert On Reconnect with MultiQP 39/27139/3
Doug Oucharek [Tue, 16 May 2017 16:27:50 +0000 (09:27 -0700)]
LU-9507 lnd: Don't Assert On Reconnect with MultiQP

LU-8943 activated the ability to have multiple connections
between peers.  If any of those connections need to be
reconnected (i.e. parameter renegotiation), we were getting
an assert from kiblnd_reconnect_peer() which was not changed
to allow for having multiple connections ongoing at the
same time.

This patch gets rid of the assert from kiblnd_reconnect_peer()
which is no longer valid after LU-8943.

Signed-off-by: Doug Oucharek <doug.s.oucharek@intel.com>
Change-Id: I9cc7fae8836f2648603018fac38a88e3f90ec190
Reviewed-on: https://review.whamcloud.com/27139
Reviewed-by: Amir Shehata <amir.shehata@intel.com>
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@yahoo.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-9312 hsm: convert cdt_llog_lock to a rw semaphore 03/26803/6
John L. Hammond [Wed, 17 Jun 2015 22:46:09 +0000 (15:46 -0700)]
LU-9312 hsm: convert cdt_llog_lock to a rw semaphore

Convert struct coordinator:cdt_llog_lock from a mutex to a rw
semaphore. Add a flag to cdt_llog_process() to indicate whether a read
or write lock is needed.

Change-Id: Ie5c14d8eccda22731ad0ad9594bee7db99fe9cfd
Signed-off-by: John L. Hammond <john.hammond@intel.com>
Reviewed-on: https://review.whamcloud.com/26803
Tested-by: Jenkins
Reviewed-by: Ben Evans <bevans@cray.com>
Reviewed-by: Quentin Bouget <quentin.bouget@cea.fr>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8998 tools: parse optional argument properly 91/26491/13
Niu Yawei [Wed, 5 Apr 2017 07:54:15 +0000 (03:54 -0400)]
LU-8998 tools: parse optional argument properly

Use standard way '-S[opt_arg]' or '--long[=opt_arg]' to specify
optional arguments for 'lfs getstripe', the former way of parsing
optional argument is flawed.

Reverted use of '+' (at least), '-' (at most) for --component-start
and --component-end options.

Support "EOF/eof/-1" for the --component-end of 'lfs getstripe' &
'lfs find'.

Updated man pages and test scripts accordingly.

Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: I51980e9186675e3668a4b40a1edc5da6d2a1801c
Reviewed-on: https://review.whamcloud.com/26491
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoRevert "LU-8359 ldlm: Wrong evict during failover" 00/27300/2
Oleg Drokin [Fri, 26 May 2017 04:00:11 +0000 (04:00 +0000)]
Revert "LU-8359 ldlm: Wrong evict during failover"

Mike points out that this patch actaully does not fix
anything and just adds another problem instead

This reverts commit c60e949e3b9f7ff19e1a644210cc764ee150ad8b.

Change-Id: I727eaee8dace8dd429451e4b6fcefbf66b940c30
Reviewed-on: https://review.whamcloud.com/27300
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Tested-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9183 ptlrpc: handle posix_acl: xattr representation cleanups 92/25892/17
Dmitry Eremin [Tue, 7 Mar 2017 18:03:53 +0000 (21:03 +0300)]
LU-9183 ptlrpc: handle posix_acl: xattr representation cleanups

In commit 2211d5ba5c6c4e972ba6dbc912b2897425ea6621 typedef of
posix_acl_xattr_{header,entry} was removed and replaced with
struct posix_acl_xattr_{header,entry} declaration. Also member
a_entries was removed from struct posix_acl_xattr_header.

Since we have to support older kernels this patch does the
opposite of what was done upstream in that we treat struct
posix_acl_xattr_{header,entry} of newer kernels as the typedef
used by older kernels.

Change-Id: I880f73d495dc6c35a1671b49e509350118f6e154
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: https://review.whamcloud.com/25892
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9521 tests: Avoid cleanup() being called twice. 60/27160/3
Parinay Kondekar [Wed, 17 May 2017 12:59:46 +0000 (18:29 +0530)]
LU-9521 tests: Avoid cleanup() being called twice.

/usr/bin/*-survey when ran,
- calls cleanup() twice, resulting in non-zero exit status,
- and attempts to cleanup already cleaned/detached echo client,
  resulting in invalid argument.

This patch fixes the same.

Test-Parameters: trivial testlist=obdfilter-survey
Signed-off-by: Parinay Kondekar <Parinay.Kondekar@seagate.com>
Change-Id: I5bb1fe5d7e6adf15e81d88501d6edbda1c5ef3c3
Reviewed-on: https://review.whamcloud.com/27160
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
3 years agoLU-8364 ldiskfs: fixes for failover mode for RHEL7.3 77/27077/4
Yang Sheng [Thu, 11 May 2017 17:57:23 +0000 (01:57 +0800)]
LU-8364 ldiskfs: fixes for failover mode for RHEL7.3

When ldiskfs runs in failover mode with read-only disk, it
may lose part of allocation updates and fail while mounting
fs due to group descriptor checks before journal replay.
Don't produce panics with on-disk checks in read-only mode.

Include ext4-dont-check-before-replay and ext4-dont-check-in-ro
patches in the RHEL7.3 series.

The check-ro patch should be ported in to RHEL7.3.

Signed-off-by: Yang Sheng <yang.sheng@intel.com>
Change-Id: Icd4b899f9c48040c2453c4d759149e323fa33e18
Reviewed-on: https://review.whamcloud.com/27077
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-9413 llite: llite.stat_blocksize param for fixed st_blksize 69/26869/11
Andrew Perepechko [Thu, 27 Apr 2017 16:01:23 +0000 (19:01 +0300)]
LU-9413 llite: llite.stat_blocksize param for fixed st_blksize

llite.stat_blocksize is added to allow configurable st_blksize
for stat(2). The latter is treated incorrectly by some
applications. For example, glibc pre-2.25 uses this value for
stdio buffering which completely ruins performance with random
reads.

The patch changes the behaviour of getattr rather than inode
initialization so that change of the setting causes immediate
effect without the need of reclaiming existing inodes.

The patch is similar to the patch from bz # 12739 by Aurelien
Degremont.

Change-Id: Ic6ab3fea40940892b740b8e87347dbb361619e8b
Signed-off-by: Andrew Perepechko <andrew.perepechko@seagate.com>
Reviewed-on: https://review.whamcloud.com/26869
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alexander Zarochentsev <alexander.zarochentsev@seagate.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9140 nrs: calculate the measured rate according to dd runtime 10/27110/4
Qian Yingjin [Mon, 15 May 2017 14:04:48 +0000 (22:04 +0800)]
LU-9140 nrs: calculate the measured rate according to dd runtime

This patch help to calculate the measured IOPS by dd according
to dd runtime, instead of obtaining the result from the
performance data of dd output which value changes according to
its unit: 'MB/s', 'GB/s' or 'kB/s'.

Change-Id: Iace926d5c001f20b1c1d89ad6124d14a80316e86
Test-Parameters: trivial testlist=sanityn,sanityn,sanity
Signed-off-by: Qian Yingjin <qian@ddn.com>
Reviewed-on: https://review.whamcloud.com/27110
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Wang Shilong <wshilong@ddn.com>
3 years agoLU-6707 tests: Add ability to skip tests in POSIX 12/27012/3
James Nunez [Tue, 9 May 2017 16:36:27 +0000 (10:36 -0600)]
LU-6707 tests: Add ability to skip tests in POSIX

Although the POSIX test suite only has a single sub test,
there are some times when you may need to exclude this
test from being run.

We need to add the ability to skip subtests in the POSIX
test suite.

Test-Parameters: trivial
Signed-off-by: James Nunez <james.a.nunez@intel.com>
Change-Id: Idb051bc7ced02c9f09190874b5e7dacb3c6ad6ce
Reviewed-on: https://review.whamcloud.com/27012
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Saurabh Tandan <saurabh.tandan@intel.com>
Reviewed-by: Wei Liu <wei3.liu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-2049 grant: Fix grant interop with pre-GRANT_PARAM clients 53/25853/14
Nathaniel Clark [Tue, 7 Mar 2017 13:37:46 +0000 (08:37 -0500)]
LU-2049 grant: Fix grant interop with pre-GRANT_PARAM clients

Fix a performance regression with pre-GRANT_PARAM clients.
This patch brings the grant allocation logic back into line with how
servers prior to GRANT_PARAM support allocated grant space.

Test-Parameters: clientdistro=el6.6 clientjob=lustre-b2_7 clientbuildno=29 testlist=sanity-quota mdscount=1 mdtcount=1 ostcount=2 envdefinitions=SANITY_QUOTA_EXCEPT="36"
Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: I63fd5b91b499936b74d2dd21c1215e0b006af085
Reviewed-on: https://review.whamcloud.com/25853
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-7988 hsm: change the cdt event flags to a simple boolean 89/22789/14
Frank Zago [Tue, 27 Sep 2016 16:24:09 +0000 (12:24 -0400)]
LU-7988 hsm: change the cdt event flags to a simple boolean

Change the coordinator flag into a boolean event since only one bit is
now used. Do not include lustre_net.h as it's not necessary anymore.

Test-Parameters: trivial testlist=sanity-hsm
Signed-off-by: frank zago <fzago@cray.com>
Change-Id: I15dc10125af97f6244c98b421a262f320b79158b
Reviewed-on: https://review.whamcloud.com/22789
Reviewed-by: Patrick Farrell <paf@cray.com>
Reviewed-by: Quentin Bouget <quentin.bouget@cea.fr>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Ben Evans <bevans@cray.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoNew tag 2.9.58 2.9.58 v2_9_58 v2_9_58_0
Oleg Drokin [Tue, 23 May 2017 05:46:00 +0000 (01:46 -0400)]
New tag 2.9.58

Change-Id: Ifb7a33a06cb953de0472693cd7d892a7685d8983
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9303 doc: man pages for snapshot components 53/26453/5
Fan Yong [Sat, 13 May 2017 23:39:18 +0000 (07:39 +0800)]
LU-9303 doc: man pages for snapshot components

Including the separated lctl-barrier and lctl-snapshot man
pages, the lctl-fork-lcfg and lctl-erase-lcfg sections in
the lctl man page. Also some other small cleanup.

Test-parameters: trivial

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Ied60b824afcfab5d2d030f12d39c9aa1bab0969a
Reviewed-on: https://review.whamcloud.com/26453
Tested-by: Jenkins
Reviewed-by: Joseph Gmitter <joseph.gmitter@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-4423 selftest: use jiffies_to_*() instead of cfs_duration_usec 19/27019/3
Arnd Bergmann [Tue, 9 May 2017 19:06:43 +0000 (15:06 -0400)]
LU-4423 selftest: use jiffies_to_*() instead of cfs_duration_usec

The cfs_duration_usec() function has a timeval as its output, which we
want to avoid in general because of the y2038 problem.

There are only two locations remaining in lustre, so we can for now
eplace one with jiffies_to_timeval(), which is a generic kernel function
that does the same thing, the other can just use jiffies_to_usecs()
and completely avoid the timeval.

This is not a full solution yet, but it's a small step that lets us
build a larger portion of lustre without this reference to timeval in
a header file, and avoid triggering automated checking tools that wants
to warn about timeval.

Linux-commit: 70513c5d17b9812cc218e8b4c7826ebb5f375d9a

Test-Parameters: trivial testlist=lnet-selftest

Change-Id: If39f4d4857a2b3210bb0dc634b8bb42530df83dc
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: https://review.whamcloud.com/27019
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: Olaf Weber <olaf.weber@hpe.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9412 lfs: A invalid memory write in llapi_layout_to_lum 58/26858/4
Bobi Jam [Thu, 27 Apr 2017 10:29:09 +0000 (18:29 +0800)]
LU-9412 lfs: A invalid memory write in llapi_layout_to_lum

When lum is realloc(), the comp_v1 needs to be updated, otherwise
it could point to the old invalid memory area.

Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: I4493e5f13bce22dae07200bada14ba2349635890
Reviewed-on: https://review.whamcloud.com/26858
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9330 osp: make variables match proc tunables 71/26571/7
Andreas Dilger [Tue, 4 Apr 2017 23:21:21 +0000 (17:21 -0600)]
LU-9330 osp: make variables match proc tunables

Make the osp_syn_* and osp_max_rpcs_* function names consistent with
the tunable names in proc so that they are easier to find.

osp_max_rpcs_in_prog_seq_show()->osp_max_rpcs_in_progress_seq_show()
osp_max_rpcs_in_prog_seq_write()->osp_max_rpcs_in_progress_seq_write()
osp_syn_changes_seq_show()->osp_sync_changes_seq_show()
osp_syn_changes_seq_write()->osp_sync_changes_seq_write()
osp_syn_in_flight_seq_show()->osp_sync_rpcs_in_flight_seq_show()
osp_syn_in_prog_seq_show()->osp_sync_rpcs_in_progress_seq_show()

This entails renaming the osp_syn_* function names consistent with the
function names, so change _syn_ -> _sync_, _prog_ -> _progress_,
and _rpc_ -> _rpcs_.

Make osp_sync_check_for_work() a proper function rather than having
both a macro and __osp_sync_check_for_work() as a function that just
calls the macro.

Remove unused field opd_syn_sync_in_progress.

Test-Parameters: trivial
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I537e04fdce7eea194f1a9567b6e5c3ccee2cab07
Reviewed-on: https://review.whamcloud.com/26571
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-6401 uapi: turn lustre_param.h into a proper UAPI header 25/24325/13
James Simmons [Wed, 3 May 2017 20:00:21 +0000 (16:00 -0400)]
LU-6401 uapi: turn lustre_param.h into a proper UAPI header

Move all the kernel specific function prototypes from
lustre_param.h into obd_config.h which is a kernel only
header. The inline functions lustre_is_*_valid are used
only by user land so we can remove them. Remove the user
land error checking with lustre_is_*_valid() since its
the job of the kernel to validate the date passed in.
The libcfs.h header shouldn't be exposed to user land
so remove it.

Change-Id: I6b6b4fe8f4d6799608c0e74318afecb85168ad54
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: https://review.whamcloud.com/24325
Tested-by: Jenkins
Reviewed-by: Ben Evans <bevans@cray.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9019 libcfs: migrate watchdog to 64 bit time 94/26994/2
James Simmons [Mon, 8 May 2017 20:30:12 +0000 (16:30 -0400)]
LU-9019 libcfs: migrate watchdog to 64 bit time

The watchdog computes timestamps from timeval, which overflows
in 2038 on 32-bit systems. This changes the results output to
timespec64 type to avoid the overflow. The lcw_last_touched
field is changed to ktime_t since better than seconds resolution
is wanted. For lcw_last_watchdog it is changed to time64_t since
we only care about seconds percision. Both changes will avoid
the 2038 overflow issue and the HZ variablity across platforms
for jiffies.

Change-Id: If81f60a408db956540c563fc695f729cd67cdd9e
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: https://review.whamcloud.com/26994
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Olaf Weber <olaf.weber@hpe.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-8659 tests: use runcon in sanity-selinux 62/23962/14
Sebastien Buisson [Fri, 25 Nov 2016 16:49:08 +0000 (17:49 +0100)]
LU-8659 tests: use runcon in sanity-selinux

In order to switch to other SELinux context, use runcon
instead of 'ssh user@localhost'.
This requires the SELinux policy to allow transitions from
unconfined_t to user_t and guest_t:
allow unconfined_r guest_r;
allow unconfined_r user_r;

Test-Parameters: trivial clientselinux testlist=sanity-selinux
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I8f45dfe71d95d03af0c3577f46c91b47232d958a
Reviewed-on: https://review.whamcloud.com/23962
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Saurabh Tandan <saurabh.tandan@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9491 llite: Handle multi-vec append write correctly 86/27086/3
Jinshan Xiong [Fri, 12 May 2017 17:13:00 +0000 (13:13 -0400)]
LU-9491 llite: Handle multi-vec append write correctly

http://review.whamcloud.com/20256 cleaned up LLITE code by using
iov_iter for old and new kernels. However, it introduced a bug to
append write with multiple iovec buffers where each buffer was written
separately therefore each of them saw the same file size.

Append write with multiple buffers has to be performed atomically.

Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: I89d59e924c7029fedc096d724a946763c7f7006d
Reviewed-on: https://review.whamcloud.com/27086
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9384 ldiskfs: port upstream patches for changing extra isize 45/27045/4
Yang Sheng [Wed, 10 May 2017 17:24:06 +0000 (01:24 +0800)]
LU-9384 ldiskfs: port upstream patches for changing extra isize

Port upstream 5 patches for changing extra isize as below:

commit d0141191a20289f8955c1e03dad08e42e6f71ca9
"ext4: fix xattr shifting when expanding inodes"
commit 418c12d08dc64a45107c467ec1ba29b5e69b0715
"ext4: fix xattr shifting when expanding inodes part 2"
commit 443a8c41cd49de66a3fda45b32b9860ea0292b84
"ext4: properly align shifted xattrs when expanding inodes"
commit e3014d14a81edde488d9a6758eea8afc41752d2d
"ext4: fixup free space calculations when expanding inodes"
commit 94405713889d4a9d341b4ad92956e4e2ec8ec2c2
"ext4: replace bogus assertion in ext4_xattr_shift_entries()"

Signed-off-by: Yang Sheng <yang.sheng@intel.com>
Change-Id: I01414bcc91d8f57ca72281916d35536d3926e570
Reviewed-on: https://review.whamcloud.com/27045
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Wang Shilong <wshilong@ddn.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9472 lnd: Fix FastReg map/unmap for MLX5 15/27015/2
Doug Oucharek [Tue, 9 May 2017 18:07:37 +0000 (11:07 -0700)]
LU-9472 lnd: Fix FastReg map/unmap for MLX5

The FastReg support in ko2iblnd was not unmapping pool items
causing the items to leak.  In addition, the mapping code
is not growing the pool like we do with FMR.

This patch makes sure we are unmapping FastReg pool elements
when we are done with them.  It also makes sure the pool
will grow when we depleat the pool.

Signed-off-by: Doug Oucharek <doug.s.oucharek@intel.com>
Change-Id: I4b4ba4de72941b38c4115a00a992cfd1e78e9e49
Reviewed-on: https://review.whamcloud.com/27015
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andrew Perepechko <andrew.perepechko@seagate.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
3 years agoLU-9340 lov: Initialize component extents unconditionally 97/27097/2
Jinshan Xiong [Fri, 12 May 2017 05:23:20 +0000 (22:23 -0700)]
LU-9340 lov: Initialize component extents unconditionally

LOV should initialize extent of components even they are not
instantiated because lov_io_iter_init() relies on this to issue
write intent RPC.

Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: Iaa452e3a0f3186cfea77866b7a1fabbc9feeec53
Reviewed-on: https://review.whamcloud.com/27097
Tested-by: Jenkins
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>