Whamcloud - gitweb
fs/lustre-release.git
4 years agoLU-7931 tests: setup/cleanup after every test script 08/6208/7
Andreas Dilger [Wed, 30 Mar 2016 08:09:54 +0000 (02:09 -0600)]
LU-7931 tests: setup/cleanup after every test script

Setup and cleanup the filesystem after every acceptance-small.sh
test to try and catch problems with module references when they
happen instead of causing later tests to fail in mysterious ways.

Test-Parameters: trivial
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I0136ef81c601e7b9ee968ac62d674a8b16500c1e
Reviewed-on: http://review.whamcloud.com/6208
Reviewed-by: Jian Yu <jian.yu@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>
4 years agoLU-8303 lnet: make connection more stable with packet loss 74/20874/2
Alexander Boyko [Sun, 19 Jun 2016 12:56:51 +0000 (15:56 +0300)]
LU-8303 lnet: make connection more stable with packet loss

IB network may lose last connection handshake packet.
This problem isn't Lustre specific and described at
https://oss.oracle.com/pipermail/rds-devel/2007-December/000271.html
as example.
Solution is to make conection established if any packet is received
for it.

Signed-off-by: Alexander Boyko <alexander.boyko@seagate.com>
Signed-off-by: Alexey Lyashkov <alexey.lyashkov@seagate.com>
Seagate-bug-id: MRP-2883
Change-Id: I9bf69fdca24e51a5de06c92e9ad76b4e040c5d65
Reviewed-on: http://review.whamcloud.com/20874
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: Alexander Zarochentsev <alexander.zarochentsev@seagate.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6215 build: announce linux kernel 4.4.6 support 43/20543/3
James Simmons [Wed, 1 Jun 2016 15:09:32 +0000 (11:09 -0400)]
LU-6215 build: announce linux kernel 4.4.6 support

Bump kernel version in ChangeLog to latest supported
kernel which is 4.4.6

Change-Id: I920e1139cc7abef82677e9ba79abfdc137dd205b
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/20543
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-8125 nrs: pol_arg should be copied after the policy starts 64/20164/7
Emoly Liu [Fri, 24 Jun 2016 01:21:13 +0000 (09:21 +0800)]
LU-8125 nrs: pol_arg should be copied after the policy starts

NRS policy->pol_arg should be copied to a given policy argument
after the policy starts, otherwise a wrong argument will be saved
and it will cause LBUG when we run "lctl get_param" to get NRS
policy.
sanityn.sh test_77h is added to verify this patch.

Signed-off-by: Emoly Liu <emoly.liu@intel.com>
Change-Id: I5a015bb44fa88f69a4d5347cc2721eb72a57c8ad
Reviewed-on: http://review.whamcloud.com/20164
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Li Xi <lixi@ddn.com>
Reviewed-by: Henri Doreau <henri.doreau@cea.fr>
Reviewed-by: Jean-Baptiste Riaux <riaux.jb@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7623 lnet: remove useless cast 50/18950/9
James Simmons [Thu, 23 Jun 2016 17:38:13 +0000 (13:38 -0400)]
LU-7623 lnet: remove useless cast

In the cleanup of the user land / kernel pointers a
small cleanup was missed which removed a cast no
longer needed for a call of lnet_ping(). This brings
us into sync with the upstream client.

Change-Id: Ib281aaac7f2a1516d8586fbf3d10dee18cd77873
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/18950
Tested-by: Jenkins
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-8022 lnet: Correct position of lnet_ni_decref() 01/21001/2
Doug Oucharek [Mon, 27 Jun 2016 17:34:44 +0000 (10:34 -0700)]
LU-8022 lnet: Correct position of lnet_ni_decref()

In fix http://review.whamcloud.com/#/c/19614/, the call
to lnet_ni_decref() should have followed the routines
which are using the NI.  This patch correct that.

Signed-off-by: Doug Oucharek <doug.s.oucharek@intel.com>
Change-Id: I55fba4904cc6442f63cf03bf2e3614a7946200f7
Reviewed-on: http://review.whamcloud.com/21001
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-4039 tests: ensure osc import in FULL state 31/20931/4
Yang Sheng [Wed, 22 Jun 2016 18:41:12 +0000 (02:41 +0800)]
LU-4039 tests: ensure osc import in FULL state

The osp import may not in FULL state when
replay-single:test_90 start running. It
was caused by test_89, we should waiting
import valid then start next step.

Test-Parameters: trivial testlist=replay-single,replay-single,replay-single,replay-single
Signed-off-by: Yang Sheng <yang.sheng@intel.com>
Change-Id: I93746137c038183bf114619f53654af1bcaa68eb
Reviewed-on: http://review.whamcloud.com/20931
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
4 years agoLU-7759 llite: handle inactive OSTs better in statfs 95/19195/28
Andreas Dilger [Tue, 29 Mar 2016 17:29:57 +0000 (11:29 -0600)]
LU-7759 llite: handle inactive OSTs better in statfs

Change the order of checks for inactive OSCs in lov_prep_statfs_set()
so that administratively disabled OSTs do not generate any output in
"lfs df" at all, to avoid needlessly cluttering the output.

Enable the lazystatfs mount option by default, so that "df" does not
hang when an OST is temporarily offline.

Fix test-framework.sh to use "lfs df $MOUNT" instead of "df $MOUNT" to
determine when recovery is complete, now that "df" does not block.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I993761a7eb120a36a1b80c2822cb6d8011ccab07
Reviewed-on: http://review.whamcloud.com/19195
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-8259 osd-ldiskfs update all *_seq_write() to use "const char __user *buffer" 87/20887/2
Parinay Kondekar [Mon, 20 Jun 2016 11:30:59 +0000 (17:00 +0530)]
LU-8259 osd-ldiskfs update all *_seq_write() to use "const char __user *buffer"

All *_seq_write functions in lustre/osd-ldiskfs/osd_lproc.c declare
buffer as "const char *buffer" and should use "const char __user *buffer"
instead.

This patch takes care of this change.

Change-Id: Ida44679f721a37cf71f327a6f00f3f8857ba0376
Signed-off-by: Parinay Kondekar <parinay.kondekar@seagate.com>
Reviewed-on: http://review.whamcloud.com/20887
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-8176 libcfs: Add file_dentry() & file_inode() wrapper 76/20576/10
Yang Sheng [Mon, 20 Jun 2016 02:34:31 +0000 (22:34 -0400)]
LU-8176 libcfs: Add file_dentry() & file_inode() wrapper

Use file_dentry() & file_inode() wrappers to sync
with upstream.

Signed-off-by: Yang Sheng <yang.sheng@intel.com>
Change-Id: I7e62871789617a07dfe083a60374885099d25d51
Reviewed-on: http://review.whamcloud.com/20576
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-8197 ptlrpc: do not reduce replay request deadline 99/20399/4
Vladimir Saveliev [Sat, 21 May 2016 03:10:43 +0000 (06:10 +0300)]
LU-8197 ptlrpc: do not reduce replay request deadline

New timeout for a replay request sent to a client with early reply is
calculated without taking into account that new deadline for the
replay request on server side is calculated based upon
obd_recovery_timeout. That results in reducing replay deadline which
forces to early disconnect of the client.

Calculate the timeout sent in early reply to a replay request in
according to new deadline of the replay request on server side.

Seagate-bug-id: MRP-3249
Signed-off-by: Vladimir Saveliev <vladimir.saveliev@seagate.com>
Change-Id: I478ca84a9627816be886a077170285f8af4bfc29
Reviewed-on: http://review.whamcloud.com/20399
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Hongchao Zhang <hongchao.zhang@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-8159 osd-ldiskfs: cache xattr in osd-ldiskfs 96/20496/3
Lai Siyao [Tue, 24 May 2016 01:56:08 +0000 (09:56 +0800)]
LU-8159 osd-ldiskfs: cache xattr in osd-ldiskfs

In LU-7660 LOD doesn't cache default striping, so each create will
get it from bottom. LU-7660 has enabled xattr cache in OSP, and
osd-zfs caches xattr already, this patch introduces a similar
mechanism in osd-ldiskfs.

Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Change-Id: I3382119acaf9a819ee2be9737d1eae833e9ea2a4
Reviewed-on: http://review.whamcloud.com/20496
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7702 ldlm: skip lock if export failed 20/18120/9
Alexander Boyko [Wed, 15 Jun 2016 06:12:14 +0000 (14:12 +0800)]
LU-7702 ldlm: skip lock if export failed

This patch resolves IO vs eviction race.
After eviction failed export stayed at stale list,
a client had IO processing and reconnected during it.
A client sent brw rpc with last lock cookie and new connection.
The lock with failed export was found and assert was happened.
(ost_handler.c:1812:ost_prolong_lock_one())
ASSERTION( lock->l_export == opd->opd_exp ) failed:

