Whamcloud - gitweb
fs/lustre-release.git
8 years agoRevert "LU-6245 libcfs: remove cfs_fs_time handling" 94/19094/3
Oleg Drokin [Wed, 23 Mar 2016 14:37:37 +0000 (14:37 +0000)]
Revert "LU-6245 libcfs: remove cfs_fs_time handling"

This seems to be causing build failures on EL7:
cc1: all warnings being treated as errors
In file included from libcfs/include/libcfs/linux/libcfs.h:51:0,
                from libcfs/include/libcfs/libcfs.h:45,
                from lnet/include/lnet/lib-lnet.h:48,
                from lnet/lnet/api-ni.c:39:
libcfs/include/libcfs/linux/linux-time.h:111:0: error: "ktime_get_real_ts64" redefined [-Werror]
#define ktime_get_real_ts64 ktime_get_real_ts
^
In file included from include/linux/timer.h:5:0,
                from include/linux/workqueue.h:8,
                from include/linux/pm.h:25,
                from include/linux/device.h:25,
                from include/linux/node.h:17,
                from include/linux/cpu.h:17,
                from libcfs/include/libcfs/linux/linux-cpu.h:50,
                from libcfs/include/libcfs/linux/libcfs.h:50,
                from libcfs/include/libcfs/libcfs.h:45,
                from lnet/include/lnet/lib-lnet.h:48,
                from lnet/lnet/api-ni.c:39:
include/linux/ktime.h:455:0: note: this is the location of the previous definition
#define ktime_get_real_ts64(ts) getnstimeofday64(ts)
^
make[7]: *** [lnet/klnds/o2iblnd/o2iblnd.o] Error 1
make[6]: *** [lnet/klnds/o2iblnd] Error 2
make[5]: *** [lnet/klnds] Error 2
make[5]: *** Waiting for unfinished jobs....
cc1: all warnings being treated as errors
make[6]: *** [lnet/lnet/api-ni.o] Error 1
make[6]: *** Waiting for unfinished jobs....

This reverts commit c3ddfae1b795385aa14db61df1a416ab57bfc066.

Change-Id: I629bd51d27206db7c6b6251ca7089707d33287b8
Reviewed-on: http://review.whamcloud.com/19094
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-4423 lnet: Don't ignore error code for lst_group_info_ioctl 52/18952/2
Cristina Moraru [Wed, 16 Mar 2016 15:43:27 +0000 (11:43 -0400)]
LU-4423 lnet: Don't ignore error code for lst_group_info_ioctl

Error stored in rc was never reported, so directly return it here.

Linux-commit : 2a96be0d46825689ac9b6078056e523ba96acec4

Change-Id: I0535d0a101c1142f035e6dfba240e95fc9040eb2
Signed-off-by: Cristina Moraru <cristina.moraru09@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/18952
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: Frank Zago <fzago@cray.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-4423 lnet: Drop unnecessary wrapper function in lnetselftest console.c 51/18951/2
Shraddha Barke [Wed, 16 Mar 2016 15:41:12 +0000 (11:41 -0400)]
LU-4423 lnet: Drop unnecessary wrapper function in lnetselftest console.c

Remove the function lstcon_group_put() and replace all its calls with the
function lstcon_group_decref() because the former function just
performs the job of calling the latter.

Linux-commit : 33db686a22e502ba127138912814e8468ac51ed6

Change-Id: Id12aee41286fd46beb5f96f09dcc50b7e636e93e
Signed-off-by: Shivani Bhardwaj <shivanib134@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/18951
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: Frank Zago <fzago@cray.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7812 tests: print more stats for sanity 120e failure 26/18826/3
Andreas Dilger [Wed, 9 Mar 2016 02:48:44 +0000 (21:48 -0500)]
LU-7812 tests: print more stats for sanity 120e failure

Print more info for sanity.sh test_120e failures to help debug
intermittent failures of this test.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: Ib4288ce9440a787cb34a9b276858d720d48a6256
Reviewed-on: http://review.whamcloud.com/18826
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7829 osc: glimpse lock should match only with granted locks 38/18738/2
Andriy Skulysh [Tue, 16 Feb 2016 17:24:32 +0000 (19:24 +0200)]
LU-7829 osc: glimpse lock should match only with granted locks

A deadlock is possible during ccc_prep_size()->ldlm_lock_match() vs
cl_io_lock() which is waiting for a matched lock and conflicts with
already taken lock before ccc_prep_size().

It is better to send an aditional lock request to avoid deadlock.

Seagate-bug-id: MRP-3312
Change-Id: I2eed05da4d587500cfc14350d9cc1b33547df4fe
Signed-off-by: Andriy Skulysh <andriy.skulysh@seagate.com>
Reviewed-on: http://review.whamcloud.com/18738
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7707 quota: put qqi reference after all things done 42/18142/2
Niu Yawei [Tue, 26 Jan 2016 02:52:43 +0000 (21:52 -0500)]
LU-7707 quota: put qqi reference after all things done

In qsd_reint_main(), we should put qqi reference when all things
done, otherwise, the qqi could be used after free in some race
condition.

Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: I363efd8be22a6ea5b9589c6b152bf924e1f1abae
Reviewed-on: http://review.whamcloud.com/18142
Tested-by: Jenkins
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6401 headers: Create a header for obdo related functions 17/16917/8
Ben Evans [Thu, 22 Oct 2015 17:01:30 +0000 (12:01 -0500)]
LU-6401 headers:  Create a header for obdo related functions

Remove all obdo related functions from lustre_idl.h
Create lustre_odbo.h
Include where appropriate, reorganize #include blocks

Signed-off-by: Ben Evans <bevans@cray.com>
Change-Id: I35646ba27a0903bbb64281ad49fd650b10f71d7b
Reviewed-on: http://review.whamcloud.com/16917
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>
8 years agoLU-6966 test: Dash in FSNAME causes warning in testframework 25/15925/5
Lokesh Nagappa Jaliminche [Thu, 6 Aug 2015 10:48:44 +0000 (16:18 +0530)]
LU-6966 test: Dash in FSNAME causes warning in testframework

The FSNAME with dash was causing warning in test-framework.sh. These
are specifically due to use of FSNAME with dash in l-value of the
export statement. So export statement has been modified such that it
will not to include dash in its l-value.

Seagate-bug-id: MRP-2171
Signed-off-by: Lokesh Nagappa Jaliminche <lokesh.jaliminche@seagate.com>
Signed-off-by: Bhagyesh Dudhediya <bhagyesh.dudhediya@seagate.com>
Change-Id: Ia4d690c6529b287bb008f11a57e8131a2facfba4
Reviewed-on: http://review.whamcloud.com/15925
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>
8 years agoLU-6215 llite: make_request_fn returns blk_qc_t in kernel 4.4 30/18730/3
Li Dongyang [Tue, 1 Mar 2016 05:53:49 +0000 (16:53 +1100)]
LU-6215 llite: make_request_fn returns blk_qc_t in kernel 4.4

For the 4.4 kernel request_queue.make_request_fn is defined as
a function returns blk_qc_t. loop_make_request() should return
BLK_QC_T_NONE in this case.

Linux-commit: dece16353ef47d8d33f5302bc158072a9d65e26f

Signed-off-by: Li Dongyang <dongyang.li@anu.edu.au>
Change-Id: I20a796caf6d8e6411f084db2392683c12307a0bf
Reviewed-on: http://review.whamcloud.com/18730
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6215 llite: handle locks API change in 4.4+ kernels 29/18729/3
Li Dongyang [Tue, 1 Mar 2016 05:36:49 +0000 (16:36 +1100)]
LU-6215 llite: handle locks API change in 4.4+ kernels

Since 4.4 linux kernel replaced both posix_lock_file_wait() and
flock_lock_file_wait() by introducing locks_lock_file_wait().
This patch handles the API change.

Linux-commit: 4f6563677ae833baad8003e14353241bc25da4fc

Signed-off-by: Li Dongyang <dongyang.li@anu.edu.au>
Change-Id: I1b9c98c2afcad9da3fb377c3e788b12f20261e9e
Reviewed-on: http://review.whamcloud.com/18729
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6215 gss: cache_head is now on a hlist in 4.3+ kernels 28/18728/3
Li Dongyang [Tue, 1 Mar 2016 05:10:48 +0000 (16:10 +1100)]
LU-6215 gss: cache_head is now on a hlist in 4.3+ kernels

Since kernel 4.3 struct cache_head switched from a single
list to a hlist. This patch handles the change.

Linux-commit: 129e5824cd96d9289679973f0ff7c48e88d569bb

Signed-off-by: Li Dongyang <dongyang.li@anu.edu.au>
Change-Id: Iec4c7d0acf106a8f7b60d72eb2038b6d9e12f422
Reviewed-on: http://review.whamcloud.com/18728
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7084 mem: code cleanup for memory allocation 73/17673/10
Yang Sheng [Fri, 18 Dec 2015 18:22:07 +0000 (02:22 +0800)]
LU-7084 mem: code cleanup for memory allocation

This patch just want fix some memory allocation issues.

Signed-off-by: Yang Sheng <yang.sheng@intel.com>
Change-Id: I53d622d5c4e71ce42488a6cfce17a10063cf4f4d
Reviewed-on: http://review.whamcloud.com/17673
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6245 libcfs: remove cfs_fs_time handling 76/17376/2
James Simmons [Fri, 27 Nov 2015 17:29:03 +0000 (12:29 -0500)]
LU-6245 libcfs: remove cfs_fs_time handling