1. Skip the lock at ldlm_handle2lock if lock export failed.
2. Validation of lock for IO was added at hpreq_check(). The lock
   searching is based on granted interval tree. If server doesn`t
   have a valid lock, it reply to client with ESTALE.
3. A lock prolong was moved at ldlm layer.

Signed-off-by: Alexander Boyko <alexander.boyko@seagate.com>
Seagate-bug-id: MRP-2787
Change-Id: I2177736564c3b8164f1ad3e4cc02dca1704a0e6e
Reviewed-on: http://review.whamcloud.com/18120
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Vitaly Fertman <vitaly.fertman@seagate.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-5614 build: use %kernel_module_package in rpm spec 63/12063/50
Stephen Champion [Tue, 6 Oct 2015 10:16:25 +0000 (15:46 +0530)]
LU-5614 build: use %kernel_module_package in rpm spec

Replace module packages definitions with calls to the vendor defined
%kernel_module_package macro.  This results in many of the rpm packages
changing names from what we are used to in the past.  Each Linux
distribution may name the modules packages slightly differently, most
notably RHEL and SLES choose different naming schemes.  The
%kernel_module_package macro handles these details for us.

For instance, on RHEL7 the packages that contain lustre's kernel modules
become:

  kmod-lustre             (previously in "lustre-modules" package)
  kmod-lustre-osd-ldiskfs (previously in "lustre-osd-ldiskfs" package)
  kmod-lustre-osd-zfs     (previously in "lustre-osd-zfs" package)
  kmod-lustre-tests       (previously in "lustre-tests" package)

On SLES12, the same packages are instead named:

  lustre-kmp-default
  lustre-osd-ldiskfs-kmp-default
  lustre-osd-zfs-kmp-default
  lustre-tests-kmp-default

These kernel module packages give us what is known as "weak-updates".
Instead of compiling Lustre for every minor kernel that is installed,
the weak-updates will automatically symlink the Lustre modules into
and kernel's modules subdirectories if that kernel offers the required
kernel symbols with exactly the same symbol versions.

In addition to changing the package names for all of the Lustre packages
containing kernel modules, the location of the modules in /lib/modules
changes as well.  Each package will put its modules in a subdirectory
matching part of the package name itself (required by the macros on RHEL
systems).  The path name is also different on RHEL and SLES systems
(e.g. "extra" vs. "updates").

Some further path examples are:

  RHEL7, kmod-lustre package:
    /lib/modules/3.10.0-327.18.2.el7_lustre.x86_64/extra/lustre/fs/ost.ko

  SLES12, lustre-kmp-default package:
    /lib/modules/3.12.57-60.35_lustre-default/updates/lustre/fs/ost.ko

  RHEL7, kmod-lustre-osd-ldiskfs package:
    /lib/modules/3.10.0-327.18.2.el7_lustre.x86_64/extra/lustre-osd-ldiskfs/fs/osd_ldiskfs.ko

  SLES12, lustre-osd-ldiskfs-kmp-default package:
    /lib/modules/3.12.57-60.35_lustre-default/updates/lustre-osd-ldiskfs/fs/osd_ldiskfs.ko

Test-Parameters: trivial clientdistro=el6.7 mdsdistro=el6.7 ossdistro=el6.7
Signed-off-by: Stephen Champion <schamp@sgi.com>
Signed-off-by: Alexander Boyko <alexander.boyko@seagate.com>
Change-Id: Ic5351f4bda94eae80eaf349c8490a2c758b15c80
Signed-off-by: Minh Diep <minh.diep@intel.com>
Signed-off-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-on: http://review.whamcloud.com/12063
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7418 tests: avoid background writeout in sanity 29 29/20929/2
Andreas Dilger [Wed, 22 Jun 2016 17:36:10 +0000 (11:36 -0600)]
LU-7418 tests: avoid background writeout in sanity 29

Intermittent failures of sanity.sh test_29 are caused by background
writeout starting (or continuing) after the MDC DLM locks were
cancelled, requiring the layout lock to be re-fetched from the MDS.
Cancelling the DLM locks via "lru_size=clear" is not enough, since
this will not cancel any locks that are currently in use.

Instead, ensure that all the dirty pages from previous tests are
written out so that no new writes are started during the test.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: Ie45965a974e0cd170f969fa122e1762c2361c278
Reviewed-on: http://review.whamcloud.com/20929
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoRevert "LU-5810 tests: add client hostname to lctl mark" 94/20894/3
James Nunez [Tue, 21 Jun 2016 14:56:18 +0000 (14:56 +0000)]
Revert "LU-5810 tests: add client hostname to lctl mark"

Adding hostname to individual lines in test logs broke autotest's
parsing of logs and resulted in no console logs being uploaded to
Maloo. In addition, the way that we added hostname to the log
output was nosier than expect and needs to be reworked.

This reverts commit 9c4156e6fc146a198bb342e28eb246f1076889bd.

Change-Id: I6d7c38fd37edc975bc4f5e1ff5c825d4899af474
Signed-off-by: James Nunez <james.a.nunez@intel.com>
Reviewed-on: http://review.whamcloud.com/20894
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Tested-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7542 obdclass: quiet lockdep recursive lock warning 82/17582/4
Andreas Dilger [Fri, 11 Dec 2015 00:34:58 +0000 (17:34 -0700)]
LU-7542 obdclass: quiet lockdep recursive lock warning

Lockdep complains about potential recursive locking during mount
because the client configuration log is holding a lock on the MGC
obd_device to prevent it from being torn down, while also getting
locks on the MDC and OSC devices as they are instantiated:

 Lustre: Mounted myth-client
 =============================================
 [ INFO: possible recursive locking detected ]
 ---------------------------------------------

 2 locks held by ll_cfg_requeue/1460:
 #0:  (&cli->cl_sem){.+.+..}, at mgc_requeue_thread+0x27d/0x5d8 [mgc]
 #1:  (&cld->cld_lock){+.+...}, at mgc_process_log+0x88/0xc01 [mgc]

 CPU: 3 PID: 1460 Comm: ll_cfg_requeue
 Call Trace:
 [<ffffffff814cb360>] dump_stack+0x4f/0x6f
 [<ffffffff81081d73>] __lock_acquire+0xc06/0xc74
 [<ffffffff81081f4f>] lock_acquire+0x16e/0x194
 [<ffffffff814ce5d7>] down_read+0x4c/0x61
 [<ffffffffa029f370>] sptlrpc_conf_client_adapt+0x95/0x142 [ptlrpc]
 [<ffffffffa03a7a69>] mdc_set_info_async+0xeb/0x420 [mdc]
 [<ffffffffa01ad69e>] class_notify_sptlrpc_conf+0x2f4/0x347 [obdclass]
 [<ffffffffa04a805c>] mgc_process_log+0xa31/0xc01 [mgc]
 [<ffffffffa04a94ef>] mgc_requeue_thread+0x31f/0x5d8 [mgc]
 [<ffffffff81061f77>] kthread+0xfa/0x102

Add a separate lock class for the MGC callpath, since it will always
be held first, and none of the other obd_device locks should ever
be held concurrently.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: Ic36e64608d12dcd4f5b12056e3e2072ca6500c1e
Reviewed-on: http://review.whamcloud.com/17582
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7334 lov: Cleanup lov_stripe proc files 65/20465/6
Giuseppe Di Natale [Tue, 14 Jun 2016 16:34:41 +0000 (12:34 -0400)]
LU-7334 lov: Cleanup lov_stripe proc files

Make lov_stripe* proc files read only. Writing to
these proc files no longer has any impact.

Signed-off-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Change-Id: I5adfbbe529208efef760df22c849e3684a34e187
Reviewed-on: http://review.whamcloud.com/20465
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Jenkins
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
4 years agoLU-8203 tests: Wait for archive operation to be completed. 42/20442/8
Kirtankumar Krishna Shetty [Wed, 25 May 2016 11:33:48 +0000 (17:03 +0530)]
LU-8203 tests: Wait for archive operation to be completed.

As bandwith control is set to 1048576B/s in the test, so
the archive operation takes <= 40 secs to copy 39000000
bytes.

If we dont wait for the on going archive action to finish
then status will remain as STARTED and never becomes
SUCCEED as we call copytool_cleanup soon after archiving
5MB of data and the request will be stuck there for ever.

Sometimes because of previous unclean shutdown of copytool,
test_60 results in failure because of stuck request.

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

Change-Id: I2413c32a617e43fb24e7ca6696026a3c9e1cad00
Seagate-bug-id: MRP-2586
Signed-off-by: Kirtankumar Krishna Shetty <kirtan.shetty@seagate.com>
Reviewed-on: http://review.whamcloud.com/20442
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-8058 lnet: Remove old commented out code 14/20414/4
Ben Evans [Tue, 14 Jun 2016 18:15:34 +0000 (14:15 -0400)]
LU-8058 lnet: Remove old commented out code

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

Signed-off-by: Ben Evans <bevans@cray.com>
Change-Id: I3840513cc68786ded878ba8be6b92f0a180507a2
Reviewed-on: http://review.whamcloud.com/20414
Reviewed-by: Andreas Dilger <andreas.dilger@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>
4 years agoLU-8150 mdt: Track open+create as mknod 46/20246/6
Matt Ezell [Wed, 15 Jun 2016 00:51:07 +0000 (20:51 -0400)]
LU-8150 mdt: Track open+create as mknod

Regular files created with mknod are tracked, but most files are
created as an open with create intent. Track this as a mknod also.

Signed-off-by: Matt Ezell <ezellma@ornl.gov>
Change-Id: I8f6ab9d91d0b31062c7f73f8394a1b12f7963f1c
Reviewed-on: http://review.whamcloud.com/20246
Reviewed-by: Andreas Dilger <andreas.dilger@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>
4 years agoLU-8116 build: Fix libmount configure message 55/20055/3
Christopher J. Morrone [Sat, 7 May 2016 01:53:07 +0000 (18:53 -0700)]
LU-8116 build: Fix libmount configure message

The configure messages for libmount checking were incorrectly nested resulting
in messages like this:

checking whether build with libmount... checking libmount/libmount.h usability... no
checking libmount/libmount.h presence... no
checking for libmount/libmount.h... no
no

This patch unwinds that mistake.

Change-Id: Iec716d8152880902d3e6961cd1d3b821e37c349a
Signed-off-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-on: http://review.whamcloud.com/20055
Tested-by: Jenkins
Reviewed-by: Minh Diep <minh.diep@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
4 years agoLU-7896: do not call lu_site_purge() for single object exceed 82/19082/9
Alex Zhuravlev [Fri, 11 Mar 2016 15:26:47 +0000 (18:26 +0300)]
LU-7896: do not call lu_site_purge() for single object exceed

first of all, this is expensive procedure including a global
mutex and per-bucket spinlocks. also, all the threads observed
exceed will be calling lu_site_purge() and essentially serialized
on that. instead we can let other threads to skip the whole
procedure.

Change-Id: Ib5d213c70b5a2f259153ab24d7c3f5a3e97239df
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/19082
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7664 test: set_conf_param_and_check() defect 95/17995/2
Elena Gryaznova [Thu, 14 Jan 2016 12:13:55 +0000 (14:13 +0200)]
LU-7664 test: set_conf_param_and_check() defect

set_conf_param_and_check() should wait update on facet_active_host
instead of facet_host; othewise tests failed on configuration
facet_HOST != facetfailover_HOST

Seagate-bug-id: MRP-2846
Signed-off-by: Elena Gryaznova <elena.gryaznova@seagate.com>
Reviewed-by: Sergey Cheremencev <sergey.cheremencev@seagate.com>
Reviewed-by: Vitaly Fertman <vitaly.fertman@seagate.com>
Change-Id: I974f145b3783fec1adb2fc6219ef4bd025a31811
Reviewed-on: http://review.whamcloud.com/17995
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-5092 nodemap: remove nodemap_idx_action, only act on MGS 54/18554/9
Kit Westneat [Mon, 22 Feb 2016 19:27:29 +0000 (14:27 -0500)]
LU-5092 nodemap: remove nodemap_idx_action, only act on MGS

Only the MGS config needs to be modified on config changes.
The target configs will be loaded from the MGS and written
whole to disk.

Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Change-Id: I3114258d6e18d293cdf29ae47a28465f245387de
Reviewed-on: http://review.whamcloud.com/18554
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7403 obd: const correct md_set_lock_data() 72/17072/8
John L. Hammond [Thu, 16 Jun 2016 21:42:00 +0000 (17:42 -0400)]
LU-7403 obd: const correct md_set_lock_data()

Change the __u64 *cookie parameter of md_set_lock_data() to const
struct lustre_handle *lockh.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: Ie6de252a10c532ee395e407ad2aff258773478a8
Reviewed-on: http://review.whamcloud.com/17072
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-8216 ldiskfs: fix journal quota files for RHEL6.8 91/20791/4
Wang Shilong [Wed, 15 Jun 2016 00:04:04 +0000 (08:04 +0800)]
LU-8216 ldiskfs: fix journal quota files for RHEL6.8

When we hit Lustre crash, e2fsck always complains of Quota
accounting mismatch, and sometimes differences are huge.

The problem is that we don't journal quota updates properly, and
with current codes quota files will be only journaled when syncing
the filesystem, which only happens by sync() call or unmount.

RHEL6.8 version of the patch http://review.whamcloud.com/20503

Signed-off-by: Wang Shilong <wshilong@ddn.com>
Change-Id: Id5b580083197555029442338f7feaf59b1ad154c
Reviewed-on: http://review.whamcloud.com/20791
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
4 years agoLU-8220 tests: stripe file over all active OSTs 15/20515/5
Noopur Maheshwari [Tue, 31 May 2016 09:10:32 +0000 (14:40 +0530)]
LU-8220 tests: stripe file over all active OSTs

In test_iozone/parallel-scale-cifs, the iozone command creates the
temporary files under test with default stripe count=1, that is,
both the 256mb files reside on the same OST, over-utilizing the OST,
resulting in Use%=100%(No space left on device).

The fix is to create a sub-directory in the samba server mount
point with a stripe count of -1 (stripe over all available OSTs)
and then run iozone with this sub-directory path, so that all the
temporary files created within this sub-directory, during iozone,
reside on multiple OSTs and OST free space is utilized uniformly.

Since the test suite mounts lustre client on smb server, the "lfs
setstripe" command is executed on the smb server.

Test-Parameters: trivial

Seagate-bug-id: MRP-2179
Signed-off-by: Noopur Maheshwari <noopur.maheshwari@seagate.com>
Change-Id: If225b62848b5266dc51ef791ef0d9c8002f908a5
Reviewed-on: http://review.whamcloud.com/20515
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-8106 lnet: Do not drop message when shutting down LNet 93/19993/2
Doug Oucharek [Wed, 2 Mar 2016 04:08:00 +0000 (12:08 +0800)]
LU-8106 lnet: Do not drop message when shutting down LNet

There is a case in lnet_parse() where we discover that LNet
is shutting down but we continue to use the NI when we drop the
message and end up calling ko2iblnd_check_send_locked() which tries to
allocate from the Tx pool which has been cleaned up already.
This triggers a NULL pointer dereference.

This fix just returns from lnet_parse() when we disover LNet is
shutting down.

Signed-off-by: Doug Oucharek <doug.s.oucharek@intel.com>
Change-Id: Ia8dba848e88b02ed23e2e77adb702c7ad0e60628
Reviewed-on: http://review.whamcloud.com/19993
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Liang Zhen <liang.zhen@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7861 osp: replace the hot spinlock with atomic trackers 11/19211/5
Alex Zhuravlev [Fri, 17 Jun 2016 15:25:04 +0000 (23:25 +0800)]
LU-7861 osp: replace the hot spinlock with atomic trackers

so that background scanning doesn't race with MDS_REINT_UNLINK

Change-Id: I4006be4298ffa841ca4d131ac37c201ff8ea729f
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/19211
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7204 test: handle FSNAME with dashes in replay-single 85b 02/16902/4
Sundar Keshava [Wed, 21 Oct 2015 10:02:05 +0000 (15:32 +0530)]
LU-7204 test: handle FSNAME with dashes in replay-single 85b

If FSNAME contains a dash, test_85b incorrectly parses lctl dl
output. Fix that.
Also changed the checking of before recovery count value
by using numeric comparison instead of string comparison.
Used tabs in place of spaces.

Test-Parameters: trivial testlist=replay-single envdefinitions=ONLY=85b
Seagate-bug-id: MRP-2792
Signed-off-by: HemaHarish <hema.yarramilli@seagate.com>
Change-Id: I392921b837dee573a704a3fec4b35c7bb79136bc
Reviewed-on: http://review.whamcloud.com/16902
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7301 test: do cleanup only if required 87/16887/2
Chennaiah Palla [Tue, 20 Oct 2015 05:58:21 +0000 (11:28 +0530)]
LU-7301 test: do cleanup only if required

change check_and_cleanup_lustre() to do cleanup only if required

Seagate-bug-id: MRP-1257
Signed-off-by: Chennaiah Palla <chennaiah.palla@seagate.com>
Change-Id: I22f3b2a448c78b0468c5d802a370a51aab3c9f8d
Reviewed-on: http://review.whamcloud.com/16887
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>
4 years agoLU-8040 mgc: Apply changelog defaults values in mdd_init0() 54/19854/6
Artem Blagodarenko [Thu, 28 Apr 2016 14:30:53 +0000 (17:30 +0300)]
LU-8040 mgc: Apply changelog defaults values in  mdd_init0()

lctl set_param -P command stores options to params file. This options
are applied in server_start_targets() during target mount. Changelog
apply default options during initialization. So it reset options
applied by "lctl set_param -P".

This patch moves changelogs default value appying before params
processing. So new parameters aplied after default.

Signed-off-by: Artem Blagodarenko <artem.blagodarenko@seagate.com>
Change-Id: Ibb1a8d512844d4fcb66c051441c1864f994d4ded
Reviewed-on: http://review.whamcloud.com/19854
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoNew tag 2.8.55 2.8.55 v2_8_55 v2_8_55_0
Oleg Drokin [Wed, 22 Jun 2016 01:07:49 +0000 (21:07 -0400)]
New tag 2.8.55

Change-Id: Ie0b88ee537b2f76d59a49e3512c834f5314b0eae
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7860 ldlm: revert part of commit 657bbc49 09/20509/4
Bobi Jam [Tue, 31 May 2016 04:18:55 +0000 (12:18 +0800)]
LU-7860 ldlm: revert part of commit 657bbc49

During ldlm_lock_cancel()->ldlm_cancel_callback(), the lock could
possibly be added back to waiting list with no resource lock holding.

Put back the second checking and removing from the waiting list.

Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: I8841422d6e2f6bf92efa24d542583936123ead66
Reviewed-on: http://review.whamcloud.com/20509
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Liang Zhen <liang.zhen@intel.com>
Reviewed-by: Vitaly Fertman <vitaly.fertman@seagate.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-5564 mdt: skip permission check for close 34/15534/8
Hongchao Zhang [Mon, 30 May 2016 16:10:37 +0000 (00:10 +0800)]
LU-5564 mdt: skip permission check for close

When closing a file normally, skip the permission check
for open handle gives us permission.

Change-Id: I74271eb83cdd807940cb6ba37ede05fa9f9751ce
Signed-off-by: Hongchao Zhang <hongchao.zhang@intel.com>
Reviewed-on: http://review.whamcloud.com/15534
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: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-5969 procfs: restore missing newline for version param 09/20809/2
John L. Hammond [Wed, 15 Jun 2016 15:34:50 +0000 (10:34 -0500)]
LU-5969 procfs: restore missing newline for version param

In obd_proc_version_seq_show() restore the missing newline at the end
of the version param value.

Test-Parameters: trivial

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I7f8eecc418ceb3191650d7dfba8d1e2545af631b
Reviewed-on: http://review.whamcloud.com/20809
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-5953 build: use installed OFED by default with dpkg 23/20523/3
Minh Diep [Wed, 12 Nov 2014 14:23:06 +0000 (15:23 +0100)]
LU-5953 build: use installed OFED by default with dpkg

Add support for dpkg based systems (Ubuntu) when detecting installed
OFED drivers.

Lustre-change: http://review.whamcloud.com/16455

Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Minh Diep <minh.diep@intel.com>
Change-Id: Ifb0b1c41e2148a59e894fbf075ae9db5b8fe5297
Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Reviewed-on: http://review.whamcloud.com/20523
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
4 years agoLU-7004 utils: remove "lctl conf_param" deprecation 73/20573/2
Andreas Dilger [Thu, 2 Jun 2016 01:02:09 +0000 (19:02 -0600)]
LU-7004 utils: remove "lctl conf_param" deprecation

The "lctl set_param -P" functionality was intended to replace
"lctl conf_param" with a more uniform interface that matches
the existing "lctl set_param" and "lctl get_param" usage.
However, there are still unresolved issues that need to be
addressed and a longer transition period needed before the
old functionality can be removed.

Remove the deprecation warning for now, rather than bumping it
to some later release.  It can be re-added when "set_param -P"
has been fixed.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: If9a316bda4bf8d889c4072740f0879d9d43ebbe5
Reviewed-on: http://review.whamcloud.com/20573
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6971 cleanup: not support remote client anymore 89/19789/13
Fan Yong [Tue, 10 May 2016 23:09:18 +0000 (07:09 +0800)]
LU-6971 cleanup: not support remote client anymore

There are several obsolete sub commands for lfs to work with
remote client. We do not support that anymore, and should be
deleted along with any kernel code related to remote client.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I06f4348b2b3def5ac4aa75676b1b5b7ccc4ab10e
Reviewed-on: http://review.whamcloud.com/19789
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-8277 scripts: add missing commas in checkpatch.pl 86/20786/2
John L. Hammond [Tue, 14 Jun 2016 18:49:10 +0000 (13:49 -0500)]
LU-8277 scripts: add missing commas in checkpatch.pl

In checkpatch.pl add some missing commas to the table of deprecated
symbols.

Test-Parameters: trivial
Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I409d930db5863b983370c3286d75b357bf4090a1
Reviewed-on: http://review.whamcloud.com/20786
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Patrick Farrell <paf@cray.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-2766 llite: don't ignore layout for group lock request 28/6828/12
Jinshan Xiong [Wed, 8 Jun 2016 03:59:32 +0000 (20:59 -0700)]
LU-2766 llite: don't ignore layout for group lock request

ignore_layout can be set for operations that layout won't be changed,
typically page operations. Ignoring layout change in group lock
request will confuse layout change code at LOV layer and hit
assertion.

Signed-off-by: Henri Doreau <henri.doreau@cea.fr>
Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: I0f628e81d7f61a9b00ab2941ad3bcde4b32ecfe2
Reviewed-on: http://review.whamcloud.com/6828
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7893 osd-zfs: fix error handling in osd_mount() 71/15671/14
Alex Zhuravlev [Tue, 21 Jul 2015 18:20:07 +0000 (21:20 +0300)]
LU-7893 osd-zfs: fix error handling in osd_mount()

Do not try to release objectset if we failed to open it.

Change-Id: I85926d0b0a7fb5faf832a3907eac2324e7e6c07f
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/15671
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
4 years agoLU-3289 gss: Cleanup gss code 27/20727/4
Nathaniel Clark [Fri, 10 Jun 2016 18:44:50 +0000 (14:44 -0400)]
LU-3289 gss: Cleanup gss code

Address some lingering style and code issues that were commented on
but not fixed.

Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: I2396bf3a6a6e3621aa37fd5592eb9eeaeedb06e7
Reviewed-on: http://review.whamcloud.com/20727
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
4 years agoLU-7434 ptlrpc: lost bulk leads to a hang 53/19953/4
Vitaly Fertman [Tue, 1 Mar 2016 23:46:31 +0000 (02:46 +0300)]
LU-7434 ptlrpc: lost bulk leads to a hang

This is a combination of two commits. The original commit from:
http://review.whamcloud.com/17221
and a fix to that commit from:
http://review.whamcloud.com/19758

Description of the original patch:
The reverse order of request_out_callback() and reply_in_callback()
puts the RPC into UNREGISTERING state, which is waiting for RPC &
bulk md unlink, whereas only RPC md unlink has been called so far.
If bulk is lost, even expired_set does not check for UNREGISTERING
state.

The same for write if server returns an error.

This phase is ambiguous, split to UNREG_RPC and UNREG_BULK.

The fix to the original commit was originally pushed against LU-8062.
That fix is described thusly:
LU-8062 test: fix fail_val in recovery-small/115b

The fail_loc OBD_FAIL_OST_ENOSPC is caught in 2 places:
1. ofd_statfs() - where it is checked against the fail_val
and if fail_val matches the OST ID it is caught here
itself and hence test fails.
2. tgt_brw_write() - the actual place where the fail_loc should
be caught.

The patch makes the fail_loc to be caught at the appropriate place
by setting the fail_val to $OSTCOUNT. So even if fail_loc is set
in the statfs part it is not caught there and therefore caught in
tgt_brw_write().

Please note the author of the original patch was Vitaly Fertman
<vitaly.fertman@seagate.com>, and the author of the test fix was
Bhagyesh Dudhediya <bhagyesh.dudhediya@seagate.com>

Test-Parameters: testlist=recovery-small,recovery-small,recovery-small,recovery-small,recovery-small,recovery-small
Signed-off-by: Vitaly Fertman <vitaly.fertman@seagate.com>
Signed-off-by: Bhagyesh Dudhediya <bhagyesh.dudhediya@seagate.com>
Signed-off-by: Chris Horn <hornc@cray.com>
Seagate-bug-id:  MRP-2953, MRP-3206, MRP-3150
Reviewed-by: Andriy Skulysh <andriy.skulysh@seagate.com>
Reviewed-by: Alexey Leonidovich Lyashkov <alexey.lyashkov@seagate.com>
Tested-by: Elena V. Gryaznova <elena.gryaznova@seagate.com>
Change-Id: I17319d40881c41f247c102aafc3a1b0db82d0b4a
Reviewed-on: http://review.whamcloud.com/19953
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Ann Koehler <amk@cray.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7846 tests: test for nodemap fileset in sanity-sec 95/19895/11
Sebastien Buisson [Sat, 30 Apr 2016 16:27:57 +0000 (18:27 +0200)]
LU-7846 tests: test for nodemap fileset in sanity-sec

Add new tests in sanity-sec.sh to test for fileset in nodemap.

Test-Parameters: testlist=sanity-sec
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I7903d0282d15df84e1f48028d3f44094cac20e98
Reviewed-on: http://review.whamcloud.com/19895
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Kit Westneat <kit.westneat@gmail.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7813 utils: improve lfs setstripe pool error message 65/18965/3
Andreas Dilger [Wed, 16 Mar 2016 18:48:25 +0000 (12:48 -0600)]
LU-7813 utils: improve lfs setstripe pool error message

When a specified OST is not in the requested pool, improve the error
message printed to the user.  Currently it only prints:

  $ lfs setstripe -p audio -i 1 /myth/foo
  error: setstripe: create file '/myth/foo' failed

but this doesn't indicate why it failed.  Add in more information:

  error: setstripe: create file '/myth/foo' failed: OST not in pool?
  error: setstripe: create file '/myth/foo' failed: permission denied

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I409739b1e3dad633f0b0a4c4f94a746c0b6485bd
Reviewed-on: http://review.whamcloud.com/18965
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7445 test: combine dependent sanity 51b and 51ba tests 39/17239/2
Elena Gryaznova [Wed, 18 Nov 2015 09:41:42 +0000 (11:41 +0200)]
LU-7445 test: combine dependent sanity 51b and 51ba tests

test_51ba() depends on test_51b() and skipped if run separately

Patch combines test_51b() and test_51ba() into test_51b().
$tdir is used for test dir name.

Test-Parameters: envdefinitions=ONLY=51b testlist=sanity
Seagate-bug-id: MRP-2290
Signed-off-by: Elena Gryaznova <elena.gryaznova@seagate.com>
Reviewed-by: Vladimir Saveliev <vladimir.saveliev@seagate.com>
Reviewed-by: Vitaly Fertman <vitaly.fertman@seagate.com>
Change-Id: I6ee019a03d398e36c7007973614375c9ca22e349
Reviewed-on: http://review.whamcloud.com/17239
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-4048 build: fix 'control flow' errors 24/7824/12
Sebastien Buisson [Wed, 2 Oct 2013 12:26:58 +0000 (14:26 +0200)]
LU-4048 build: fix 'control flow' errors

Fix "control flow" issues found by Coverity version 6.6.1:
Logically dead code (DEADCODE)
Execution cannot reach this statement.

Signed-off-by: Sebastien Buisson <sebastien.buisson@bull.net>
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I0be1b0f69b16a988e361185f6c4ef2d9dcee8d31
Reviewed-on: http://review.whamcloud.com/7824
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Emoly Liu <emoly.liu@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>
4 years agoLU-7934 osp: fix tr->otr_next_id overflow 90/19190/3
Alexander Boyko [Tue, 29 Mar 2016 11:39:47 +0000 (14:39 +0300)]
LU-7934 osp: fix tr->otr_next_id overflow

The tracker next_id and current_id u32 type was based on
max llog records. But llog use cyclic store for records, so
llog could store infinite number of records and limited by
max number at moument of time. The u32 type could be
overflowed easy if a server isn`t rebooted.
osp_sync_id_get()) snx11126-OST0045-osc-MDT0000: next 0,
last synced 4294967205
This fix changes type u32 to u64 for *id. Now, we store only
low part current_id to llog record header id. And restore the
full u64 from record header later. It is possible because
llog catalog can store 64768^2 and it is less than u32 max value.

The patch adds test to check u32 overflow for otr_next_id field
of osp_id_tracker.

Recreate the next assertion
LustreError: 185667:0:(osp_sync.c:1544:osp_sync_id_get())
snx11126-OST0045-osc-MDT0000: next 0, last synced 4294967205
LustreError: 231396:0:(osp_sync.c:1545:osp_sync_id_get()) LBUG

Seagate-bug-id: MRP-3367
Signed-off-by: Alexander Boyko <alexander.boyko@seagate.com>
Change-Id: I89d70ecb068f8d0b5a1e1ac35b85a4b6e53211e5
Reviewed-on: http://review.whamcloud.com/19190
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andrew Perepechko <andrew.perepechko@seagate.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7536 mdt: handling NULL dereference in mdt_reconstruct 95/20395/5
Jadhav Vikram [Tue, 26 Apr 2016 04:15:58 +0000 (09:45 +0530)]
LU-7536 mdt: handling NULL dereference in mdt_reconstruct

mdt_reconstruct function corresponding to op-code
REINT_MIGRATE is not present, so as per request format
used in mdt_reint adding mdt reconstruct functions.
Also added assertion to check max opcodes and undefined
reconstruct function. Also updated opcode REINT_RMENTRY
and REINT_MIGRADE at missing places.