Only the mdd layer uses cfs_fs_time handling and since
it is kernel side code we can easily convert it to the
standard linux kernel time keeping api.

Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Change-Id: I212e0098a847e01e2ddc201a78a790097ba8b0f9
Reviewed-on: http://review.whamcloud.com/17376
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-4423 libcfs: remove some unused code and wrappers in libcfs 75/17375/7
Shraddha Barke [Wed, 16 Mar 2016 16:40:20 +0000 (12:40 -0400)]
LU-4423 libcfs: remove some unused code and wrappers in libcfs

Remove code that is not used by anyone anymore in the
libcfs module. Also simplify the code by removing
several one line wrappers. This is a collection of work
done upstream by Shraddha Barke. The linux commits are:

Linux-commit : 8eefa1c028f5b16f33ce1b3c7bbabdf74efc63b1
Linux-commit : d11f8cc4bb7ff4ee8cc89d2799cdda206da0f434
Linux-commit : 7fb6f46b14d01a185dfe563a8ba20cda514d4f9a
Linux-commit : 7cbf673d8b4a68916fe362fe9a9c3a55a604700e
Linux-commit : e4ce7f7779313ff23f958049b91cc7ac1b24d8e8
Linux-commit : 5a2f464af23bc90a77df6b9b30815e602efb99af
Linux-commit : 87af1d2e0c29ce4f025da0cdbb9c74a3958fd71d
Linux-commit : 9561c25c590afdcb27002dc168bcecbf5a757308
Linux-commit : 7d6e398ca61427e903246f1c11853f6f967bbb5e
Linux-commit : 90f8b4643023b23061a15229c0c0b8ee747438a8
Linux-commit : a2aadf23d1437ddcce86fa0673a6ecb5f932d3ec

Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Signed-off-by: Shraddha Barke <shraddha.6596@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Change-Id: I667f98b3c73d4ac9e884d6ada6fed0733a3f6451
Reviewed-on: http://review.whamcloud.com/17375
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
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>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7699 build: Replace version_tag.pl with LUSTRE-VERSION-GEN 07/18107/17
Christopher J. Morrone [Fri, 22 Jan 2016 02:36:01 +0000 (21:36 -0500)]
LU-7699 build: Replace version_tag.pl with LUSTRE-VERSION-GEN

This patch overhauls how version numbers are handled.

The biggest change is removing the two independent
places where versions were being generated (LB_BUILDID and
lustre_tag*.pl) with a single script named LUSTRE-VERSION-GEN
at the top level of the tree.  LUSTRE-VERSION-GEN is based
on the GIT-VERSION-GEN script that git's own source code build
system uses.

LUSTRE-VERSION-GEN generates the lustre version string from
either git, or if git is not available from the LUSTRE-VERSION-FILE
file, or if _that_ is not available, its own internal DEFAULT_VERSION
default version number.  This allows building the lustre code under
all reasonable conditions.

The new method uses LUSTRE-VERSION-GEN to supply the correct
full lustre version (which may contain git --describe information)
to AC_INIT.  This means that the autotools actually know the
correct version number.  Some benefits of this are:

* We can use standard {AC_}PACKAGE_VERSION macros and variables
  instead of inventing our own
* ./configure --version and other commands will list the correct
  version of Lustre
* The lustre tarball created by "make dist" will contain the full
  version number

The lustre/autoconf/lustre-version.ac file was replaced with
a new config/lustre-version.m4 file.  We no longer need to work
with m4-only macros prefore AC_INIT is called, so the new
file defines a LUSTRE_VERSION_VARIABLES function for us to call
from configure.ac.  The new lustre-version.m4 derives the
derive LUSTRE_{MAJOR,MINOR,PATCH,FIX} from AC_PACKAGE_VERSION
rather than being yet another source of version numbers.

The LUSTRE_VER_ALLOWED_OFFSET and LUSTRE_CLI_VER_OFFSET_WARN
m4 macros were dropped, and the OBD_OCD_VERSION strings stored
directly in lustre_ver.h.in instead.

LB_CHECK_VERSION was removed (no longer necessary).

AC_LUSTRE_VERSION_STRING was drop.  It is no longer necessary
now that we can set LUSTRE_VERSION_STRING directly to
@PACKAGE_VERSION@ in lustre_ver.h.in.

The DOWNSTREAM_RELEASE configure argument is deprecated and all
related code removed.

The lustre/doc/VERSIONING documenation is relocated to
Documentation/versioning.txt and updated to reflect the new versioning
method and practices.

The META file and BUILDID variables and related code are removed
since they are no longer used under the new versioning method.

Note that this patch makes lustre only look at the dotted version
tags in git, so we can finally stop using three to five tags for
every release.  Now we can just use one clear tag.  The tags
with underscores are obsolete.

Change-Id: I7196f92ed4975776cc8e73fd3ebf436b5921f83e
Signed-off-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-on: http://review.whamcloud.com/18107
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>
8 years agoLU-6304 ldlm: crash on umount in cleanup_resource 08/13908/10
Andriy Skulysh [Fri, 27 Feb 2015 12:15:15 +0000 (14:15 +0200)]
LU-6304 ldlm: crash on umount in cleanup_resource

cfs_hash_for_each_relax() assumes that cfs_hash_put_locked()
doesn't release bd lock, but it isn't true for
ldlm_res_hop_put_locked().

Add recfcount on next hnode in cfs_hash_for_each_relax() and
remove ldlm_res_hop_put_locked()

Change-Id: I275c0d29737119d084205e604c336a42e489bfe7
Xyratex-bug-id: MRP-2352
Signed-off-by: Andriy Skulysh <andriy.skulysh@seagate.com>
Reviewed-by: Vitaly Fertman <vitaly.fertman@seagate.com>
Reviewed-by: Alexander Boyko <alexander.boyko@seagate.com>
Tested-by: Alexander Lezhoev <alexander.lezhoev@seagate.com>
Reviewed-on: http://review.whamcloud.com/13908
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7841 doc: stop using python-docutils 92/18792/4
Bob Glossman [Fri, 4 Mar 2016 17:45:22 +0000 (09:45 -0800)]
LU-7841 doc: stop using python-docutils

Since python-docutils is a problem in some Linux distibutions
don't use it.  Convert the few manpage sources kept in .rst
format to the more traditional nroff style so no conversion
is needed at build time.

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: If64b4b504ee5bcacb688a721f479f181c53d99e0
Reviewed-on: http://review.whamcloud.com/18792
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>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7518 build: Remove the Phi accelerator-specific packaging 88/17488/5
Christopher J. Morrone [Sat, 5 Dec 2015 00:28:18 +0000 (19:28 -0500)]
LU-7518 build: Remove the Phi accelerator-specific packaging

Intel needed to build Lustre for its non-self-hosted accelerator version
of the Phi processor. It turns out that the OS for that is packaged in some
weird non-standard way. Intel added support into Lustre to rpm package it.
While those additions use words like "cross_build", making it sound like it
might be generic, it really isn't.

All of that is really messy and non-standard, and it is making far too
difficult to package Lustre for normal rpm-based distributions.

Hopefully this won't be too much of a problem for Intel, because Phi
processors are now self-hosting.

This is in large part a revert of commit
  426194de03ad47497e99d281d86b5cdfc5142148:
"LU-2784 build: Provide RPMs build for Xeon Phi(TM) card"

Change-Id: Ie5d655f1da3e17eae6edebb5f4d6fd6e7d58811f
Signed-off-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-on: http://review.whamcloud.com/17488
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoRevert "LU-4640 mdt: implement Remove Archive on Last Unlink policy" 25/18925/2
Oleg Drokin [Tue, 15 Mar 2016 17:52:06 +0000 (17:52 +0000)]
Revert "LU-4640 mdt: implement Remove Archive on Last Unlink policy"

This causes massive testing failures tracked in LU-7881

This reverts commit 74d92933108dc64b110a843352cf3336dca249d0.

Change-Id: Ie7f6d3b217b82bc0be02b8e418acf83f6b83b5cb
Reviewed-on: http://review.whamcloud.com/18925
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Tested-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7850 gnilnd: Fix niov calculation with offset kiov 93/18793/2
Chuck Fossen [Thu, 3 Mar 2016 20:14:26 +0000 (20:14 +0000)]
LU-7850 gnilnd: Fix niov calculation with offset kiov

The niov calculation in kgnilnd_setup_immediate_buffer() did not take
into account an offset kiov which can cause it to map one less page
than needed.
Add in the kiov_offset to the calculation.
Ran patched lnet_selftest that allows specifying an offset and
observed correct behavior.

Signed-off-by: Chris Horn <hornc@cray.com>
Change-Id: Id3d500d178841aa803c35bcbb7b56fd13b3fc1b0
Reviewed-on: http://review.whamcloud.com/18793
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7818 kernel: kernel update [SLES12 SP1 3.12.53-60.30] 08/18708/2
Bob Glossman [Thu, 25 Feb 2016 21:44:57 +0000 (13:44 -0800)]
LU-7818 kernel: kernel update [SLES12 SP1 3.12.53-60.30]

Update target and kernel_config files for new version

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

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I88acf88a3c9418afa2c86b2dc9bdfb2d65192e20
Reviewed-on: http://review.whamcloud.com/18708
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>
8 years agoLU-7799 hsm: use correct record start index for actions 25/18525/2
John L. Hammond [Fri, 19 Feb 2016 19:09:55 +0000 (13:09 -0600)]
LU-7799 hsm: use correct record start index for actions