Seagate-bug-id: MRP-3205
Signed-off-by: Jadhav Vikram <jadhav.vikram@seagate.com>
Change-Id: I489ee3dfa5972c14f37aed5307103cf329d802f7
Reviewed-on: http://review.whamcloud.com/20395
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Gu Zheng <gzheng@ddn.com>
Reviewed-by: Li Xi <lixi@ddn.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-8279 scrub: fix inode reference leak 92/20792/3
Fan Yong [Tue, 10 May 2016 23:06:57 +0000 (07:06 +0800)]
LU-8279 scrub: fix inode reference leak

There was logic issue in osd_fid_lookup() to handle remote directory
under the case of MDT file-level backup and restore: the logic wanted
to trigger OI scrub when found the OI mapping for the remote directory
object invalid, but forgot to assign the valid inode to the object as
to such inode's reference cannot for released properly.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Ib2c6dd7a3b43bd75b5e5aaadad91a1a72ef3d54e
Reviewed-on: http://review.whamcloud.com/20792
Tested-by: Jenkins
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>
4 years agoLU-4781 utils: handle EEXIST in lustre_rsync 49/20649/2
John L. Hammond [Mon, 6 Jun 2016 20:06:59 +0000 (15:06 -0500)]
LU-4781 utils: handle EEXIST in lustre_rsync

In lustre_rsync if the file to be created in the target already exist
then handle this rather than returning an error.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I8c04c80cf8618b3681be12d098be0f07a305df30
Reviewed-on: http://review.whamcloud.com/20649
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Li Xi <lixi@ddn.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
4 years agoLU-8232 obdclass: remove dead code 87/20587/3
Henri Doreau [Thu, 2 Jun 2016 11:47:31 +0000 (13:47 +0200)]
LU-8232 obdclass: remove dead code

No need to check for rc since it is never assigned after declaration
and sub-calls do not return error codes.

Test-Parameters: trivial

Change-Id: I040a45e8a779b11840c8c883fd4d5d87ee7f0fed
Signed-off-by: Henri Doreau <henri.doreau@cea.fr>
Reviewed-on: http://review.whamcloud.com/20587
Reviewed-by: Ben Evans <bevans@cray.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-8227 kernel: kernel update RHEL6.8 [2.6.32-642.1.1.el6] 42/20542/2
Bob Glossman [Wed, 1 Jun 2016 13:26:07 +0000 (06:26 -0700)]
LU-8227 kernel: kernel update RHEL6.8 [2.6.32-642.1.1.el6]

Update RHEL6.8 kernel to 2.6.32-642.1.1.el6

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

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I33789db4827b36a25332e5d7e85729ac036d0a4b
Reviewed-on: http://review.whamcloud.com/20542
Tested-by: Jenkins
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Minh Diep <minh.diep@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7747 lfs: fix help message for migrate 41/20541/4
Dmitry Eremin [Wed, 1 Jun 2016 12:37:42 +0000 (15:37 +0300)]
LU-7747 lfs: fix help message for migrate

Combine two different help messages for migrate in one.

Test-Parameters: trivial

Change-Id: I2b44006dbd9114155cf7a1f65e68d3796f857ee3
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/20541
Tested-by: Jenkins
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
4 years agoLU-8196 obd: force very large allocations to use vmalloc 20/20420/3
Bob Glossman [Tue, 24 May 2016 18:16:35 +0000 (11:16 -0700)]
LU-8196 obd: force very large allocations to use vmalloc

In cases where the requsted allocation size is very large
use OBD_VMALLOC().  This avoids warnings from el7 and newer
kernels due to very large kmalloc()s.

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I87e95b1f8e5e50bc35d713a1775313c10f0368a9
Reviewed-on: http://review.whamcloud.com/20420
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@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>
4 years agoLU-8058 utils: Remove old commented out code 15/20415/3
Ben Evans [Tue, 24 May 2016 17:15:39 +0000 (12:15 -0500)]
LU-8058 utils: Remove old commented out code

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

remove empty function handle_spkm3_upcall

Signed-off-by: Ben Evans <bevans@cray.com>
Change-Id: Ia660048adae000a506836fe226c475affd0149b8
Reviewed-on: http://review.whamcloud.com/20415
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-8182 mdt: check connection data properly 91/20391/2
Fan Yong [Tue, 26 Apr 2016 21:47:15 +0000 (05:47 +0800)]
LU-8182 mdt: check connection data properly

For mdt_obd_connect() case, the parameter @data should never be
NULL, so drop the redundant check of "data != NULL", replace it
with "LASSERT(data != NULL);"

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Ia6754752527e69c89e7a40d3d012232eaba94d3e
Reviewed-on: http://review.whamcloud.com/20391
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
4 years agoLU-8178 lproc: fix negative recovery_duration 81/20381/3
Sergey Cheremencev [Thu, 14 Jan 2016 19:32:02 +0000 (22:32 +0300)]
LU-8178 lproc: fix negative recovery_duration

There is a window in target_recovery_thread where
obd_recovery_end is not set despite of
obd_recovering becomes 0. In such case
recovery_duration shows difference between 0 and
obd_recovery_start like below:
recovery_duration: 18446744072323902150.

Change-Id: Id385156585c99d12726e89980b55c588e0bf3ceb
Signed-off-by: Sergey Cheremencev <sergey.cheremencev@seagate.com>
Seagate-bug-id: MRP-1519
Reviewed-by: Alexander Nikolaevich Boyko <alexander.boyko@seagate.com>
Reviewed-by: Artem Blagodarenko <artem.blagodarenko@seagate.com>
Tested-by: Parinay Vijayprakash Kondekar <parinay.kondekar@seagate.com>
Reviewed-on: http://review.whamcloud.com/20381
Tested-by: Jenkins
Reviewed-by: Alexander Boyko <alexander.boyko@seagate.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7334 lprocfs: Allow a new line before null terminator 53/20353/4
Giuseppe Di Natale [Fri, 20 May 2016 15:01:35 +0000 (08:01 -0700)]
LU-7334 lprocfs: Allow a new line before null terminator

Kernel string parsing functions support a single new line
before the null terminator of a string. Our numeric string
parsing should do the same. This allows strings to be
echo'ed directly into proc files.

Signed-off-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Change-Id: Ia9d36b4f4f6849547391115d31be34a14215fc2a
Reviewed-on: http://review.whamcloud.com/20353
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Reviewed-by: Frank Zago <fzago@cray.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
4 years agoLU-8171 hsm: stack overrun in hai_dump_data_field 38/20338/4
Frank Zago [Thu, 19 May 2016 21:18:18 +0000 (17:18 -0400)]
LU-8171 hsm: stack overrun in hai_dump_data_field

With the stock 3.10 kernel, hai_dump_data_field will do a stack buffer
overrun when cat'ing /proc/fs/lustre/.../hsm/actions if an action has
some data in it.

hai_dump_data_field uses snprintf. But there is no check for
truncation, and the value returned by snprintf is used as-is.  The
coordinator code calls hai_dump_data_field with 12 bytes in the
buffer. The 6th byte of data is printed incompletely to make room for
the terminating NUL. However snprintf still returns 2, so when
hai_dump_data_field writes the final NUL, it does it outside the
reserved buffer, in the 13th byte of the buffer. This stack buffer
overrun hangs my VM.