In mdt_hsm_actions_proc_show() pass index of the last printed record
to the startidx of llog_cat_process(). This avoids an issue where the
next record to be printed would have been skipped.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: Ic8516d6a9429a21bf1f8d435d60bc9e8801982a5
Reviewed-on: http://review.whamcloud.com/18525
Tested-by: Jenkins
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Henri Doreau <henri.doreau@cea.fr>
Reviewed-by: jacques-Charles Lafoucriere <jacques-charles.lafoucriere@cea.fr>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7782 osp: save env for update callback 93/18493/4
Di Wang [Wed, 17 Feb 2016 03:03:22 +0000 (22:03 -0500)]
LU-7782 osp: save env for update callback

Because the ptlrpc_queue_wait might reset
the env to NULL, let's save the current
environment for update callback of
synchronous request.

Signed-off-by: Di Wang <di.wang@intel.com>
Change-Id: I16f0be1d1e44b5dec3253c4a0dc55af398f49de5
Reviewed-on: http://review.whamcloud.com/18493
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7768 fld: Do not retry fld request 82/18382/2
Di Wang [Mon, 8 Feb 2016 00:04:25 +0000 (19:04 -0500)]
LU-7768 fld: Do not retry fld request

Do not retry fld request if the remote target does
not support FLD_READ request.

Signed-off-by: Di Wang <di.wang@intel.com>
Change-Id: I02c6185cceb4aed6a9cd6b4853eb7423296bb1d2
Reviewed-on: http://review.whamcloud.com/18382
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7756 oss: allow larger number of OSS service threads 50/18350/2
Gregoire Pichon [Mon, 8 Feb 2016 16:07:24 +0000 (17:07 +0100)]
LU-7756 oss: allow larger number of OSS service threads

The current static limit on the maximum number of OSS service threads
is sometimes not large enough to have enough requests sent to the
OST devices.

This patch makes this limit tunable with a new module parameter
oss_max_threads, so that it can be adapted to the underlying
storage hardware.

Signed-off-by: Gregoire Pichon <gregoire.pichon@bull.net>
Change-Id: I182d1dc0a35b42b85b9c0e2a5413e3a852a4e5c3
Reviewed-on: http://review.whamcloud.com/18350
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>
8 years agoLU-7124 o2iblnd: limit cap.max_send_wr for MLX5 47/18347/9
Dmitry Eremin [Mon, 8 Feb 2016 12:54:06 +0000 (15:54 +0300)]
LU-7124 o2iblnd: limit cap.max_send_wr for MLX5

Decrease cap.max_send_wr until it is accepted by rdma_create_qp()

Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Change-Id: Ib76f07d997ea579f86fca467329ad357ed26b36f
Reviewed-on: http://review.whamcloud.com/18347
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Olaf Weber <olaf@sgi.com>
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7003 utils: must quote the value of the context option 94/18294/5
Frederic Saunier [Tue, 2 Feb 2016 08:46:43 +0000 (09:46 +0100)]
LU-7003 utils: must quote the value of the context option

As per mount(8) notes, the context value might contain commas,
in which case the  value has to be properly quoted, otherwise
mount(8) will interpret the comma as a separator between mount
options.

Signed-off-by: Frederic Saunier <frederic.saunier@atos.net>
Change-Id: I75e958da26273fe2a15ccae01a1176c3549821b8
Reviewed-on: http://review.whamcloud.com/18294
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Henri Doreau <henri.doreau@cea.fr>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7002 utils: SELinux context repeated in mount opts 19/18319/4
Frederic Saunier [Fri, 5 Feb 2016 10:11:36 +0000 (11:11 +0100)]
LU-7002 utils: SELinux context repeated in mount opts

SELinux context can only be specified once in mount options,
thus append_context_for_mount() should not apply once again
when called at mount time.

Signed-off-by: Frederic Saunier <frederic.saunier@atos.net>
Change-Id: I350b67ec42691b875aab085224185f2a7582d41d
Reviewed-on: http://review.whamcloud.com/18319
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Grégoire Pichon <gregoire.pichon@bull.net>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7736 scripts: ensure lustre_rmmod unload all modules 79/18279/2
Gregoire Pichon [Wed, 3 Feb 2016 15:07:38 +0000 (16:07 +0100)]
LU-7736 scripts: ensure lustre_rmmod unload all modules

The luste_rmmod script unloads the lustre modules recursively from
libcfs, unloading each dependent module first.

If the module dependency order makes an LND module to be unloaded
before the ptlrpc module, the LND unload fails and it results in
lnet and libcfs modules still loaded at the end.

# modprobe lustre
# lctl list_nids
10.1.0.64@o2ib
# lustre_rmmod
Modules still loaded:
lnet/lnet/lnet.o libcfs/libcfs/libcfs.o

This patch ensures modules are all unloaded by the lustre_rmmod
script.

Signed-off-by: Gregoire Pichon <gregoire.pichon@bull.net>
Change-Id: Id94308332a4f5f95f4617f0d5882a9e2857ee20d
Reviewed-on: http://review.whamcloud.com/18279
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Frederic Saunier <frederic.saunier@atos.net>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7727 mdt: fail FMODE_WRITE open if the client is read only 42/18242/2
Li Dongyang [Mon, 1 Feb 2016 04:31:03 +0000 (15:31 +1100)]
LU-7727 mdt: fail FMODE_WRITE open if the client is read only

O_WRONLY/O_RDWR open on a file will get EROFS on a read only client,
but the rpc gets sent to the mdt anyway.
mdt will increase the mot_write_count of the mdt object, blocking
subsequent FMODE_EXEC open to the same file.

This patch makes sure we fail the FMODE_WRITE open with EROFS on mdt
if the open request is from a read only client.
We also do a similar check on the client so we can fail with EROFS
straight away without sending the rpc to mdt.

Signed-off-by: Li Dongyang <dongyang.li@anu.edu.au>
Change-Id: I8b08e9d100a1ab8edf2fa47d4e2ebc5170f36df5
Reviewed-on: http://review.whamcloud.com/18242
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Ian Costello <icostello@ddn.com>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7689 obdclass: limit lu_site hash table size on clients 48/18048/4
Li Dongyang [Wed, 20 Jan 2016 01:17:28 +0000 (12:17 +1100)]
LU-7689 obdclass: limit lu_site hash table size on clients

Allocating a big hash table using the formula for osd
does not really work for clients. We will create new
hash table for each mount on a single client which is
a lot of memory more than expected.

This patch limits the hash table up to 8M on clients,
which has 524288 entries.

Signed-off-by: Li Dongyang <dongyang.li@anu.edu.au>
Change-Id: I908fda102ec5fd46c1325e0e41f5fe291aaa3378
Reviewed-on: http://review.whamcloud.com/18048
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7608 kernel: kernel upgrade [SLES12 SP1 3.12.51-60.25] 57/17857/10
Bob Glossman [Tue, 16 Jun 2015 20:35:42 +0000 (13:35 -0700)]
LU-7608 kernel: kernel upgrade [SLES12 SP1 3.12.51-60.25]

change supported version from base SLES12 to SLES12 SP1
Update target file for new version
Add kernel config for server build
Revise one of the ldiskfs patches for sles12,
as the rhel7 version it was sharing no longer applies.
Revise lbuild for sles12 server builds.

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

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I72a6964615356a2dfa0a9b4dae49a9457ed617b0
Reviewed-on: http://review.whamcloud.com/17857
Tested-by: Jenkins
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Minh Diep <minh.diep@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7781 kernel: kernel update RHEL7.2 [3.10.0-327.10.1.el7] 78/18478/4
Bob Glossman [Tue, 5 Jan 2016 16:54:33 +0000 (08:54 -0800)]
LU-7781 kernel: kernel update RHEL7.2 [3.10.0-327.10.1.el7]

Update RHEL7.2 kernel to 3.10.0-327.10.1.el7

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

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: Ic4b375e61cb069697c289c665484090787a93fe3
Reviewed-on: http://review.whamcloud.com/18478
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>
8 years agoLU-7024 tests: Skip squash_id if server version is older than 2.5.53 99/17799/4
Wei Liu [Mon, 4 Jan 2016 21:37:36 +0000 (13:37 -0800)]
LU-7024 tests: Skip squash_id if server version is older than 2.5.53

Add server version check in squash_id to skip if older than 2.5.53

Change-Id: I5e725a03873b4c776a9d90e003071ef777343901
Signed-off-by: Wei Liu <wei3.liu@intel.com>
Reviewed-on: http://review.whamcloud.com/17799
Tested-by: Jenkins
Reviewed-by: Jian Yu <jian.yu@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>
8 years agoLU-7524 fld: fld_clientlookup retries next target 83/17683/4
Noopur Maheshwari [Thu, 28 Jan 2016 17:28:49 +0000 (22:58 +0530)]
LU-7524 fld: fld_clientlookup retries next target

fld_client_lookup() retries for another target, if the remote
target is deactive. This was introduced in
http://review.whamcloud.com/#/c/14313/ For getting the
next export target from the list, we use:
target = list_entry(target->ft_chain.next, struct
lu_fld_target,ft_chain);

Now for tests that deactivate the last target,
&(target->ft_chain) is the last entry in the list, and the
next of the last entry(target->ft_chain.next) is the list_head.
Using the macro list_entry maps the list_head pointer back into
a pointer to the structure that contains the list_head. Thus,
it turns the head of the list into its containing
structure(lu_fld_target).
Hence, since the head of the list does not have any data
associated with it, the containing structure(i.e.target)
formed from the head of the list also does not have any data.
Therefore, an export target with no obd device data is generated.
This corrupted export target(generated from the head of the
list) causes the assertion.

The fix is: While fld_client_lookup retries for another target,
if the next entry in the export target list is the head of the
list(&fld->lcf_targets), move to the next entry after the
head(target->ft_chain.next->next) and retrieve the target.
Else retrieve the next target entry(target->ft_chain.next).

Seagate-bug-id: MRP-3200
Signed-off-by: Noopur Maheshwari <noopur.maheshwari@seagate.com>
Change-Id: Ia353437a315de0f1bb44d8822e836ac969b0567f
Reviewed-on: http://review.whamcloud.com/17683
Tested-by: Jenkins
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-4423 libcfs: Merge linux-proc.c into module.c 01/17201/6
Matthew Tyler [Tue, 5 Jan 2016 01:15:21 +0000 (20:15 -0500)]
LU-4423 libcfs: Merge linux-proc.c into module.c

module.c was previously the sole exporter of symbols from linux-proc.c
This patch removes the global symbols by merging the two files

Linux-commit: 87643abf92484074937594897145bb53efc0e77e

Signed-off-by: Matthew Tyler <matt.tyler@flashics.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Change-Id: I557efbfd37b5a23d2fdd8cd5a2aa399a7a494bc6
Reviewed-on: http://review.whamcloud.com/17201
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-3782 test: Fix for faliure when no file are created. 39/16939/9
Kirtankumar Krishna Shetty [Mon, 26 Oct 2015 12:01:27 +0000 (17:31 +0530)]
LU-3782 test: Fix for faliure when no file are created.

The test_18 of ost-pools.sh failed when the createmany
function returns zero and test showed a divide by zero
error. Fixed the issue by adding a check for the return
value and also fixed incorrect average calculation.

Seagate-bug-id: MRP-1117
Signed-off-by: Kirtankumar Krishna Shetty <kirtan.shetty@seagate.com>
Change-Id: I13ea0c1aeb974b5e74dfc7d92fe4e3b744a1fba6
Reviewed-on: http://review.whamcloud.com/16939
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-4640 mdt: implement Remove Archive on Last Unlink policy 84/14384/31
Bruno Faccini [Thu, 9 Apr 2015 08:31:54 +0000 (10:31 +0200)]
LU-4640 mdt: implement Remove Archive on Last Unlink policy

This patch introduces RAoLU policy where an implicit remove
request will be sent to archive/Agent upon last close of an
unlinked file.
Policy can be enabled/disabled using an lprocfs tunable.
If CDT not running, requests will be queued.

test_26[a-c] related tests have been also added in sanity-hsm.

This patch also contains a small fix to prevent unnecessary
progress infos to be gathered for REMOVE requests.

Patch now also handles cases where unlinked file is closed
from mdt_export_cleanup() after Client eviction. And
specific test_26d has been added in sanity-hsm.

Signed-off-by: Bruno Faccini <bruno.faccini@intel.com>
Change-Id: I7affb20b2834bcd0618412349fc3adc7f6744de0
Reviewed-on: http://review.whamcloud.com/14384
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Aurelien Degremont <aurelien.degremont@cea.fr>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6391 llite: Add client mount opt to ignore suppress_pings 27/14127/5
Wally Wang [Tue, 8 Sep 2015 16:56:48 +0000 (09:56 -0700)]
LU-6391 llite: Add client mount opt to ignore suppress_pings

When Lustre servers enable 'suppress_pings', all clients will stop
pinging. However, some clients may not have external mechanism
to notify Lustre servers for node death and therefore need to
preserve the Lustre ping.

This patch provides a mount option 'always_ping' so that the
client will not stop pinging even if the server has enabled
'suppress_pings'.

Signed-off-by: Wally Wang <wang@cray.com>
Change-Id: Ia7b45e8d2dbb53f02157ef2ab1d327d9483c2455
Reviewed-on: http://review.whamcloud.com/14127
Tested-by: Jenkins
Reviewed-by: Li Wei <wei.g.li@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Chris Horn <hornc@cray.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-5505 clio: revise read ahead algorithm 28/11528/7
Jinshan Xiong [Tue, 13 Jan 2015 18:59:42 +0000 (10:59 -0800)]
LU-5505 clio: revise read ahead algorithm

ras_window_len should only be updated in ras_update() by read
pattern and it can't be adjusted in ll_readahead() at all;
ras_consecutive_pages is used to detect read pattern from
mmap. It will be used to increase read ahead window length
gradually.

Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: I78b41646ccd8d9d1c810196a8cbcf58adbcb9319
Reviewed-on: http://review.whamcloud.com/11528
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7786 tests: improve racer cleanup 75/18475/2
Lokesh Nagappa Jaliminche [Wed, 17 Feb 2016 07:36:30 +0000 (13:06 +0530)]
LU-7786 tests: improve racer cleanup

On cleanup racer terminates child scripts: file_create.sh,
dir_create.sh, etc. Children of those srcipts do not get terminated
that way. Long running commands, like dd, causes annoying warnings:
     /mnt/lustre2 is still busy, wait one second
on attempt to umount $DIR2.

Add trap to all child scripts to have then to cleanup on exiting.

Seagate-bug-id: MRP-2106
Change-Id: Ie9453449ceea3657881ebc0ce1edeb9e259c848e
Signed-off-by: Lokesh Nagappa Jaliminche <lokesh.jaliminche@seagate.com>
Reviewed-on: http://review.whamcloud.com/18475
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7718 utils: lfs getstripe does not work on bind mount 95/18195/3
vinayakswami hariharmath [Thu, 28 Jan 2016 08:08:04 +0000 (13:38 +0530)]
LU-7718 utils: lfs getstripe does not work on bind mount

As /etc/mtab does not list original mount type and fsname
of bind mount point, using /prc/mounts to list out the
properties of the original mount point of bind mount.

Signed-off-by: vinayakswami hariharmath <vinayakswami.hariharmath@seagate.com>
Change-Id: Icf3644303552d56ad4e336decc5fadca581ff358
Reviewed-on: http://review.whamcloud.com/18195
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7627 tests: parse filefrag output correctly 94/17794/4
Jadhav Vikram [Fri, 31 Jul 2015 20:38:27 +0000 (02:08 +0530)]
LU-7627 tests: parse filefrag output correctly

Tests 130[bcde] failed because numbers parsed with leading zeros
treated as octal number so there is error value too great for base
when parsed lun id greater than 0007 value, Removing leading spaces
in parsed number and adding prefix 0x in condition solved the issue.
sanity tests 130[bcde] can now run on 10+ osts.

Seagate-bug-id: MRP-2107
Signed-off-by: Jadhav Vikram <jadhav.vikram@seagate.com>
Change-Id: I29d8c77905e5f23666b0e691cc2928d0cc858f59
Reviewed-on: http://review.whamcloud.com/17794
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6245 libcfs: remove typedefs in libcfs source code 02/17202/6
James Simmons [Wed, 10 Feb 2016 14:39:45 +0000 (09:39 -0500)]
LU-6245 libcfs: remove typedefs in libcfs source code

Convert most of the typdefs used in libcfs source code
to a standard struct. Only a few left which will be
completely removed in later patches. The typedef
function pointers will be the only ones remaining.

Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Change-Id: I5c9efa10d23904c456154d5afbb80c4197e91641
Reviewed-on: http://review.whamcloud.com/17202
Tested-by: Jenkins
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>
8 years agoLU-6245 libcfs: remove types.h from userland code 79/16879/9
James Simmons [Fri, 19 Feb 2016 15:10:51 +0000 (10:10 -0500)]
LU-6245 libcfs: remove types.h from userland code

With the cleanup of lustre_idl.h much of the lustre
specific types from the libcfs types.h header has
been removed. This cleanup removes the remaining
user land references allowing use to make libcfs
types.h a kernel specific header.

Change-Id: I888ace937993bab9f63be00fd3ef5e8f3a0a1803
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/16879
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: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-5783 o2iblnd: Add Fast Reg memory registration support 06/17606/9
Dmitry Eremin [Tue, 26 Jan 2016 21:49:17 +0000 (16:49 -0500)]
LU-5783 o2iblnd: Add Fast Reg memory registration support

FMR is deprecated and it not supported by the mlx5 driver.
This patch add memory management extensions support as
backup of FMR.

Change-Id: I58f01aac3cbef0edc0934d75bcf13888f84beb0d
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/17606
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7256 tests: wait current LFSCK to exit before next test 06/17406/10
Fan Yong [Sun, 29 Nov 2015 00:57:13 +0000 (08:57 +0800)]
LU-7256 tests: wait current LFSCK to exit before next test

During the sanity-lfsck tests, some test cases only check the
LFSCK status on MDT0, and go ahead if the status matches the
expected one. For DNE cases, such check maybe not enough, and
may leave un-finished LFSCK instances on other MDT(s). It may
cause the following trouble:

1) When move to next test case, the un-finished LFSCK instance
   may cause new LFSCK instance failure or other strange LFSCK
   check/repair behaviour.

2) If it is the last test case, and some MDT(s) umounted, then
   when some un-finished LFSCK instance on another online MDT
   needs to talk with some umounted MDT, then related RPC will
   trigger reconnect to the umounted MDT, and the LFSCK engine
   will hung there till such MDT mount again. That is the case
   for this ticket hit. In fact, we should allow the server to
   umount even though some LFSCK instances run on other nodes.
   The LU-6684 patch (http://review.whamcloud.com/#/c/17032/)
   will handle that more properly.

This patch is mainly for adjusting test scripts to wait all
the LFSCK instances to exit before the next test case.

There are two options to wait all the LFSCK instances to exit:

1) Check the LFSCK status via related lproc interface on each
   target (MDT/OST) one by one.