This doesn't happen on CentOS 6.

Fix by checking that there is enough room for the next 2 characters
plus the NUL terminator. Don't print half bytes. Change the format to
02X instead of .2X, which makes more sense.

Signed-off-by: frank zago <fzago@cray.com>
Change-Id: Icb6e658fc63f441b7a698f595ac71a1236ff3588
Reviewed-on: http://review.whamcloud.com/20338
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jean-Baptiste Riaux <riaux.jb@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-8163 hsm: user_request_mask can't be unset in test 24c 20/20320/4
Frank Zago [Wed, 18 May 2016 21:51:01 +0000 (17:51 -0400)]
LU-8163 hsm: user_request_mask can't be unset in test 24c

The following lines in sanity-hsm.sh test_24c

  set_hsm_param user_request_mask ""
  set_hsm_param group_request_mask ""
  set_hsm_param other_request_mask ""

generate the following errors in the test, which isn't caught:

  error: set_param: setting mdt.lustre-MDT0000.hsm.user_request_mask:
                    no value

This is because "lct set_param" cannot accept an empty value:

  $ lctl set_param -n mdt.lustre-MDT0000.hsm.user_request_mask=""
  error: set_param: setting mdt.lustre-MDT0000.hsm.user_request_mask:
                    no value

Since the test checked earlier that [user|group|other]_request_mask
was RESTORE, we don't actually need to change their values to
nothing. They just have to be not ARCHIVE.

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

Signed-off-by: frank zago <fzago@cray.com>
Change-Id: I00622d93157e6577651996bf482ec8f710f86c9e
Reviewed-on: http://review.whamcloud.com/20320
Reviewed-by: Henri Doreau <henri.doreau@cea.fr>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-8138 utils: misc fixes in wirecheck 89/20189/3
Henri Doreau [Fri, 13 May 2016 11:19:46 +0000 (13:19 +0200)]
LU-8138 utils: misc fixes in wirecheck

Include required headers that were missing.
Fix structure field name that has been embedded into an union.

Signed-off-by: Henri Doreau <henri.doreau@cea.fr>
Change-Id: If87d673ffbe9ccdd965c77161dfc69ed9e983fc3
Reviewed-on: http://review.whamcloud.com/20189
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
4 years agoLU-8056 libcfs: Support for linux 4.2 kernels 09/20009/2
Dmitry Eremin [Thu, 5 May 2016 19:08:05 +0000 (22:08 +0300)]
LU-8056 libcfs: Support for linux 4.2 kernels

In kernel version 4.2 commit df6b35f409af0a8ff1ef62f552b8402f3fef8665
header file i387.h was renamed to fpu/api.h

Change-Id: Id4f5f6e73f3c2aeac67b5c87b9c1d310a0a50a50
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/20009
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-8102 ldlm: Correlate ptlrpc req w/AST error 83/19983/2
Chris Horn [Wed, 4 May 2016 19:13:28 +0000 (14:13 -0500)]
LU-8102 ldlm: Correlate ptlrpc req w/AST error

Enhance AST error and debug messages with the pointer and xid of the
corresponding ptlrpc request.

Signed-off-by: Chris Horn <hornc@cray.com>
Change-Id: I47834d092df0ac8638b03aa6447b3bd772ee5e0b
Reviewed-on: http://review.whamcloud.com/19983
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>
4 years agoLU-5560 obd: reserve connection flag OBD_CONNECT2_FILE_SECCTX 70/19970/8
John L. Hammond [Thu, 11 Feb 2016 19:22:02 +0000 (13:22 -0600)]
LU-5560 obd: reserve connection flag OBD_CONNECT2_FILE_SECCTX

The connection flag OBD_CONNECT2_FILE_SECCTX will be set (in
ocd_connect_flags2) if an MDT supports setting the file security
context at create time.

This patch is ported from the following one:
Lustre-commit: f0f79ede2105dd40665bd8b60c2c5f274290ab57
Lustre-change: http://review.whamcloud.com/18420

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Intel-bug-id: LDEV-236
Change-Id: Ib79ef50bbcd68baa624ece109fa204dfd7f8b128
Reviewed-on: http://review.whamcloud.com/19970
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
4 years agoLU-8036 utils: remove ARRAY_SIZE() define from lustreapi.h 18/19818/4
John L. Hammond [Wed, 27 Apr 2016 16:15:17 +0000 (11:15 -0500)]
LU-8036 utils: remove ARRAY_SIZE() define from lustreapi.h

Remove the definition of ARRAY_SIZE() from lustreapi.h.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I57b1893e7ecd57d841f5b9348a8d5285cbc02124
Reviewed-on: http://review.whamcloud.com/19818
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
4 years agoLU-7920 hsm: Account for decreasing max request count 82/19382/3
Nathaniel Clark [Thu, 7 Apr 2016 11:58:37 +0000 (07:58 -0400)]
LU-7920 hsm: Account for decreasing max request count

If HSM is active and the max request count is decreased, account for
that when checking to see if more requests should be started.

Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: I4dcf9ea192f9b354a9933e08d2ced9ced7b3bc7c
Reviewed-on: http://review.whamcloud.com/19382
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Aurelien Degremont <aurelien.degremont@cea.fr>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7993 test: Fix division by 0 in info prints 59/19359/2
Nathaniel Clark [Wed, 6 Apr 2016 16:09:55 +0000 (12:09 -0400)]
LU-7993 test: Fix division by 0 in info prints

Some of the information only prints in sanity/116a don't account for a
0 in the minimum number and thus divide by zero, but only print if MIN
is above zero, so this just doesn't do the calculation if it isn't
needed.

Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: I7003739f6b518f981a1058d41b19bca258e1d11e
Reviewed-on: http://review.whamcloud.com/19359
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
4 years agoLU-7776 tests: lnet-selftest.sh local_mode failure 08/19308/2
Abrarahmed Momin [Sat, 2 Apr 2016 03:25:37 +0000 (08:55 +0530)]
LU-7776 tests: lnet-selftest.sh local_mode failure

Update lnet-selftest to call stopall for local_mode
and cleanupall otherwise.

Signed-off-by: Abrarahmed Momin <abrar.habib@seagate.com>
Change-Id: I5dff3df8b45afc4a582556f7dd6bc92409efd380
Reviewed-on: http://review.whamcloud.com/19308
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
4 years agoLU-7955 gnilnd: Add ability to set bte_get/put_dlvr_mode 02/19202/4
James Shimek [Mon, 14 Mar 2016 15:17:43 +0000 (15:17 +0000)]
LU-7955 gnilnd: Add ability to set bte_get/put_dlvr_mode

Currently the bte_dlvr_mode applies to all BTE transactions
initiated on the node. Based on testing we would like to be able to
set the mode for BTE_GET and BTE_PUT independently.

Changes
1. Add bte_get_dlvr_mode
2. Add bte_put_dlvr_mode
3. Remove old bte_dlvr_mode parameter
4. Set default for both new modes to be performance.

Signed-off-by: Chris Horn <hornc@cray.com>
Change-Id: Ifa7388b2a5b3d2f17b96f68890d3d98f082e3de6
Reviewed-on: http://review.whamcloud.com/19202
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Chuck Fossen <chuckf@cray.com>
Reviewed-by: James Shimek <jshimek@cray.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7259 osd-ldiskfs: fix signed one bit field 98/19198/2
Dmitry Eremin [Tue, 29 Mar 2016 18:04:44 +0000 (21:04 +0300)]
LU-7259 osd-ldiskfs: fix signed one bit field

Bit field 'ot_remove_agents' has one bit and is signed.

Change-Id: Ia844a41552f8ca496ca39774296ecfa32b5966b3
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/19198
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Frank Zago <fzago@cray.com>
4 years agoLU-7258 osc: fix signed one bit field 96/19196/2
Dmitry Eremin [Tue, 29 Mar 2016 17:37:02 +0000 (20:37 +0300)]
LU-7258 osc: fix signed one bit field

Bit field 'oi_lockless' and 'oi_is_active' has one bit and is signed.

Change-Id: Ib2fb92faf29ced057438a090dad382258eb9fc40
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/19196
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
4 years agoLU-7901 osd: put sa_bulk_attr_t in osd_thread_info 87/19087/8
Alex Zhuravlev [Wed, 23 Mar 2016 12:30:21 +0000 (15:30 +0300)]
LU-7901 osd: put sa_bulk_attr_t in osd_thread_info

and don't allocate it for each attr_set/attr_init

Change-Id: I02e00ae72702728e97056ecd63862ff217134231
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/19087
Tested-by: Jenkins
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7908 osp: fake precreate support 83/19083/4
Alex Zhuravlev [Sat, 19 Mar 2016 06:28:30 +0000 (09:28 +0300)]
LU-7908 osp: fake precreate support

to be able to benchmark file creations locally like we
have very fast OSTs.

Change-Id: Ic5bb0f1c9306fee018da74a38f4ce702bf28d293
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/19083
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
4 years agoLU-7890 lov: Ensure correct operation for large object sizes 66/19066/10
Nathaniel Clark [Tue, 22 Mar 2016 16:52:53 +0000 (12:52 -0400)]
LU-7890 lov: Ensure correct operation for large object sizes

If a backing filesystem (ZFS) returns that it supports very large
(LLONG_MAX) object sizes, that should be correctly supported.  This
fixes the check for unitialized stripe_maxbytes in
lsm_unpackmd_common(), so that ZFS can return LLONG_MAX and it will be
okay.  This issue is excersized by writing to or past the 2TB boundry
of a singly stripped file.  A regression test is added to check for
this.

Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: I669096281bd826d69b5e86ada50077740412d268
Reviewed-on: http://review.whamcloud.com/19066
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>
4 years agoLU-7830 ost: do not evict during truncate 39/18739/5
Andriy Skulysh [Fri, 26 Feb 2016 15:54:04 +0000 (17:54 +0200)]
LU-7830 ost: do not evict during truncate

OST punch request can last for a long time, so
it is needed to prolong taken lock
until it completes.

Seagate-bug-id: MRP-3332
Change-Id: Icad7d122bc559f9e0bd693c7f88cbac14235bd38
Signed-off-by: Andriy Skulysh <andriy.skulysh@seagate.com>
Reviewed-on: http://review.whamcloud.com/18739
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Chris Horn <hornc@cray.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7805 llite: Remove unused members of struct ll_sb_info 83/18583/2
Oleg Drokin [Tue, 23 Feb 2016 18:26:47 +0000 (13:26 -0500)]
LU-7805 llite: Remove unused members of struct ll_sb_info

ll_orphan_dentry_list and ll_conn_chain are not used
and could be removed.

Change-Id: Ibc306b501acb9d541582af82558f6bcfc4582638
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/18583
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>
4 years agoLU-7302 scrub: join the running OI scrub properly 75/18175/2
Fan Yong [Sun, 22 Nov 2015 05:38:11 +0000 (13:38 +0800)]
LU-7302 scrub: join the running OI scrub properly

Sometimes, the OI scrub can be triggered as partial mode by
randomly found inconsistent OI mapping(s). Under such case,
if the sysadmin triggers LFSCK/OI scrub (full mode) manually,
the partial mode OI scrub needs to be converted as full mode
via osd_scrub_join(). Before that, it will check whether the
current OI scrub is full mode or not. Originally, we checked
the SF_AUTO flags (scrub::os_file.sf_flags) only, but ignored
the partial mode (scrub::os_partial_scan). The partial mode
OI scrub will NOT change the scrub iteration cursor (srub::
os_pos_current). So if miss to convert the partial OI scrub,
the subsequent inode table based iteration will be blocked
inside osd_otable_it_next() as following:

if (it->ooi_cache.ooc_pos_preload >= scrub->os_pos_current)
        l_wait_event(thread->t_ctl_waitq,
                     osd_otable_it_wakeup(scrub, it),
                     &lwi);

This patch fix such issue by checking the conditions properly.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I41cf519e717f356f21a1eebebefda1e44a3bd5ae
Reviewed-on: http://review.whamcloud.com/18175
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7486 obdclass: health_check to report unhealthy upon LBUG 81/17981/2
Bruno Faccini [Wed, 13 Jan 2016 16:25:52 +0000 (17:25 +0100)]
LU-7486 obdclass: health_check to report unhealthy upon LBUG

When a LBUG has occured, without panic_on_lbug being set, health_check
/proc file must return an unhealthy state.

Signed-off-by: Bruno Faccini <bruno.faccini@intel.com>
Change-Id: I3fb89fe825cb3e85f2be99609141131aef6b6af7
Reviewed-on: http://review.whamcloud.com/17981
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7626 ldlm: refcount nonzero (1) after lock cleanup 91/17791/3
Andriy Skulysh [Mon, 4 Jan 2016 08:17:07 +0000 (10:17 +0200)]
LU-7626 ldlm: refcount nonzero (1) after lock cleanup

It is a regression after LU-2177.
LCK_NL is used by obdecho also.

Perform flock sanity checks only for LDLM_FLOCK.

Change-Id: I83f87b41a13c4d666af36af389ccf1a127197294
Xyratex-bug-id: MRP-2336
Signed-off-by: Andriy Skulysh <andriy.skulysh@seagate.com>
Reviewed-on: http://es-gerrit.xyus.xyratex.com:8080/9406
Tested-by: Jenkins
Reviewed-by: Mirza Arshad Mirza Hussain <arshad.hussain@seagate.com>
Reviewed-by: Alexey Leonidovich Lyashkov <alexey.lyashkov@seagate.com>
Tested-by: Parinay Vijayprakash Kondekar <parinay.kondekar@seagate.com>
Reviewed-on: http://review.whamcloud.com/17791
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>
4 years agoLU-5954 IOC_MDC_GETFILEINFO returns the wrong ino 18/17618/4
akam kumar bharathi [Tue, 15 Dec 2015 17:53:04 +0000 (23:23 +0530)]
LU-5954 IOC_MDC_GETFILEINFO returns the wrong ino

req_capsule_server_get() through  __req_capsule_get in ll_dir_ioctl()
returns a pointer to a PTLRPC request or reply buffer, which is assigned
to struct mdt_body.

If the command is IOC_MDS_GETFILEINFO then the inode "st.st_ino" should
be assigned from one extracted from mdt_body through cl_fid_build_ino().

Change-Id: I8429d726ff5f6c2c2d342e2c59f163608c794307
Signed-off-by: John Hammond <john.hammond@intel.com>
Signed-off-by: akam kumar bharathi <azurelustre@gmail.com>
Reviewed-on: http://review.whamcloud.com/17618
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-5092 nodemap: handle config changes while mid-flight 41/16941/13
Kit Westneat [Thu, 13 Aug 2015 15:03:21 +0000 (11:03 -0400)]
LU-5092 nodemap: handle config changes while mid-flight

This adds the ability to detect when the nodemap configuration has
changed between messages for very large configurations. If the
configuration is over 1MB (about 25k entries), it needs to be sent
in multiple messages. If the configuration changes in-between these
messages, then the client needs to abort the previous get config
operation and restart.

Test-Parameters: envdefinitions=SLOW=yes testlist=sanity-sec
Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Change-Id: I2bf6e4bade947fea8331c2922d9c33ab49100577
Reviewed-on: http://review.whamcloud.com/16941
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
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>
4 years agoLU-6523 lmv: Error not handled for lmv_find_target 18/14918/5
Ulka Vaze [Fri, 22 May 2015 13:44:28 +0000 (19:14 +0530)]
LU-6523 lmv: Error not handled for lmv_find_target

This issue is found by smatch; has been reported as-
Unchecked usage of potential ERR_PTR result in lmv_hsm_req_count
and lmv_hsm_req_build.
Added ERR_PTR in both functions and also return value check added.

Signed-off-by: Ulka Vaze <ulka.vaze@yahoo.in>
Change-Id: I9651bb70724a1b2f2a1901a3bf5093f84b22e6ea
Signed-off-by: Aditya Pandit <panditadityashreesh@yahoo.com>
Reviewed-on: http://review.whamcloud.com/14918
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-8157 tests: functional testing for swap layout 41/13441/14
Frank Zago [Thu, 15 Jan 2015 20:34:26 +0000 (14:34 -0600)]
LU-8157 tests: functional testing for swap layout

Add a few tests for the swap layout operations.

Test-Parameters: trivial

Signed-off-by: frank zago <fzago@cray.com>
Signed-off-by: Henri Doreau <henri.doreau@cea.fr>
Change-Id: I30210c634a83c01c8c15de06b23581beee6a8eb9
Reviewed-on: http://review.whamcloud.com/13441
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-3434 misc: style check whole patch when rebasing 44/8644/6
Andreas Dilger [Wed, 17 Feb 2016 00:02:28 +0000 (17:02 -0700)]
LU-3434 misc: style check whole patch when rebasing

When rebasing a patch, style check the whole patch instead of just
the part that has changed.  Otherwise, if the patch was previously
developed on a system without the prepare-commit-msg hook it will
not be properly checked before submission, possibly incurring the
ire of HPDD Checkpatch.

Test-Parameters: trivial

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I603577450d3524ab7bb3d4a4d0bdf8ce463ebbe5
Reviewed-on: http://review.whamcloud.com/8644
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
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>
4 years agoLU-1595 build: improve prepare-commit-msg git hook 27/13427/7
Andreas Dilger [Thu, 15 Jan 2015 21:50:20 +0000 (14:50 -0700)]
LU-1595 build: improve prepare-commit-msg git hook

Improve the Git prepare-commit-msg hook to still add the default
comment for Signed-off-by: and the Vim modeline, even if checkpatch.pl
isn't available.

Add a few more comments to the script.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I253931c34ee64afa2d9cf160e675c779b32e9359
Reviewed-on: http://review.whamcloud.com/13427
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
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>
4 years agoLU-8241 ofed: fix compilation with MOFED 3.3 44/20644/3
Dmitry Eremin [Mon, 6 Jun 2016 17:52:07 +0000 (20:52 +0300)]
LU-8241 ofed: fix compilation with MOFED 3.3

Add OFED compat rdma header file during autoconf checks also.

Test-Parameters: trivial

Change-Id: Ib280311fa1565cda3c7322308f33575159218e42
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/20644
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Minh Diep <minh.diep@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7428 osd: set device read-only correctly 86/20586/4
Hongchao Zhang [Sat, 28 May 2016 18:52:18 +0000 (02:52 +0800)]
LU-7428 osd: set device read-only correctly

Freeze the journal before setting device read-only to prevent
starting a new handle or commit a transaction in that time.

Seagate-bug-id: MRP-2135