2) Export some new interface to check all the LFSCK instances'
   status via single command.

We choose the later solution. Because it is convenient for the
sys-admin. The new interface is 'lctl lfsck_query'. Its usage:

lctl lfsck_query <-M | --device MDT_device> [-h | --help]
                 [-t | --type check_type[,check_type...]]
                 [-w | --wait]

options:
-M: device to query LFSCK on.
-t: LFSCK type(s) to be queried (default is all).
-w: do not return until LFSCK not running.
-h: help message.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I0bdab85e47eb290bfe3605dfc37caf7ea35d186a
Reviewed-on: http://review.whamcloud.com/17406
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>
8 years agoLU-7038 obdclass: lu_site_purge() to handle purge-all 05/18505/2
Alex Zhuravlev [Thu, 18 Feb 2016 20:14:09 +0000 (23:14 +0300)]
LU-7038 obdclass: lu_site_purge() to handle purge-all

if the callers wants to purge all objects, then scanning
should start from the first bucket.

Change-Id: I9f75ff0bd10e1d501e7c790b03ef6a73819a96d1
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/18505
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Faccini Bruno <bruno.faccini@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7815 mdt: pinger should not evict MDT-MDT export 76/18676/3
Di Wang [Thu, 25 Feb 2016 14:15:04 +0000 (09:15 -0500)]
LU-7815 mdt: pinger should not evict MDT-MDT export

MDT-MDT export should not be added obd_chained_timed
list, to avoid being evicted by evict pinger thread.

Signed-off-by: Di Wang <di.wang@intel.com>
Change-Id: I99ae008905b3654a9ddc66ec60c27613f9930592
Reviewed-on: http://review.whamcloud.com/18676
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>
8 years agoLU-7825 mdt: release parent lock correctly for rename 07/18707/2
Di Wang [Fri, 26 Feb 2016 06:37:03 +0000 (01:37 -0500)]
LU-7825 mdt: release parent lock correctly for rename

Release source and target parent lock correctly in
mdt_reint_rename_internal().

Signed-off-by: Di Wang <di.wang@intel.com>
Change-Id: Iea4f6c4571362bff700167bdf29d2833d5f30a4d
Reviewed-on: http://review.whamcloud.com/18707
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6757 ldiskfs: large EA support 49/18449/2
Bob Glossman [Fri, 12 Feb 2016 23:50:26 +0000 (15:50 -0800)]
LU-6757 ldiskfs: large EA support

For large EA support, ext4_xattr_check_names() will return -EIO. This
patch fixes that by checking whether the large EA value is saved in an
external EA inode or not.

this mod copys a small subset of http://review.whamcloud.com/16012 that made
this change in el7 ldiskfs into sles12 ldiskfs

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I5f29eb5d87e1a3a0a928298ed3ac993c7a0bcdd1
Reviewed-on: http://review.whamcloud.com/18449
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>
8 years agoLU-7581 ldiskfs: RHEL7.2 fix wrong EA inode backpointer check 36/18436/2
Andreas Dilger [Fri, 12 Feb 2016 23:12:40 +0000 (16:12 -0700)]
LU-7581 ldiskfs: RHEL7.2 fix wrong EA inode backpointer check

Port http://review.whamcloud.com/17675 for RHEL7.2:

EA inode is linked back to the parent inode using
i_mtime.tv_sec filed. An inode number bigger 2G gets
mangled due to sign bit extension over the high bits
of tv_sec. It causes parent backpointer checks to fail.
Add an explicit integer type conversion to ignore high
bits of i_mtime.tv_sec.

Alexander Zarochentsev <alexander.zarochentsev@seagate.com>

Fix other code style issues and comments for upstream kernel.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I7d402f000cde5ffb1ededf7a80276538e4465757
Reviewed-on: http://review.whamcloud.com/18436
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7151 tests: fix sanity test_205 on SLES12 26/17826/6
Yang Sheng [Tue, 5 Jan 2016 15:18:04 +0000 (23:18 +0800)]
LU-7151 tests: fix sanity test_205 on SLES12

Invoke cancel_lru_locks to avoid read from cache.

Signed-off-by: Yang Sheng <yang.sheng@intel.com>
Change-Id: I46c96629fbba8439439b653ef596c3fdbc96e80c
Reviewed-on: http://review.whamcloud.com/17826
Tested-by: Jenkins
Reviewed-by: Jian Yu <jian.yu@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoRevert "LU-7646 o2iblnd: connrace protocol improvement" 41/18541/3
Doug Oucharek [Sun, 21 Feb 2016 20:41:19 +0000 (20:41 +0000)]
Revert "LU-7646 o2iblnd: connrace protocol improvement"

This reverts commit a62050bbcf70831f3c16b5c61a04816c1296909b.

Change-Id: I6743a44130dae02ffcd8ca0adf43cfe3b6d461ed
Signed-off-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-on: http://review.whamcloud.com/18541
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7778 osd: check if the object is destroyed 09/18509/3
Di Wang [Thu, 18 Feb 2016 13:31:18 +0000 (08:31 -0500)]
LU-7778 osd: check if the object is destroyed

Do not do reference increase, if the object is
estroyed.

Signed-off-by: Di Wang <di.wang@intel.com>
Change-Id: I260f9850fe325b8a5bc5693bc3e25a84eeec6da7
Reviewed-on: http://review.whamcloud.com/18509
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7766 lnet: Don't call roundup_pow_of_two on zero in LNetEQAlloc 70/18370/2
Oleg Drokin [Tue, 9 Feb 2016 18:19:11 +0000 (13:19 -0500)]
LU-7766 lnet: Don't call roundup_pow_of_two on zero in LNetEQAlloc

roundup_pow_of_two return when called on a zero argument is
undefined, so don't call it like that.

This fixes a problem introduced by commit http://review.whamcloud.com/16914
since 0 is a valid count parameter for LNetEQAlloc. Also manifesting
itself as an annoying kernel warning:
LNet: 3486:0:(lib-eq.c:85:LNetEQAlloc()) EQ callback is guaranteed to get every event, do you still want to set eqcount 1 for polling event which will have locking overhead? Please contact with developer to confirm

Change-Id: I9874d50807fff7bb3a039aa9c2eb4f9ca8565242
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/18370
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
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: Bob Glossman <bob.glossman@intel.com>
8 years agoLU-7704 utils: check LOOP_CTL_GET_FREE aginst target kernel 21/18121/8
Alex Zhuravlev [Mon, 25 Jan 2016 12:17:26 +0000 (15:17 +0300)]
LU-7704 utils: check LOOP_CTL_GET_FREE aginst target kernel

instead of a building host.

Change-Id: I838d4c6a8ed076013aaba7bc0aa8eb434fa10be8
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/18121
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7764 kernel: kernel update RHEL 6.7 [2.6.32-573.18.1.el6] 95/18395/2
Bob Glossman [Tue, 9 Feb 2016 17:07:50 +0000 (09:07 -0800)]
LU-7764 kernel: kernel update RHEL 6.7 [2.6.32-573.18.1.el6]

Update RHEL 6.7 kernel to 2.6.32-573.18.1.el6

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I3742514df667277fc16b4e4a71a75f3e8b16a8f9
Reviewed-on: http://review.whamcloud.com/18395
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Minh Diep <minh.diep@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7724 mdd: create mdd_changelog_on and _off functions 23/18223/2
Ben Evans [Fri, 29 Jan 2016 19:25:21 +0000 (13:25 -0600)]
LU-7724 mdd: create mdd_changelog_on and _off functions

Change mdd_changelog_on with arguments for on and off into
two distinct functions, one for on, one for off

Signed-off-by: Ben Evans <bevans@cray.com>
Change-Id: I42f930fb6a81421c8cd42ebfe95a521007bf5df6
Reviewed-on: http://review.whamcloud.com/18223
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Henri Doreau <henri.doreau@cea.fr>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-5092 nodemap: save id maps to targets in new index file 13/11813/31
Kit Westneat [Sat, 19 Sep 2015 13:20:04 +0000 (09:20 -0400)]
LU-5092 nodemap: save id maps to targets in new index file

Creates a new nodemap index file on registered targets and modifies
it on changes to the nodemaps. On init, the nodemap/idmaps are
loaded into memory from the index file. Currently only the MGS
registers itself.

Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Change-Id: Ie2b84e25ecc02d5d3daebf268d2f72ffaf142758
Reviewed-on: http://review.whamcloud.com/11813
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6389 utils: fix lustre_rsync read retry 75/18275/2
Andreas Dilger [Wed, 3 Feb 2016 02:48:35 +0000 (19:48 -0700)]
LU-6389 utils: fix lustre_rsync read retry

The read() syscall could return less than the amount of data
requested.  Retry the read call until all data is read or an
error is returned.

Even though Lustre will retry the short read internally, the
code may as well be written correctly.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I712969c4f920b53fa6dc27ddcb968cb82df88a44
Reviewed-on: http://review.whamcloud.com/18275
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-2049 grant: add support for OBD_CONNECT_GRANT_PARAM 93/7793/31
Johann Lombardi [Sat, 11 Jul 2015 00:23:28 +0000 (17:23 -0700)]
LU-2049 grant: add support for OBD_CONNECT_GRANT_PARAM