Some of the patch is from http://review.whamcloud.com/20535

Change-Id: Iadcb0a7ccf9189e8bb564aa4783bae9a2ef86a76
Signed-off-by: Alexey Lyashkov <alexey.lyashkov@seagate.com>
Signed-off-by: vinayakswami hariharmath <vinayakswami.hariharmath@seagate.com>
Signed-off-by: Gu Zheng <gzheng@ddn.com>
Signed-off-by: Hongchao Zhang <hongchao.zhang@intel.com>
Reviewed-on: http://review.whamcloud.com/20586
Reviewed-by: Wang Shilong <wshilong@ddn.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
4 years agoLU-8216 ldiskfs: fix journal quota files 03/20503/3
Wang Shilong [Mon, 30 May 2016 13:55:06 +0000 (22:55 +0900)]
LU-8216 ldiskfs: fix journal quota files

When we hit Lustre crash, e2fsck will always
complains Quota accounting mismatch, and sometimes
differences are huge.

Problems are we don't journal quota updates properly,
and with current codes quota files will be only
journaled when syncing filesystem,
that only happen by sync call or unmounting.

Signed-off-by: Wang Shilong <wshilong@ddn.com>
Change-Id: I94c148a6b48f2464e96320bbadc88a3c234eacb0
Reviewed-on: http://review.whamcloud.com/20503
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
4 years agoLU-8179 libcfs: Do not include libcfs/util/ioctl.h in kernel code 75/20375/5
Oleg Drokin [Sun, 22 May 2016 17:01:46 +0000 (13:01 -0400)]
LU-8179 libcfs: Do not include libcfs/util/ioctl.h in kernel code

lustre/include/lustre_ioctl.h included libcfs/include/libcfs/util/ioctl.h
by mistake during kernel compiles, but it's strictly a user-space header
so move it into appropriate ifdef.

Test-Parameters: trivial
Change-Id: I598ef54ad2cf8bab9788eefe487adddeb73f90c1
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/20375
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: Frank Zago <fzago@cray.com>
4 years agoLU-8019 llite: Restore proper opencache operations 54/20354/3
Oleg Drokin [Fri, 20 May 2016 16:16:46 +0000 (12:16 -0400)]
LU-8019 llite: Restore proper opencache operations

Just returning 0 from revalidate for all opens broke open cache
because when we enter ll_lookup_nd, we have no inode and need to
do an RPC to get there which defeats the purpose.

Instead allow returning 1 for non-creating opens,
mark all dentries passing via ll_iget_for_nfs as such
so that ll_file_open would know where did we
come from and request the open lock with the handle.

Change-Id: Id8a0ade892bc26cee96a9ba2b1498cc3199255f0
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/20354
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Li Xi <lixi@ddn.com>
4 years agoLU-8146 osd-zfs: Build against SPL/ZFS 0.6.5.7 19/20219/3
Nathaniel Clark [Mon, 16 May 2016 11:01:21 +0000 (07:01 -0400)]
LU-8146 osd-zfs: Build against SPL/ZFS 0.6.5.7

Build against SPL/ZFS 0.6.5.7.

ZFS Changelogs since 0.6.5.6:
https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.6.5.7

Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: Icdde350e4f7fee6e72f2eab2548ef07b44f0dacb
Reviewed-on: http://review.whamcloud.com/20219
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
4 years agoLU-6245 libcfs: remove types abstraction from libcfs/LNet code 04/20204/9
James Simmons [Tue, 7 Jun 2016 15:02:27 +0000 (11:02 -0400)]
LU-6245 libcfs: remove types abstraction from libcfs/LNet code

Originally when lustre code was built for userland we needed
a proper way to handle 32 bit and 64 bit platforms when
reporting unsigned longs. Now that this code is only built
for kernel space and the kernel has it own special string
handling functions we don't need this abstraction anymore.
The libcfs types.h is not removed yet so not to break
any other patches ready to land. Had checkpatch.pl updated
to report to developers to not use the LP* abstraction.
This patch only updates the LNet/libcfs layers.

Change-Id: I0a338b4eb181d86b9c7d0f535d8c12c9f7045fb3
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/20204
Reviewed-by: Frank Zago <fzago@cray.com>
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-8044 mgs: Only add OSP for registered MDT 58/19658/5
Di Wang [Wed, 13 Apr 2016 21:40:43 +0000 (17:40 -0400)]
LU-8044 mgs: Only add OSP for registered MDT

Only add OSP for those really registered MDT,
by checking if its llog is empty, otherwise
it will incorrectly add "setup OSP" record in
the begining of config log, which will cause
setup failure.

Signed-off-by: Di Wang <di.wang@intel.com>
Change-Id: I9df26a5e6653b4ac0413dad01ea2abfda6f1c1fb
Reviewed-on: http://review.whamcloud.com/19658
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7997 obd: RCU stalls in lu_cache_shrink_count() 90/19390/5
Ann Koehler [Mon, 18 Apr 2016 21:35:46 +0000 (16:35 -0500)]
LU-7997 obd: RCU stalls in lu_cache_shrink_count()

The algorithm for counting freeable objects in the lu_cache shrinker
does not scale with the number of cpus. The LU_SS_LRU_LEN counter
for each cpu is read and summed at shrink time while holding the
lu_sites_guard mutex. With a large number of cpus and low memory
conditions, processes bottleneck on the mutex.

This mod reduces the time spent counting by using the kernel's percpu
counter functions to maintain the length of a site's lru. The summing
occurs when a percpu value is incremented or decremented and a
threshhold is exceeded. lu_cache_shrink_count() simply returns the
last such computed sum.

This mod also replaces the lu_sites_guard mutex with a rw semaphore.
The lock protects the lu_site list, which is modified when a file
system is mounted/umounted or when the lu_site is purged.
lu_cache_shrink_count simply reads data so it does not need to wait
for other readers. lu_cache_shrink_scan, which actually frees the
unused objects, is still serialized.

Signed-off-by: Ann Koehler <amk@cray.com>
Change-Id: I62d006d8047db99d8bbe3ee4edd9d4489bd3739f
Reviewed-on: http://review.whamcloud.com/19390
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-5969 lustreapi: replace llapi_get_version() 21/16721/11
Andreas Dilger [Tue, 17 May 2016 20:15:30 +0000 (16:15 -0400)]
LU-5969 lustreapi: replace llapi_get_version()

The existing llapi_get_version() helper has an awkward calling
style, requiring a temporary input buffer, as well as an output
pointer.

Replace this with llapi_get_version_string() which returns the
the simple version string.  Mark llapi_get_version() deprecated.
Update "lctl lustre_build_version" to use llapi_version_string().

These versions are extracted from {/proc,/sys}/fs/lustre/version
instead of an ioctl, to avoid the messiness that is Lustre ioctls.

Update the "version" file to only print the "lustre:" version,
since the "build:" version is now identical, and the "kernel:"
version has been "patchless_client" for many years already.

Print out the build version at the start of each test so it is
logged in the test results for convenience.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I681a353e6f65fd1ec2d1434fe38dfa55ed3ebbe5
Reviewed-on: http://review.whamcloud.com/16721
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-8006 ptlrpc: cleanup codes of TBF command 99/19499/13
Li Xi [Wed, 13 Apr 2016 03:57:14 +0000 (11:57 +0800)]
LU-8006 ptlrpc: cleanup codes of TBF command

The codes of parsing TBF command are improved so as to make it
easier to add new commands. And command format has been changed
to:
For NRS "tbf nid" policy:
lctl set_param ost.OSS.ost_io.nrs_tbf_rule=
"start $RULE_NAME nid={$NID} rate=$RATE"
For NRS "tbf jobid" policy:
lctl set_param ost.OSS.ost_io.nrs_tbf_rule=
"start $RULE_NAME jobid={$JOBID} rate=$RATE"

lctl set_param ost.OSS.ost_io.nrs_tbf_rule=
"change $RULE_NAME rate=$RATE"

Signed-off-by: Li Xi <lixi@ddn.com>
Signed-off-by: Qian Yingjin <qian@ddn.com>
Change-Id: Id9861f4c3d894bea614288089622c11124e7f4de
Reviewed-on: http://review.whamcloud.com/19499
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: Gu Zheng <gzheng@ddn.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6861 scrub: only trigger full OI scrub when necessary 51/16951/6
Fan Yong [Wed, 21 Oct 2015 02:43:49 +0000 (10:43 +0800)]
LU-6861 scrub: only trigger full OI scrub when necessary

Generally, scanning the whole device for OI scrub routine check may
takes some long time. If the whole system only contains several bad
OI mappings, then it is not worth to trigger OI scrub automatically
with full speed when some bad OI mapping is auto-detected. Instead,
we can make the OI scrub to fix the found bad OI mappings only, and
if more and more bad OI mappings are found as to exceeds some given
threshold that can be adjusted via some proc interface, then the OI
scrub will run with full speed to scan whole device.

Our current OI scrub auto-trigger control mechanism can avoid most
of unnecessary whole-device based scanning. But it missed one case
that the FID lookup for remote MDT-object and may cause unexpected
whole-device based OI scrub. This patch is for handle such corner.

Fix the sanity-scrub.sh test_4a, test_4b, and test_4c to search for
"prior_updated" and not "updated_prior" in the scrub status file.

Signed-off-by: James Nunez <james.a.nunez@intel.com>
Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I776c44b1dbc7357817d42d9b1ff6011226fe292b
Reviewed-on: http://review.whamcloud.com/16951
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>