Add support for grant overhead calculation on the client side.
To do so, clients track usage on a per-extent basis. An extent is
composed of contiguous blocks.
The OST now returns to the OSC layer several parameters to consume
grant more accurately:
- the backend filesystem block size which is the minimal grant
  allocation unit;
- the maximum extent size;
- the extent insertion cost.
Clients now pack in bulk write how much grant space was consumed for
the RPC. Dirty data accounting also adopts the same scheme.

Moreover, each backend OSD now reports its own set of parameters:
- For ldiskfs, we usually have a 4KB block size with a maximum extent
  size of 32MB (theoretical limit of 128MB) and an extent insertion
  cost of 6 x 4KB = 24KB
- For ZFS, we report a block size of 128KB, an extent size of 128
  blocks (i.e. 16MB with 128KB block size) and a block insertion cost
  of 112KB.

Besides, there is now no more generic metadata overhead reservation
done inside each OSD. Instead grant space is inflated for clients
that do not support the new grant parameters. That said, a tiny
percentage (typically 0.76%) of the free space is still reserved
inside each OSD to avoid fragmentation which might hurt performance
and impact our grant calculation (e.g. extents are broken due to
fragmentation).

This patch also fixes several other issues:

- Bulk write resent by ptlrpc after reconnection could trigger
spurious error messages related to broken dirty accounting.
The issue was that oa_dirty is discarded for resent requests
(grant flag cleared in ost_brw_write()), so we can legitimately
have grant > fed_dirty in ofd_grant_check().
This was fixed by reseting fed_dirty on reconnection and skipping
the dirty accounting check in ofd_grant_check() in the case of
ptlrpc resend.

- In obd_connect_data_seqprint(), the connection flags cannot fit
  in a 32-bit integer.

- When merging two OSC extents, an extent tax should be released
  in both the merged extent and in the grant accounting.

Signed-off-by: Johann Lombardi <johann.lombardi@intel.com>
Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: I9c738235583324dfae7eade034db28a8161f8ef5
Reviewed-on: http://review.whamcloud.com/7793
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7713 osd: osd-zfs should serialize destroy vs. others 55/18155/13
Alex Zhuravlev [Tue, 26 Jan 2016 15:47:29 +0000 (18:47 +0300)]
LU-7713 osd: osd-zfs should serialize destroy vs. others

otherwise we can get unexpected EEXIST from DMU at any time.
sanityn/91 hits this regularly.

Change-Id: I948413a0689f1ceae7f073a1e33adef023eb274c
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/18155
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7437 utils: continue on errors in lctl {get,set}_param 38/18338/12
Andreas Dilger [Sat, 6 Feb 2016 03:34:34 +0000 (20:34 -0700)]
LU-7437 utils: continue on errors in lctl {get,set}_param

The lctl get_param, list_param, and set_param code was accidentally
changed from "handle all parameters and return any error at the end"
to "stop at the first failed parameter and return an error".

The "try all parameters" behaviour was originally implemented by
user request in 2.2.90-14-g5ad45a6 http://review.whamcloud.com/3245
but appears to have recently been broken in v2_7_63_0-45-g2d11035
by http://review.whamcloud.com/17223 moving lprocfs_param_pattern()
into the parameter handling loop rather than in the *param_display()
functions.  The new error handling for lprocfs_param_pattern() was
handled as an error, when it would previously only have been saved.
This was further aggrivated by the reorganization to cfs_get_paths()
in v2_7_66_0-10-g85cbe1a.

Restore the old error handling and add tests to verify it works.
Print error messages whenever parameter processing fails before
continuing to the next parameter, so that the user can see which
parameter(s) had the error.  Include the operation type in the
messages printed by param_display(), since this is available.

The cfs_get_paths() patch also broke "lctl list_param -D" handling
(print only directories) by returning an error when this option was
used because display_param() returned NULL for non-directories (so
they wouldn't be printed), but the error handling treated this as
ENOMEM.  Move the handling for non-directories out of display_param
to avoid this, and add a test for "lctl list_param -D".

Fix a new memory leak in display_name() if realloc() fails.  Use the
existing param_name and don't append the type suffix in this case.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I710585a4b8614f00e3837560a968cd4f0c300c1e
Reviewed-on: http://review.whamcloud.com/18338
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: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7579 mdd: do not mark object as an orphan early 44/18444/2
Alex Zhuravlev [Sat, 13 Feb 2016 14:51:27 +0000 (17:51 +0300)]
LU-7579 mdd: do not mark object as an orphan early

do not set LUSTRE_ORPHAN_FL before calling __mdd_orphan_add()
as racing mdd_la_get() may set ORPHAN_OBJ causing an false
assertion in __mdd_orphan_add().

Change-Id: If8a9417cdb3c0a9d1e96ac1345e841dc5fc89b53
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/18444
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7774 lnet: issue in the offset in hash table 22/18422/2
Alyona Romanenko [Thu, 11 Feb 2016 21:37:17 +0000 (22:37 +0100)]
LU-7774 lnet: issue in the offset in hash table

the offset in hash table is overflowed for no wildcard portal.
The offset for no wildcard has been corrected as for wildcard
in the LU-1622

Signed-off-by: Alyona Romanenko <alyona.romanenko@seagate.com>
Change-Id: Ib45539ade0e3ed127d82448333da8f91b3146291
Reviewed-on: http://review.whamcloud.com/18422
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7680 mdd: put migrated object on the orphan list 32/18032/8
Alex Zhuravlev [Mon, 18 Jan 2016 19:03:19 +0000 (22:03 +0300)]
LU-7680 mdd: put migrated object on the orphan list

do this unconditionally. mdd_finish_unlink() can't do this
properly as la_nlink cached in ma greater than 0. this
results in lost inodes (i.e. we still have an entry in OI,
but corresponding inode doesn't exist) and many messages
like:
LustreError: 3458:0:(osd_handler.c:3239:osd_object_ref_del())
 lustre-MDT0001-osd: nlink == 0 on [0x240000403:0x53b:0x0],
 maybe an upgraded file? (LU-3915)

the patch also adds a sanity check in osd_object_release() to
ensure that nobody is trying to leave non-destroyed object with
nlink = 0.

Change-Id: Iecfae75944854d8e9613431acb68ad17dfea90f0
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/18032
Reviewed-by: wangdi <di.wang@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7579 osd: move ORPHAN/DEAD flag to OSD 24/18024/12
Di Wang [Sat, 9 Jan 2016 15:05:32 +0000 (10:05 -0500)]
LU-7579 osd: move ORPHAN/DEAD flag to OSD

If a directory is unlinked while it is opened, then
it will set LUSTRE_ORPHAN_FL flag to osd object, so
the remote target can get this status by dt_attr_get().

And also LUSTRE_ORPHAN_FL will be stored inside
LMA (converted to LMAI_ORPHAN). In the meantime,
it will remove LUSTRE_SLAVE_DEAD_FL flag for dead
stripes of a striped directory, i.e. all of
dead directories (stripes) will use LMAI_ORPHAN
in LMA to indicate the status.

Also in osp_xattr, it should retrieve the return
value from the reply, which is the real length of
EA, instead of using reply buffer length.

Change-Id: I14e933b5f008981cbacbdfa478e4ec8cbebf97dc
Signed-off-by: Di Wang <di.wang@intel.com>
Reviewed-on: http://review.whamcloud.com/18024
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoNew tag 2.8.50 2.8.50 v2_8_50 v2_8_50_0
Oleg Drokin [Tue, 9 Feb 2016 19:08:29 +0000 (14:08 -0500)]
New tag 2.8.50

Start of 2.9 release development cycle

Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Change-Id: I2643371cba4b25743eac142849d3ffc5935b3b50

8 years agoLU-7725 osp: get update reply from replied req 32/18232/3
Di Wang [Sat, 30 Jan 2016 21:59:25 +0000 (16:59 -0500)]
LU-7725 osp: get update reply from replied req

Only tries to retrieve update reply from replied request,
to avoid unnecessary error console message.

Signed-off-by: Di Wang <di.wang@intel.com>
Change-Id: I7b31d3e6b2a66fcce8fc77173f2a438216573f98
Reviewed-on: http://review.whamcloud.com/18232
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7737 lod: not return -EIO during process updates log 08/18308/2
Di Wang [Thu, 4 Feb 2016 11:23:23 +0000 (06:23 -0500)]
LU-7737 lod: not return -EIO during process updates log

Do not return -EIO in lod_process_updates_recovery(),
otherwise the update log might be deleted incorrectly,
especially when doing umount during recovery, see
llog_process_thread().

Signed-off-by: Di Wang <di.wang@intel.com>
Change-Id: I822dae9984eb044ce3d63a30d8bb24294f46dd65
Reviewed-on: http://review.whamcloud.com/18308
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@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>
8 years agoLU-6020 gss: add lsvcgssd init.d wrapper 46/15546/8
Andrew Perepechko [Fri, 10 Jul 2015 20:31:13 +0000 (23:31 +0300)]
LU-6020 gss: add lsvcgssd init.d wrapper

This patch adds a trivial init.d wrapper for
lsvcgssd so that it can be started automatically.

Xyratex-bug-id: SNT-15

Change-Id: Ida6770a80ee1dd04025d6eabf4202a61179dc9be
Signed-off-by: Andrew Perepechko <andrew.perepechko@seagate.com>
Reviewed-on: http://review.whamcloud.com/15546
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Jeremy Filizetti <jeremy.filizetti@gmail.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7679 build: strengthen lustre-dkms during on-target build 67/18167/5
Bruno Faccini [Wed, 27 Jan 2016 00:05:21 +0000 (01:05 +0100)]
LU-7679 build: strengthen lustre-dkms during on-target build

This patch modifies internal scripts to strengthen
lustre[-client]-dkms package vs issues ([spl,zfs]-dkms not built,
configure errors, ...) that could be encountered during on-target
DKMS build step.

Signed-off-by: Bruno Faccini <bruno.faccini@intel.com>
Change-Id: I2dc8c91ff5874228dde0bc7995e45a6dcc6973d4
Reviewed-on: http://review.whamcloud.com/18167
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Jenkins
Reviewed-by: Michael MacDonald <michael.macdonald@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-3531 doc: update lfs migrate and mkdir documentation. 92/17392/14
Richard Henwood [Mon, 30 Nov 2015 17:55:00 +0000 (11:55 -0600)]
LU-3531 doc: update lfs migrate and mkdir documentation.

lfs mkdir command has it's own man page. Update lfs main man page
to point directly at that page. lfs migrate is updated to accurately
record usage and limitations.

Signed-off-by: Richard Henwood <richard.henwood@intel.com>
Change-Id: Ie247f1f267a4d55a43ce5aaa734c8b8da487771c
Reviewed-on: http://review.whamcloud.com/17392
Reviewed-by: wangdi <di.wang@intel.com>
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7623 mdt: Match up prototype and definition of mdt_hsm_cdt_control_seq_write 89/17789/6
Oleg Drokin [Sun, 3 Jan 2016 22:53:40 +0000 (17:53 -0500)]
LU-7623 mdt: Match up prototype and definition of mdt_hsm_cdt_control_seq_write

Change-Id: I2cc59f8d165358e5256f59106ba819dfb50db85c
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/17789
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: Dmitry Eremin <dmitry.eremin@intel.com>
8 years agoLU-4423 socklnd: use kernel socket sockopt apis 86/17786/3
Oleg Drokin [Sun, 3 Jan 2016 22:10:56 +0000 (17:10 -0500)]
LU-4423 socklnd: use kernel socket sockopt apis

Change old way of ops->setsockopt or ops->getsockopt in kernel
to kernel_setsockopt or kernel_getsockopt.

Imported from mainline kernel,
commit 80db2734acbc78db12798cfb611d6acc7fe389e6

Change-Id: I996c4b8cd24bd506ffcc87e4ff5ae731c59a9109
Signed-off-by: Fredrick John Berchmans <fredrickprashanth@gmail.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/17786
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: Dmitry Eremin <dmitry.eremin@intel.com>
8 years agoLU-7623 lnet: Properly declare lnet_ping() forward declaration 84/17784/3
Oleg Drokin [Sun, 3 Jan 2016 21:31:22 +0000 (16:31 -0500)]
LU-7623 lnet: Properly declare lnet_ping() forward declaration

It was missing __user attribute for the userspace pointer before.

Change-Id: I21937c153294387f14e3114d7970dc879a055cbe
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/17784
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: Dmitry Eremin <dmitry.eremin@intel.com>
8 years agoLU-7623 lmv: Mark lmv_hsm_ct_register/unregister uarg as __user 83/17783/3
Oleg Drokin [Sun, 3 Jan 2016 21:07:16 +0000 (16:07 -0500)]
LU-7623 lmv: Mark lmv_hsm_ct_register/unregister uarg as __user

Since it is a userspace pointer, this makes things neater and
sparse happier.

Change-Id: I3249ecba20a2018b6ebba4d257ce918b4bd9aed1
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/17783
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: Dmitry Eremin <dmitry.eremin@intel.com>
8 years agoLU-7623 lmv: Properly mark lmv_fid2path uarg argment as __user 82/17782/4
Oleg Drokin [Tue, 2 Feb 2016 15:29:11 +0000 (10:29 -0500)]
LU-7623 lmv: Properly mark lmv_fid2path uarg argment as __user

This makes sparse happy too.

Change-Id: Ice8067168af9a6d13900e6224d3224dbb6bf0541
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/17782
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
8 years agoLU-7623 Update obd iocontrol methods with __user attribute 81/17781/5
Oleg Drokin [Thu, 4 Feb 2016 14:21:22 +0000 (09:21 -0500)]
LU-7623 Update obd iocontrol methods with __user attribute

lmv_iocontrol, osc_iocontrol, mdt_iocontrol, mgs_iocontrol, ofd_iocontrol,
osc_iocontrol, osp_iocontrol and echo_client_brw_ioctl were somehow missing
the __user attribute for uarg.

Change-Id: I10603823f5856fee6ca48c2aea03273e9d29144e
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/17781
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>
8 years agoLU-6587 obdclass: use OBD_FREE_LARGE with OBD_ALLOC_LARGE 34/18034/4
Andreas Dilger [Mon, 18 Jan 2016 19:54:46 +0000 (12:54 -0700)]
LU-6587 obdclass: use OBD_FREE_LARGE with OBD_ALLOC_LARGE

The change to use is_vmalloc_addr() instead of checking the allocation
size was introduced in commit 919b85d796f8, which allows using trying
kmalloc() before vmalloc(), but the deprecation of OBD_FREE_LARGE()
should not have happened since this adds needless overhead.

Use OBD_FREE_LARGE() for memory allocated with OBD_ALLOC_LARGE() so
that we only need to check is_vmalloc_addr() in OBD_FREE_LARGE()
instead of every call to OBD_FREE().

Add comments to data structures using OBD_ALLOC_LARGE() memory so
that it is clear to the users that OBD_FREE_LARGE() must be used
when freeing that memory.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: Ief38142f6f777eec4ec0dae4ec64bfbf78b804ed
Reviewed-on: http://review.whamcloud.com/18034
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
8 years agoLU-6719 osd-zfs: Ignore EEXIST during object init 54/18054/4
Nathaniel Clark [Wed, 20 Jan 2016 16:16:00 +0000 (11:16 -0500)]
LU-6719 osd-zfs: Ignore EEXIST during object init

ZFS can return EEXIST if object exists but is being destroyed.

Specifically see dnode_hold_impl()

Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: Id99b406b2f02a1337b9f1566fba30dbced755d5d
Reviewed-on: http://review.whamcloud.com/18054
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Tested-by: Jenkins
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7578 gnilnd: Return correct error on GNI_RC_ERROR_NOMEM 66/17666/2
Chuck Fossen [Fri, 11 Dec 2015 15:02:44 +0000 (15:02 +0000)]
LU-7578 gnilnd: Return correct error on GNI_RC_ERROR_NOMEM

gni_mem_register() can now return GNI_RC_ERROR_NOMEM.
The upper layers need GNI_RC_ERROR_RESOURCE returned so that the
registration will retry.
In kgnilnd_mem_register, convert GNI_RC_ERROR_NOMEM to
GNI_RC_ERROR_RESOURCE.

Signed-off-by: Chris Horn <hornc@cray.com>
Change-Id: I117acbe7ed24447bb2cf6d36b7f4814eea05ac2d
Reviewed-on: http://review.whamcloud.com/17666
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7578 gnilnd: Handle new return code in gni_mem_register() 65/17665/2
Chuck Fossen [Tue, 1 Dec 2015 22:50:32 +0000 (22:50 +0000)]
LU-7578 gnilnd: Handle new return code in gni_mem_register()

gni_mem_register() can now return GNI_RC_ERROR_NOMEM. Add
GNI_RC_ERROR_NOMEM to the case statement of handled return codes.

Signed-off-by: Chris Horn <hornc@cray.com>
Change-Id: Ib591212f070b5eb15240fa4bdd247aa3deb4357a
Reviewed-on: http://review.whamcloud.com/17665
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7578 gnilnd: Add module parameter reg_fail_timeout 64/17664/4
Chuck Fossen [Mon, 1 Feb 2016 23:46:00 +0000 (18:46 -0500)]
LU-7578 gnilnd: Add module parameter reg_fail_timeout

During network outages on very large machines, it is possible to use
up all of GART space with connections that are in purgatory waiting
to be freed when we finally make a new connection.
This mod adds a timeout parameter so that when we fail registering
memory for fma blocks for a period of time, we can bring the node down
so it is not stuck in a state of being up but unusable.
This can only happen on service nodes as there can potentially be 10s
of thousands of connections.
A recommended setting for reg_fail_timeout would be 60 - 300 seconds.
The default setting for reg_fail_timeout is -1 (disabled).

Set fail_loc 0xf002 which fails memory registrations and see that we
BUG after the required timeout.
Test that transient registration failures within the timeout period
do not cause BUG.

Signed-off-by: Chris Horn <hornc@cray.com>
Signed-off-by: Chuck Fossen <chuckf@cray.com>
Change-Id: I214b5e5a297c547f3c4675fcc263e5dd8aaed24f
Reviewed-on: http://review.whamcloud.com/17664
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: James Simmons <uja.ornl@yahoo.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>
8 years agoLU-7646 o2iblnd: connrace protocol improvement 37/18037/4
Liang Zhen [Thu, 7 Jan 2016 16:50:51 +0000 (00:50 +0800)]
LU-7646 o2iblnd: connrace protocol improvement

This patch can allow a peer that has lower NID to win the connection
race if it has already lost the race for many times.

Signed-off-by: Doug Oucharek <doug.s.oucharek@intel.com>
Signed-off-by: Liang Zhen <liang.zhen@intel.com>
Change-Id: I49c8151469ff9c4019213117396c49231f6b6948
Reviewed-on: http://review.whamcloud.com/18037
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>
8 years agoLU-7729 target: fix process_req_last_xid() return value 45/18245/3
Niu Yawei [Mon, 1 Feb 2016 16:15:44 +0000 (11:15 -0500)]
LU-7729 target: fix process_req_last_xid() return value

process_req_last_xid() returns ptlrpc_error() on error, which
actually returns 0 to caller mistankely.

Test-Parameters: envdefinitions=ONLY=failover_ost \
clientcount=4 osscount=2 mdscount=2 mdtcount=1 \
austeroptions=-R failover=true iscsi=1 \
testlist=recovery-mds-scale

Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: I136a8ef153a3ea08dcbf05e11fb412e31947be20
Reviewed-on: http://review.whamcloud.com/18245
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>
8 years agoLU-7584 tests: create file on single MDS in sanity test 129 92/18192/8
Jian Yu [Thu, 28 Jan 2016 22:54:35 +0000 (14:54 -0800)]
LU-7584 tests: create file on single MDS in sanity test 129

In sanity test 129, it creates only one more file to check
whether the directory size exceeds the limit or not. However,
with DNE configuration, the new file might be created in a
different stripe from the previous one that hit ENOSPC.
So, directory size might not exceed the limit, which causes
the test fail.

Since the test is for checking ldiskfs dir size parameters, the
patch just fixes it to create files on single MDS so as to make
sure creating new files will increase the directory size.

Test-Parameters: envdefinitions=ONLY=129 clientdistro=el7 ossdistro=el7 mdsdistro=el7 mdscount=2 mdtcount=4 testlist=sanity
Signed-off-by: Jian Yu <jian.yu@intel.com>
Change-Id: I75a2437fe3a4f6b160651d8704799ce8478a0041
Reviewed-on: http://review.whamcloud.com/18192
Tested-by: Jenkins
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6824 ldiskfs: add dir htree growing warning patch 69/18169/6
Jian Yu [Wed, 27 Jan 2016 02:25:03 +0000 (18:25 -0800)]
LU-6824 ldiskfs: add dir htree growing warning patch

RHEL 7.2 and SLES 12 were supported after landing commit
07660ad33a7d109cced29b6400f99f25adab3f54. This patch adds
the missing ext4-give-warning-with-dir-htree-growing.patch
into the series files for both distros.

Signed-off-by: Jian Yu <jian.yu@intel.com>
Change-Id: I40b4d34de467bc933dd43e175d78e37f59d91b16
Reviewed-on: http://review.whamcloud.com/18169
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7564 osp: Do not match the lock for OSP 06/18206/3
Di Wang [Thu, 28 Jan 2016 11:20:07 +0000 (06:20 -0500)]
LU-7564 osp: Do not match the lock for OSP

In DNE operation, we do not need match the lock
in the OSP cache, so to lock the remote object
exclusively on master MDT, then other threads on
master MDT will not be able to access the remote
object at the same time.

Signed-off-by: Di Wang <di.wang@intel.com>
Change-Id: I69a4f243fb26f4e37857fea6fd63b650b6ad046e
Reviewed-on: http://review.whamcloud.com/18206
Tested-by: Jenkins
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6225 test: test-framework does not cleanup for failed tests 92/13692/5
gaurav mahajan [Mon, 9 Feb 2015 12:53:21 +0000 (18:23 +0530)]
LU-6225 test: test-framework does not cleanup for failed tests

adding reset_fail_loc to error_noexit() func in test-framework
which resets fail_loc and makes sure that the next test
will be started with no error injected.

Xyratex-bug-id: MRP-2079
Signed-off-by: gaurav mahajan <gaurav.mahajan@seagate.com>
Change-Id: I8cadd21a794d0eb429aee4734d47bd56caf0b8fe
Signed-off-by: gaurav mahajan <gaurav.mahajan@seagate.com>
Reviewed-on: http://review.whamcloud.com/13692
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>
8 years agoLU-3953 build: Fix duplicate snmp directory packaging 91/18191/2
Christopher J. Morrone [Thu, 28 Jan 2016 01:55:48 +0000 (20:55 -0500)]
LU-3953 build: Fix duplicate snmp directory packaging

The %{_datadir}/lustre/snmp/mibs is in conflict with the later
%{_datadir}/lustre in the %files section.  Fortunately, it just
prints a warning rather than aborting the process.  But we can
fix that warning.

We remove the more specific %{_datadir}/lustre/snmp/mibs since
the files are already included with the more general form.

Change-Id: I293f0bf07760719f7cf3e1a963e49c007a483311
Signed-off-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-on: http://review.whamcloud.com/18191
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Brian J. Murrell <brian.murrell@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7578 gnilnd: Modify allocator flags to prevent waiting 63/17663/2
James Shimek [Tue, 10 Nov 2015 19:18:01 +0000 (19:18 +0000)]
LU-7578 gnilnd: Modify allocator flags to prevent waiting

kgnilnd currently utilized several flags to try and prevent specific
things from causing the node to hang. This has not been enough to
prevent oom conditions from stalling all network traffic on computes
nodes during periods where memory filling tests are run doing IO.
Based on discussions with the kernel group we are adding a new flag
__GFP_NORETRY to the allocator flags in the hopes that it prevents the
allocator from spinning forever. Change GFP_NOFS to GFP_NOIO to fully
protect against any "IO" occuring in an IO path.

Signed-off-by: Chris Horn <hornc@cray.com>
Change-Id: I2bcc71ebf6e8ff75d2ac41cae44387294328c74c
Reviewed-on: http://review.whamcloud.com/17663
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7468 tests: update maloo_upload.sh to create upload.tar.gz 44/17344/4
Leonel Ochoa [Mon, 23 Nov 2015 23:17:51 +0000 (15:17 -0800)]
LU-7468 tests: update maloo_upload.sh to create upload.tar.gz

Uploaded files are now expected to have the '.tar.gz' extension.
This patch updates maloo_upload.sh to create upload.tar.gz before
uploading.

Signed-off-by: Leonel Ochoa <leonel.ochoa@intel.com>
Change-Id: Id8b6dd08dde873fad9e85438360e451945903e9c
Reviewed-on: http://review.whamcloud.com/17344
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Minh Diep <minh.diep@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7703 mdd: linkea should be updated properly at migration 09/18109/6
Alex Zhuravlev [Sat, 23 Jan 2016 22:17:41 +0000 (01:17 +0300)]
LU-7703 mdd: linkea should be updated properly at migration

when we're migrating a directory and fix children's linkeas,
do this correctly - search for old fid, replace with a new one.

Change-Id: Ib48f73d51ca635083d733202c59a9bdcdfe116fb
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/18109
Tested-by: Jenkins
Reviewed-by: wangdi <di.wang@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7443 llog: remove unused and empty llog 27/17227/9
Alexander Boyko [Tue, 17 Nov 2015 12:22:05 +0000 (15:22 +0300)]
LU-7443 llog: remove unused and empty llog

This patch adds ability to remove plain llog during record
cancellation for inactive plain llog. Before it such files
were removed during mount operation. And this is not enough
for changelog. The current marker of catalog could reach the
undeleted record, and this causes changelog problem.

Signed-off-by: Alexander Boyko <alexander.boyko@seagate.com>
Seagate-bug-id: MRP-2897
Change-Id: Ic24a1643f2fb264ad1212668e382a0bbc9b735b7
Reviewed-on: http://review.whamcloud.com/17227
Tested-by: Jenkins
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-5030 util: migrate lctl params functions to use cfs_get_paths() 66/17466/18
James Simmons [Thu, 28 Jan 2016 16:08:48 +0000 (11:08 -0500)]
LU-5030 util: migrate lctl params functions to use cfs_get_paths()

Make the normal lctl set_param,list_param, and get_param
operations to use the new cfs_get_paths() function which
enables sysfs support along side procfs.

Change-Id: I5817e96c3172de53930776f0891f2a642907bfde
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Signed-off-by: Wang Chao <chao.ornl@gmail.com>
Reviewed-on: http://review.whamcloud.com/17466
Reviewed-by: Ryan Haasken <haasken@cray.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7715 out: fix err_serious in out_handle 87/18187/3
Di Wang [Wed, 27 Jan 2016 14:16:52 +0000 (09:16 -0500)]
LU-7715 out: fix err_serious in out_handle

Only return err_serious before out_handle() pack reply.

Signed-off-by: Di Wang <di.wang@intel.com>
Change-Id: I088501019c3b79561e8a0c43609e33f3a5a7d746
Reviewed-on: http://review.whamcloud.com/18187
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7716 mdt: No is_subdir check for same dir rename 72/18172/2
Di Wang [Wed, 27 Jan 2016 00:13:01 +0000 (19:13 -0500)]
LU-7716 mdt: No is_subdir check for same dir rename

In rename, if the source and target are in the same
directory, then it does not need is_subdir check.

Signed-off-by: Di Wang <di.wang@intel.com>
Change-Id: I03a4aff71b2c284197a8f78f6306568249162aca
Reviewed-on: http://review.whamcloud.com/18172
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7705 ldlm: make round_timeout() static 19/18119/3
Alex Zhuravlev [Mon, 25 Jan 2016 11:47:35 +0000 (14:47 +0300)]
LU-7705 ldlm: make round_timeout() static

to make gcc5 happy.

Change-Id: I5e92facd497c04b2595dea3782935f2cc5791de1
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/18119
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: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>