Whamcloud - gitweb
fs/lustre-release.git
4 years agoLU-6323 build: fix debian to compile with external IB 49/13949/2
Wang Shilong [Mon, 2 Mar 2015 09:47:34 +0000 (17:47 +0800)]
LU-6323 build: fix debian to compile with external IB

Debian seems compiling with fixed configurations, if users
want to make debian package with external IB, it won't work.

Signed-off-by: Wang Shilong <wshilong@ddn.com>
Change-Id: I0ecb5c79d5948c0e8ab821c175ca89afee9cb97d
Reviewed-on: http://review.whamcloud.com/13949
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Blake Caldwell <blakec@ornl.gov>
Reviewed-by: Li Xi <lixi@ddn.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6285 libcfs: get rid of deprecated cpumask function usage 26/13926/7
Oleg Drokin [Wed, 15 Apr 2015 17:17:06 +0000 (13:17 -0400)]
LU-6285 libcfs: get rid of deprecated cpumask function usage

In current kernel cpus_* functions are deprecated, replace them
with cpumask_* functions instead.
Also get rid of most of NR_CPUS

Change-Id: I573faadb2f60cdfb523158d32427e9cb456a9456
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/13926
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>
4 years agoLU-6206 ptlrpc: start minimum service threads 23/13823/2
Andreas Dilger [Wed, 14 Jan 2015 14:55:44 +0000 (09:55 -0500)]
LU-6206 ptlrpc: start minimum service threads

If the ptlrpc_min_threads parameter is changed via /proc after the
service has started, then at least the requested number of service
threads should be started.  Otherwise this parameter would only be
used at initial thread startup and ignored if changed via /proc.

Fix conf-sanity.sh test_53[ab] to verify that at least the minimum
number of threads has been started when threads_min parameter is
changed, instead of just checking the parameter itself.  Also fix
test code style for 80-column line wrapping and tabs for indents.

The head utility does not always support shortcut "-1" option. It
should be specified as "-n1".

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I6e4bb4131d7500a93952b64102f885c765500c1e
Reviewed-on: http://review.whamcloud.com/13823
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: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6266 libcfs: add kstrtoul() compat function 20/13820/7
Andreas Dilger [Mon, 6 Apr 2015 22:38:06 +0000 (18:38 -0400)]
LU-6266 libcfs: add kstrtoul() compat function

The kstrtoul() function was only added to the upstream kernel in
commit v2.6.38-6934-g33ee3b2. While it is backported to RHEL6 2.6.32
kernels, it does not exist for vanilla kernels before that point.

The patch http://review.whamcloud.com/5700 added uses of kstrtoul()
to Lustre that break the build for older kernels.  While it would be
possible to convert those calls to simple_strtoul(), that function
is deprecated in newer kernels, and checkpatch.pl will generate a
warning, so using kstrtoul() is the right thing for newer kernels.

Add a wrapper function for kstrtoul() for older kernels.  There are
other kstrto*() functions in newer kernel not added by this patch.
Only the one function call is currently used, though it would be good
to convert Lustre over to using this family of functions instead of
simple_strtoul() in the future.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: Id30313e51b8d240aacc09a6e86a22460fa2540e5
Reviewed-on: http://review.whamcloud.com/13820
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>
4 years agoLU-5744 obdclass: fix problem of muitple MGTs on same node 01/12301/2
Li Xi [Wed, 15 Oct 2014 15:02:10 +0000 (23:02 +0800)]
LU-5744 obdclass: fix problem of muitple MGTs on same node

When a MGT is mounted on a node which already has an running MGT
it will fail as expected since only one MGS can run on a node.
However, the MGS will be stopped by mistake during this process.
This patch fixes the problem.

Signed-off-by: Li Xi <pkuelelixi@gmail.com>
Change-Id: Ibebf59be3d41849d02801a4ac29fca31dc06c408
Reviewed-on: http://review.whamcloud.com/12301
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-3266 test: regression tests for nrs policies 86/9286/7
Sergey Cheremencev [Fri, 31 Jan 2014 10:33:47 +0000 (14:33 +0400)]
LU-3266 test: regression tests for nrs policies

Tests make IO for each policy with different parametrs.

Change-Id: Iacf4721015be4cf9abdd2f41f5dd0614a8553756
Signed-off-by: Sergey Cheremencev <Sergey_Cheremencev@xyratex.com>
Signed-off-by: Wu Libin <lwu@ddn.com>
Reviewed-on: http://review.whamcloud.com/9286
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-6177 lfsck: calculate the phase2 time correctly 14/14014/6
Fan Yong [Wed, 8 Apr 2015 13:39:46 +0000 (21:39 +0800)]
LU-6177 lfsck: calculate the phase2 time correctly

When the second-stage scanning finished, the assistant thread will
calculate how long the phase2 scanning has consumed by calling the
la_double_scan_result(). It should use com->lc_time_last_checkpoint,
(unfortunately it used lfsck->li_time_last_checkpoint by wrong) for
that.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I96cfdf615038f52aea0df33930226155ca61ce9b
Reviewed-on: http://review.whamcloud.com/14014
Tested-by: Jenkins
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>
4 years agoLU-6350 lfsck: lock object based on prediction for bad linkEA 08/14008/8
Fan Yong [Wed, 8 Apr 2015 13:32:10 +0000 (21:32 +0800)]
LU-6350 lfsck: lock object based on prediction for bad linkEA

Originally, when the namespace LFSCK verifies the object's linkEA,
it will check the linkEA without related ldlm/dt lock firstly. If
finds bad linkEA (or lost linkEA), it will acquire the ldlm/dt lock
on the object, then re-check the object; if still some inconsistent,
it will repair the inconsistency with the lock.

For the system that contains many inconsistent objects, such double
check mechanism is some inefficient. Be as improvement, the LFSCK can
make some prediction, for example: if the former object contains bad
linkEA, then when verifies current object, the namespace LFSCK will
acquire the ldlm/dt lock on the object in advance; if the prediction
is wrong, it will NOT take ldlm/dt lock in advance for next object.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I16b317305894a07bb372f5ca5e5f22052ff7cd66
Reviewed-on: http://review.whamcloud.com/14008
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6441 ptlrpc: ptlrpc_bulk_abort unlink all entries in bd_mds 99/14399/5
Artem Blagodarenko [Wed, 8 Apr 2015 10:46:44 +0000 (13:46 +0300)]
LU-6441 ptlrpc: ptlrpc_bulk_abort unlink all entries in bd_mds

desc->bd_md_count is passed as bd_mds entries count that should
be unlinked in mdunlink_iterate_helper() function. But active
bd_md_count entries not always placed from first array element.
So there are cases when active bd_mds entries are not unlinked.
This problem happened, for example, with enabled 4MB IO, if not
all parts of bulk transfered.

bd_md_max_brw should be passed to mdunlink_iterate_helper() so all
bd_mds entries are unlinked.

This patch adds test. Last MD in RPC is not received. target_bulk_io()
terminates waiting by timeout and call ptlrpc_abort_bulk() to unlink
mds. If not all active MDs unlinked on this step, then OST finally
hangs.

Xyratex-bug-id: MRP-2472
Signed-off-by: Artem Blagodarenko <artem_blagodarenko@xyratex.com>
Reviewed-by: Alexey Lyashkov <alexey.lyashkov@seagate.com>
Tested-by: Elena Gryaznova <elena.gryaznova@seagate.com>
Reviewed-by: A. Zarochentsev <alexander.zarochentsev@seagate.com>
Change-Id: Ia8ea555e947f5fae06bee6e0c38f7dbc09570edc
Reviewed-on: http://review.whamcloud.com/14399
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
Reviewed-by: Alexander Zarochentsev <alexander_zarochentsev@xyratex.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
4 years agoLU-6496 ptlrpc: Fix wrong code indentation in plain_authorize 91/14591/2
Oleg Drokin [Sat, 25 Apr 2015 17:37:47 +0000 (13:37 -0400)]
LU-6496 ptlrpc: Fix wrong code indentation in plain_authorize

Dont hide the assignment with ,isleading indentation.

Change-Id: If15fb88e4d31962d07a48c2077179cbfe38adfd8
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Reviewed-on: http://review.whamcloud.com/14591
Tested-by: Jenkins
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-4189 mdc: Removed unneeded NULL check 19/12919/5
Henri Doreau [Wed, 3 Dec 2014 13:51:36 +0000 (14:51 +0100)]
LU-4189 mdc: Removed unneeded NULL check

Do not bother checking the return value of changelog_kuc_hdr()
against NULL since this value was dereferenced earlier.

Signed-off-by: Henri Doreau <henri.doreau@cea.fr>
Change-Id: I34a81e840838e3b50bca0099fb810815b540875e
Reviewed-on: http://review.whamcloud.com/12919
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Faccini Bruno <bruno.faccini@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6356 gss: call out info must include 'self nid' 42/14042/2
Sebastien Buisson [Wed, 11 Mar 2015 10:13:31 +0000 (11:13 +0100)]
LU-6356 gss: call out info must include 'self nid'

When using interconnect different from eth, svc_princ_verify_host()
fails because remote node uses nid of target to build principal host
information.
Call out info must include a self nid so that svc_princ_verify_host()
can successfully match the host info built by the remote node.
For that purpose we add a new kup_selfnid field in struct
keyring_upcall_param, and a new lc_self_nid field in struct
lgss_cred.

Signed-off-by: Sebastien Buisson <sebastien.buisson@bull.net>
Change-Id: Ia44503a188feb162b32dea56333de6bafdfcfcd2
Reviewed-on: http://review.whamcloud.com/14042
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jeremy Filizetti <jeremy.filizetti@gmail.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6047 lustre: remove Size on MDS support 43/13443/5
John L. Hammond [Fri, 16 Jan 2015 19:38:23 +0000 (13:38 -0600)]
LU-6047 lustre: remove Size on MDS support

Remove unused definitions related to Size on MDS support from
lustre/include/lustre/lustre_idl.h. Remove unused code from several
places in lustre/.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I1673cd918539c264ea65e2384d72b32e34e8063b
Reviewed-on: http://review.whamcloud.com/13443
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
4 years agoLU-790 tests: clean up lustre version checking 73/4173/14
Andreas Dilger [Wed, 3 Oct 2012 21:41:07 +0000 (15:41 -0600)]
LU-790 tests: clean up lustre version checking

Since commit 48bad5d9db9baa7bca093de5c54294adf1cf8303, the check in
sanity-scrub.sh to verify if the MDS had a new enough Lustre version
was being run before modules are loaded, if sanity-scrub.sh was run
stand-alone.  In addition to using "lctl get_param version" to get
the version, use "lctl lustre_build_version" or "lctl --version",
which will always work, even if the modules are not loaded on the
node.  This also avoids the need to load the modules just to find
that the test should not be run.

While cleaning up this code, move the lustre_version_code() earlier in
test-framework.sh, so that it is declared before calling functions,
and is co-located with the other version checking code.  Not strictly
necessary for bash scripts, but nicer when reading the code.

Fix test regressions in sanity.sh test_48[ab] since commit 13b269ab77
that incorrectly used a full path for test_mkdir() opertations instead
of using a relative filename as the test originally intended.

Also remove the obsolete check_kernel_version() code, which was only
used when we had a patched client kernel, which is no longer the case,
and remove a few overly verbose logging lines from tests.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I8a8aec11370d395dcb4f4b250001ecdb40500c1e
Reviewed-on: http://review.whamcloud.com/4173
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6387 build: lustre-dev debain package missing shared libraries 44/14544/2
James Simmons [Thu, 23 Apr 2015 13:12:07 +0000 (09:12 -0400)]
LU-6387 build: lustre-dev debain package missing shared libraries

While testing on our Ubuntu platform I discovered several tools
didn't work due to missing shared libraries from lustre. This
was due to the build system packaging only the static libraries.
This patch ensure that dynamic libraries are packaged as well.

Change-Id: Ic8923fc8aa552d5afb95813f52526c5663eb9af6
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/14544
Tested-by: Jenkins
Reviewed-by: Blake Caldwell <blakec@ornl.gov>
Reviewed-by: Thomas Stibor <t.stibor@gsi.de>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6482 lov: calculate file offset correctly 62/14462/3
Jinshan Xiong [Tue, 14 Apr 2015 21:07:12 +0000 (14:07 -0700)]
LU-6482 lov: calculate file offset correctly

In lov_stripe_pgoff(), it calls lov_stripe_size() to calculate the
file size by ost_size, which will be wrong if the stripe_index
happens to be stripe aligned.

Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: I87f33027a835121e7b45687e3642ca50bfbf94da
Reviewed-on: http://review.whamcloud.com/14462
Tested-by: Maloo <hpdd-maloo@intel.com>
Tested-by: Jenkins
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
4 years agoLU-6448 tests: fix network config 33/14433/3
Alexey Lyashkov [Fri, 10 Apr 2015 05:57:11 +0000 (08:57 +0300)]
LU-6448 tests: fix network config

Correct LND load during startup time, send a network parameters
to target node.

Signed-off-by: Alexey Lyashkov <alexey.lyashkov@seagate.com>
Change-Id: Ib37b90b480e5c74e7f2d55932b3d849254bad097
Reviewed-on: http://review.whamcloud.com/14433
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@yahoo.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-6356 ptlrpc: dont take unwrap in req_waittime calculation 04/14404/2
Sebastien Buisson [Wed, 8 Apr 2015 14:05:34 +0000 (16:05 +0200)]
LU-6356 ptlrpc: dont take unwrap in req_waittime calculation

Do not take unwrap time in req_waittime calculation on client part
as decryption is not related to request service time.

Signed-off-by: Sebastien Buisson <sebastien.buisson@bull.net>
Change-Id: I17986905f4d67323cd7e0644ab25f73dc00f23fb
Reviewed-on: http://review.whamcloud.com/14404
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Jeremy Filizetti <jeremy.filizetti@gmail.com>
Reviewed-by: Andrew Perepechko <andrew.perepechko@seagate.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-5683 llite: Report first encountered error 35/14335/3
Henri Doreau [Thu, 2 Apr 2015 12:09:58 +0000 (14:09 +0200)]
LU-5683 llite: Report first encountered error

Failures in ll_ioc_copy_{start,end} are reported to coordinator.
The return code delivered to the caller should indicate what this
error was, not whether coordinator was succesfully notified.

Signed-off-by: Henri Doreau <henri.doreau@cea.fr>
Change-Id: Iffcfe060be25ac071c7c314f33607292ed314d6a
Reviewed-on: http://review.whamcloud.com/14335
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6378 osd-ldiskfs: unlock inode before attr_init 02/14102/6
Fan Yong [Tue, 24 Mar 2015 17:21:33 +0000 (01:21 +0800)]
LU-6378 osd-ldiskfs: unlock inode before attr_init

The ldiskfs_create_inode() returns a locked inode to the caller (OSD)
that with I_NEW state, before further initializing the inode's attr
via osd_attr_init(), we should unlock the inode, otherwise, it will
cause some unnecessary dqget operations and affect the performance.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I36755cacc4895775130377da4ca486da08ede895
Reviewed-on: http://review.whamcloud.com/14102
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6349 ptlrpc: remove LUSTRE_MSG_MAGIC_V1 support 07/14007/2
Andreas Dilger [Sat, 7 Mar 2015 12:01:16 +0000 (05:01 -0700)]
LU-6349 ptlrpc: remove LUSTRE_MSG_MAGIC_V1 support

Remove the remains of LUSTRE_MSG_MAGIC_V1 support from ptlrpc.
It has not been supported since 1.8 and is not functional since 2.0.

In lustre_msg_check_version(), return an error for unsupported RPC
versions so that the server will reject such RPCs early.  Otherwise
the server only prints an error message and continue on.

Fix up whitespace and code style in lustre_msg_*() accessor functions.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I001def16e242d6ab64122912ac69fb0a072c312f
Reviewed-on: http://review.whamcloud.com/14007
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6349 ptlrpc: remove old protocol compatibility 06/14006/2
Andreas Dilger [Sat, 7 Mar 2015 11:34:56 +0000 (04:34 -0700)]
LU-6349 ptlrpc: remove old protocol compatibility

Some old protocol compatibility workarounds are still present in
master that should have been removed when LUSTRE_MSG_MAGIC_V1 was.

In particular, the process for upgrading LUSTRE_MSG_MAGIC_V1 to
LUSTRE_MSG_MAGIC_V2 had the client to connect to the server with the
V1 protocol with op_flag=MSG_CONNECT_NEXT_VER set, and if the server
supported the V2 protocol it would reply with LUSTRE_MSG_MAGIC_V2.
This ensured that if the new client connected to an old server the
connection would be allowed.  However, even with V1 protocol support
removed, the 2.x clients are still connecting with NEXT_VER set.
In b1_8 this flag was contingent on LUSTRE_MSG_MAGIC_V1 being used,
which is how it should have been in 2.x as well.

A few other cleanups are be done at the same time:
- disallow 1.8 clients (or at least those that don't understand
  OBD_CONNECT_FULL20) so we can remove workarounds for 1.8 clients
- remove support for pre-2.1 DLM flock lock handling
- don't workaround the lack of MDS_ATTR_xTIME_SET flags in setattr
- always set MSGHDR_CKSUM_INCOMPAT18 (it can eventually be removed)

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: Id0a7a5724f2f84decaa3444fe278d0fc05500c1e
Reviewed-on: http://review.whamcloud.com/14006
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Liang Zhen <liang.zhen@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6245 libcfs: remove bitops wrappers for libcfs 99/13899/5
James Simmons [Sat, 11 Apr 2015 14:47:56 +0000 (10:47 -0400)]
LU-6245 libcfs: remove bitops wrappers for libcfs

The libcfs layer contains wrappers to provide bitop
wrappers to user land. Since libcfs is no longer
built for user land we can remove the wrappers. Also
remove user-crypto.h since it is not used at all.

Signed-off-by: James Simmons <uja.ornl@gmail.com>
Change-Id: I310cfc99d0cff3f527f656f4127e105883127338
Reviewed-on: http://review.whamcloud.com/13899
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>
4 years agoLU-6245 libcfs: remove prim wrappers for libcfs 74/13874/8
James Simmons [Fri, 10 Apr 2015 14:09:57 +0000 (10:09 -0400)]
LU-6245 libcfs: remove prim wrappers for libcfs

The libcfs layer contains wrappers to handle primitive
management for both kernel space and user land. Since
libcfs is no longer built for user land we can remove
the wrappers. For linux-prim.h we kept only what is
needed to deal with different kernel versions. Also
we separated out libcfs_string.h to util/string.h so
we can remove the wrappers no longer needed.

Signed-off-by: James Simmons <uja.ornl@gmail.com>
Change-Id: I0bad836f20ef29bf2ed17f1f4e5e1234d193868e
Reviewed-on: http://review.whamcloud.com/13874
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6245 libcfs: remove mem wrappers for libcfs 41/13841/10
James Simmons [Thu, 9 Apr 2015 16:27:29 +0000 (12:27 -0400)]
LU-6245 libcfs: remove mem wrappers for libcfs

The libcfs layer contains wrappers to handle memory
management for both kernel space and user land. Since
libcfs is no longer built for user land we can remove
the wrappers. For linux-mem.h we kept only what is
needed to deal with different kernel versions. The
rest was moved to libcfs_prim.h.

Signed-off-by: James Simmons <uja.ornl@gmail.com>
Change-Id: Ie198500cdfa28f5d4dc8635ce0a41726ab158cbb
Reviewed-on: http://review.whamcloud.com/13841
Reviewed-by: frank zago <fzago@cray.com>
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6245 libcfs: remove libcfsutil.h 80/14180/7
John L. Hammond [Wed, 15 Apr 2015 16:54:51 +0000 (12:54 -0400)]
LU-6245 libcfs: remove libcfsutil.h

Remove libcfsutil.h, fixup some headers, rename
libcfs/util/libcfsutil_ioctl.h to libcfs/util/ioctl.h, remove
libcfs/util/platform.h, remove libcfs/util/util.c, do some other
stuff. With these changes libcfs.h can be removed from libcfs
userland library.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Signed-off-by: James Simmons <uja.ornl@gmail.com>
Change-Id: I23c0531cd1c50a652799ad807d506fda35b22b3b
Reviewed-on: http://review.whamcloud.com/14180
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: frank zago <fzago@cray.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>
4 years agoLU-6227 vvp: Use range lock for direct IO reads 85/14385/3
Patrick Farrell [Tue, 7 Apr 2015 22:24:36 +0000 (17:24 -0500)]
LU-6227 vvp: Use range lock for direct IO reads

Direct IO does not use the page cache like normal IO, so
concurrent direct IO reads of the same pages are not safe.

As a result, direct IO reads must take the range lock
in ll_file_io_generic, otherwise they will attempt to work
on the same pages and hit assertions like:
(osc_request.c:1219:osc_brw_prep_request())
ASSERTION( i == 0 || pg->off > pg_prev->off ) failed:
i 3 p_c 10 pg ffffea00017a5208 [pri 0 ind 2771] off 16384
prev_pg ffffea00017a51d0 [pri 0 ind 2256] off 16384

Also added a test for dio vs dio reads.

Signed-off-by: Patrick Farrell <paf@cray.com>
Change-Id: I5af524a42891bfa4c52d0fe8d2f7cc94c1ba5c57
Reviewed-on: http://review.whamcloud.com/14385
Tested-by: Jenkins
Reviewed-by: Alexander Boyko <alexander.boyko@seagate.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6351 lfsck: check object existence before using it 09/14009/7
Fan Yong [Wed, 8 Apr 2015 13:31:02 +0000 (21:31 +0800)]
LU-6351 lfsck: check object existence before using it

Under some cases, when the LFSCK locate the object via its FID,
it does not check whether it exists or not, then further using
such object may access NULL-pointed local object (inode).

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I637eb9bc8c3e283394c8bf9e1250d83659c5e5ba
Reviewed-on: http://review.whamcloud.com/14009
Tested-by: Jenkins
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>
4 years agoLU-6343 lfsck: locate object only when necessary 93/13993/9
Fan Yong [Wed, 8 Apr 2015 13:29:13 +0000 (21:29 +0800)]
LU-6343 lfsck: locate object only when necessary

Currently, for every item to be verified by the LFSCK assistant
thread, the LFSCK assistant thread will try to locate its parent
directory (for namespace LFSCK) or its parent MDT-object (for
layout LFSCK) firstly via the given parent FID. But under most
cases, the system is consistent, such locating parent object is
unnecessary. For example, for namespace LFSCK, the LFSCK main
engine has put the <parent_FID, child_name, child_FID> in the
pre-loaded request, then the assistant thread will locate the
child object with the child_FID and search its linkEA to find
the <parent_FID, child_name> pairs.

Be as some improvement, we will make the LFSCK to locate related
object (especially for parent object) only when really used.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: If6a3677a6ad3fa1c694ee06f9688c1f38374f8de
Reviewed-on: http://review.whamcloud.com/13993
Tested-by: Jenkins
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>
4 years agoLU-6368 ldlm: Do not use cbpending for group locks 93/14093/8
Patrick Farrell [Mon, 13 Apr 2015 15:36:52 +0000 (10:36 -0500)]
LU-6368 ldlm: Do not use cbpending for group locks

Currently, the CBPENDING flag is set on group locks when
the osc lock above them is released (osc_cancel_base).

This results in a situation where a new group lock request
on a resource does not match an existing group lock because
LDLM_FL_CBPENDING is set on the existing lock.

So two group locks are granted on the same resource, which
is not valid, since a given client can only have one group
lock on a particular resource.

Since group locks are manually released and not called back
like other LDLM locks, the CBPENDING flag doesn't make
sense.  Since they must be manually released, they also
cannot go in the LDLM LRU cache and must be fully released
immediately once they are no longer in use.

This was previously accomplished by setting CBPENDING when
the corresponding osc lock is released, but as noted above,
this prevents the group lock matching some future lock
requests.

This patch uses the fact that group locks have an l_writers
reference which they keep until they are manually released,
so we remove them when they have no more reader or writer
references, without checking cbpending.

Additionally, this patch adds several sendfile tests,
courtesy of Frank Zago <fzago@cray.com>.

Signed-off-by: Patrick Farrell <paf@cray.com>
Change-Id: I2845750777cbc9849b18999f1b77f791034c50b0
Reviewed-on: http://review.whamcloud.com/14093
Reviewed-by: frank zago <fzago@cray.com>
Tested-by: Jenkins
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6421 osc: fix bug when setting max_pages_per_rpc 33/14333/5
Wu Libin [Wed, 1 Apr 2015 16:54:30 +0000 (00:54 +0800)]
LU-6421 osc: fix bug when setting max_pages_per_rpc

After setting like "lctl set_param -P osc.*.max_pages_per_rpc", it
is possible that the function osc_obd_max_pages_per_rpc_seq_write
will be called before ocd_brw_size has been set when mount.
ocd_brw_size is meaningless when it is zero. So it should not be
the limit at that time.

Signed-off-by: Wu Libin <lwu@ddn.com>
Change-Id: I1abbd1bfc089ca1fea2b7ec71a6d45ee70f1ba20
Reviewed-on: http://review.whamcloud.com/14333
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-2524 test: Test suite clean up for replay-single 70/13170/7
James Nunez [Mon, 22 Dec 2014 21:48:32 +0000 (14:48 -0700)]
LU-2524 test: Test suite clean up for replay-single

The patch modifying the tdir variable to a single directory
has landed; http://review.whamcloud.com/#/c/8123/. We can
now conduct miscellaneous cleanup including:

Remove the `-p` (parents) option from many calls to mkdir
Modified directory and file names to use $tdir and $tfile
Add check for and call `error` and/or add error messages for a
variety of common functions.
Replace `…` with $(...)
Removed linefeed escape after |, ||, & and && operators.
Remove test dependencies between tests 4a and 4b

Test-Parameters: testlist=replay-single alwaysuploadlogs envdefinitions=SLOW=yes mdtfilesystemtype=ldiskfs mdsfilesystemtype=ldiskfs ostfilesystemtype=ldiskfs
Signed-off-by: James Nunez <james.a.nunez@intel.com>
Change-Id: Ib09102e50f855550db801180be3f7fc42911191a
Reviewed-on: http://review.whamcloud.com/13170
Reviewed-by: Jian Yu <jian.yu@intel.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-6407 lnet: set task state before scheduling 65/14265/3
John L. Hammond [Mon, 30 Mar 2015 18:32:46 +0000 (13:32 -0500)]
LU-6407 lnet: set task state before scheduling

In 0b868add80281c085ce1b297d1cb078deaab802a when libcfs_sock_accept()
was made into lnet_sock_accept() a call to
set_current_state(TASK_INTERRUPTIBLE) got dropped. Restore it.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I132d6a611e5677ad52358178aa566ca805536e61
Reviewed-on: http://review.whamcloud.com/14265
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Amir Shehata <amir.shehata@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-5579 tests: Add test for resend enqueue vs lock destroy 10/12210/5
Vitaly Fertman [Mon, 6 Apr 2015 19:16:53 +0000 (12:16 -0700)]
LU-5579 tests: Add test for resend enqueue vs lock destroy

This test is split out from the actual patch because
some other test infrastructure issues make it always
fail right now.

Xyratex-bug-id: MRP-2094

Signed-off-by: Vitaly Fertman <vitaly_fertman@xyratex.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Liang Zhen <liang.zhen@intel.com>
Change-Id: I6f764fd863d6046bde8c6336f003e602fc07e59f
Reviewed-on: http://review.whamcloud.com/12210
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
4 years agoLU-6486 ptlrpc: export lustre_swab_lov_mds_md 45/14545/2
James Simmons [Thu, 23 Apr 2015 13:30:48 +0000 (09:30 -0400)]
LU-6486 ptlrpc: export lustre_swab_lov_mds_md

For ppc64 clients lustre would not mount due to an Unknown
symbol error. This is due to lustre_swab_lov_mds_md not
being exported. A simple export of this function resolves
this issue.

Change-Id: Ib924045988291efbc5ac129ce58354bbc72aa7b6
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/14545
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6481 kernel: kernel update RHEL 6.6 [2.6.32-504.16.2.el6] 46/14546/2
Bob Glossman [Tue, 21 Apr 2015 17:30:05 +0000 (10:30 -0700)]
LU-6481 kernel: kernel update RHEL 6.6 [2.6.32-504.16.2.el6]

Update RHEL6.6 kernel to 2.6.32-504.16.2.el6

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I3d439ad2338b7940292fb584e09ca2c0b4fce4ef
Reviewed-on: http://review.whamcloud.com/14546
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6471 obdclass: fix llog_cat_cleanup() usage on Client 89/14489/2
Bruno Faccini [Fri, 17 Apr 2015 09:37:51 +0000 (11:37 +0200)]
LU-6471 obdclass: fix llog_cat_cleanup() usage on Client

With patch/commit 3a83b4b9 for LU-5195, LLOG code has been
strengthen against catalog inconsistency by detecting a
referenced plain LLOG is missing and by clearing its
associated entry by calling llog_cat_cleanup(), which now
needs to handle the case where it is also executed on a Client
(ie, cathandle->lgh_obj == NULL) and thus must not attempt to
update on-disk catalog.

Signed-off-by: Bruno Faccini <bruno.faccini@intel.com>
Change-Id: Ie6fb9240ac76810358a91c7410046c626f42c2b9
Reviewed-on: http://review.whamcloud.com/14489
Tested-by: Jenkins
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.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-6245 utils: split kernel comm between user and kernel 70/14270/7
Frank Zago [Mon, 30 Mar 2015 20:23:21 +0000 (15:23 -0500)]
LU-6245 utils: split kernel comm between user and kernel

The kernel communication code used for HSM and changelog is
entangled. Move the user space bits into the liblustreapi. This will
also help for a possible relicensing. The kernel portion is also moved
from libcfs to obdclass.

The original libcfs_kernelcomm.h header is split into three parts:

  * lustre_kernelcomm.h, a new header for the kernel parts;
  * uapi_kernelcomm.h, a new header for the data structures shared
    between userspace and kernelspace;
  * lustreapi_internal.h receives the private liblustreapi prototypes.

The original code in kernel_user_comm.c is split into two parts:

  * obdclass/kernelcomm.c for the kernel part. filp_user_write() was
    moved there, and linux-fs.c deleted;
  * liblustreapi_kernelconn.c for the user part. The calls to CDEBUG
    have been removed, and calls to CERROR have been transformed to
    llapi_err_noerrno. The type lustre_kernelcomm has been removed and
    replace by struct lustre_kernelcomm.

Various names and filenames have been harmonized to *kernelcomm*.

The unused symbol KUC_FL_BLOCK has been removed.

Signed-off-by: frank zago <fzago@cray.com>
Change-Id: Id15ab6ea23a160e0aa0517a1a890266b2e971982
Reviewed-on: http://review.whamcloud.com/14270
Tested-by: Jenkins
Reviewed-by: Nathan Rutman <nathan.rutman@seagate.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6300 build: Kernel string mismatch for ppc64 in RPMs 12/14012/3
Frank Heckes [Mon, 9 Mar 2015 10:44:30 +0000 (11:44 +0100)]
LU-6300 build: Kernel string mismatch for ppc64 in RPMs

The macro in the kernel RPMs for ppc64 provided
by Redhat describing the kernel version supported,
mismatch the content of the macro of the Lustre kernel
client modules for ppc64 describing the required
kernel. This leads to unresolved dependency errors
during installation of the Lustre client modules
although the kernel versions match actually.

While Redhat uses the convention:

kernel = <major-number>-<minor-release-number>.el6

the following string is used in Lustre client RPM
for the required kernel version:

kernel = <major-number>-<minor-release-number>.el6.ppc64

The patch will remove the trailing string '.ppc64' in
macro 'krequires' defined in the lustre specfile
describing the software dependeny.

Signed-off-by: Frank Heckes <frank.heckes@intel.com>
Change-Id: I930d2fe67da819db57a6591341c5a55f0374ad43
Reviewed-on: http://review.whamcloud.com/14012
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Tested-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-5814 llite: remove lli_has_smd 90/13690/9
Jinshan Xiong [Fri, 27 Mar 2015 03:07:12 +0000 (20:07 -0700)]
LU-5814 llite: remove lli_has_smd

Remove the lli_has_smd flag from struct ll_inode_info. The empty
layout case will be handled by the LOV layer. Remove the unused
function cl_local_size().

Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I50b73482fdc4c415f8d800e9a848099117be8f74
Reviewed-on: http://review.whamcloud.com/13690
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-6413 lod: set FLAGS all stripes of striped dir 78/14278/2
wang di [Mon, 30 Mar 2015 00:35:47 +0000 (17:35 -0700)]
LU-6413 lod: set FLAGS all stripes of striped dir

Except permission and time, flags should be set on
each stripe of striped dir as well, otherwise
chattr can not set special flags (immutable etc)
correctly on striped dir.

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: I8b3274b674bd1b8b41f95bb9299245aa8c2905c3
Reviewed-on: http://review.whamcloud.com/14278
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>
4 years agoLU-6320 lod: Use target index as the master index 41/13941/4
wang di [Tue, 7 Apr 2015 18:01:06 +0000 (11:01 -0700)]
LU-6320 lod: Use target index as the master index

Because lum_stripe_offset might be -1, if it comes
from the default stripe, and also the master stripe
always in the same MDT as the master object, so
it should use master object MDT index as the master
stripe index.

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: I4a700580dd7a035b243d2314231e50e12742100e
Reviewed-on: http://review.whamcloud.com/13941
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>
4 years agoLU-5022 build: add rhel7 to server build selections 89/12289/28
Bob Glossman [Mon, 13 Oct 2014 21:45:02 +0000 (14:45 -0700)]
LU-5022 build: add rhel7 to server build selections

Add build files to allow building el7 server

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

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I3f6126473aaa95874bd2e225e79147ea23046f4e
Reviewed-on: http://review.whamcloud.com/12289
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: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoNew tag 2.7.52 2.7.52 v2_7_52 v2_7_52_0
Oleg Drokin [Thu, 9 Apr 2015 03:27:58 +0000 (23:27 -0400)]
New tag 2.7.52

Change-Id: I7c225701dab51f2ba32af10cec688f37af240d70

4 years agoLU-5814 lov: add cl_object_layout_get() 80/13680/11
John L. Hammond [Thu, 26 Mar 2015 03:56:13 +0000 (20:56 -0700)]
LU-5814 lov: add cl_object_layout_get()

Add cl_object_layout_get() to return the layout and generation of an
object. Replace some direct accesses to object LSM with calls to this
function.

In ll_getxattr() factor out the LOV xattr specific handling into a new
function ll_getxattr_lov() which calls cl_object_layout_get(). In
ll_listxattr() call ll_getxattr_lov() to determine if a lustre.lov
xattr should be emitted.  Add lov_lsm_pack() to generate LOV xattrs
from a LSM.

Remove the unused functions ccc_inode_lsm_{get,put}() and
lov_lsm_get().

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: If0d7696473848c8eace3c5b03c016514bc28509f
Reviewed-on: http://review.whamcloud.com/13680
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-5710 all: second batch of corrected typos and grammar errors 33/12933/8
frank zago [Fri, 27 Mar 2015 22:43:32 +0000 (18:43 -0400)]
LU-5710 all: second batch of corrected typos and grammar errors

Most of them are in comments, but there was a few in user
visible help.

Signed-off-by: frank zago <fzago@cray.com>
Change-Id: I32730030f84b85e0ae08b683d64bbad5e33bf0b4
Reviewed-on: http://review.whamcloud.com/12933
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6434 ofd: object reference leaks in ofd_preprw_write 70/14370/2
Li Xi [Mon, 6 Apr 2015 13:28:31 +0000 (21:28 +0800)]
LU-6434 ofd: object reference leaks in ofd_preprw_write

In ofd_preprw_write(), the object should be released when an
error happenes.

Signed-off-by: Li Xi <lixi@ddn.com>
Change-Id: Icd143f994d63c97472fb7d24cb9517da516280b7
Reviewed-on: http://review.whamcloud.com/14370
Tested-by: Jenkins
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6370 osc: disable to control per-OSC LRU budget 47/14347/2
Jinshan Xiong [Fri, 3 Apr 2015 05:24:46 +0000 (22:24 -0700)]
LU-6370 osc: disable to control per-OSC LRU budget

It will produce a problem where a system has lots of OSTs but
only a few of them are involved in doing read on the client side.
In that case, the per-OSC budget will cause the read ahead pages to
be dropped aggressively, which results in significantly performance
degradation.

This patch disabled per-OSC LRU budget. However, this is not a real
fix. A real fix should feed back memory pressure from LRU on the OSC
layer to the LLITE layer, so that read ahead algorithm can take that
information into consideration when it decides read ahead window size.

Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: Ifa81d8515a345b389d74af971582b2a3b1761546
Reviewed-on: http://review.whamcloud.com/14347
Tested-by: Jenkins
Reviewed-by: Patrick Farrell <paf@cray.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-3534 osp: move RPC pack from declare to execution phase 94/10794/45
Wang Di [Fri, 20 Jun 2014 12:57:54 +0000 (05:57 -0700)]
LU-3534 osp: move RPC pack from declare to execution phase

1. Since we will have full aysnc update support, i.e. do not
need order update anymore, move RPC pack from declare to
execution phase, and these remote updates will be sent during
transaction stop after local transaction is stopped.

2. Add update callback for each update, so after the update request
is done, these callback will be called correspondently for each
update.

3. Remove tu_sent_after_local_trans, because every remote
transaction will be sent after local transaction is finished, in
lod_trans_stop()->osp_trans_stop(). Note: RPC should be sent after
local transaction is stopped, to avoid sending RPC while holding
transaction.

Change-Id: I296e2eaf8b922fe58fe88df074458545f102a69a
Signed-off-by: Wang Di <di.wang@intel.com>
Reviewed-on: http://review.whamcloud.com/10794
Tested-by: Jenkins
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@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>
4 years agoLU-6106 test: skip test_16 to test_23 if MDS version older than 2.6.90 06/13806/6
Wei Liu [Thu, 19 Feb 2015 18:59:41 +0000 (10:59 -0800)]
LU-6106 test: skip test_16 to test_23 if MDS version older than 2.6.90

Skip sanity-sec test_16 to test_23 if MDS version older than 2.6.90.
The previous commit 0f95dae3a7a0bdef52160a3ca76fefac6765007c doesn't
prevent the tests from being run, fix the problem in this one.

Change-Id: I791f1e81c248979270524d57305e545f388a9d67
Signed-off-by: Wei Liu <wei3.liu@intel.com>
Reviewed-on: http://review.whamcloud.com/13806
Tested-by: Jenkins
Reviewed-by: Jian Yu <jian.yu@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
4 years agoLU-4772 mgs: check MGS refcounting before export barrier 20/13920/5
Mikhail Pershin [Sun, 1 Mar 2015 17:19:56 +0000 (20:19 +0300)]
LU-4772 mgs: check MGS refcounting before export barrier

Patch adds debug code to make sure that there are no extra
MGS export references taken before export barrier.

Signed-off-by: Mikhail Pershin <mike.pershin@intel.com>
Change-Id: I4a7ae3130cb70a9b6847c9d4b5c2874ccf9ee72d
Reviewed-on: http://review.whamcloud.com/13920
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: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-3536 lod: Separate thandle to different layers. 40/10640/55
Wang Di [Thu, 19 Jun 2014 10:18:29 +0000 (03:18 -0700)]
LU-3536 lod: Separate thandle to different layers.

Separate thandle into different layers on MDT stack.

The current implementation use single thandle in all
layers, which might cause some issues for cross-MDT
transaction, for example during transaction stop,
it needs to stop local OSD transaction first,
then send remote RPC, because we do not want hold the
transaction, during RPC sending, but once we stop osd
transaction, which might cause this single thandle be
destroyed (see osd_trans_stop()), but all of remote
updates are still attached in this thandle.

This patch will separate the thandle to different layers:
1. MDD thandle will present itself in MDD transaction.
2. LOD thandle will distribute the thandle to all sub-thandles,
   and also attach the update blob buffer to store updates for
   cross-MDT operations.
3. OSP thandle will store the updates for the remote
   correspondent target, and also manage to send them to the
   remote target.
4. OSD thandle will still be the same as the original one,
   relying on the bottom FS to achieve the "atomic".

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: I0c73cc80fa692c2e5d5a09e441c28e228d822ce0
Reviewed-on: http://review.whamcloud.com/10640
Tested-by: Jenkins
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@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>
4 years agoLU-6285 ptlrpc: Get rid of cpus_* calls as deprecated 25/13925/2
Oleg Drokin [Mon, 2 Mar 2015 06:07:07 +0000 (01:07 -0500)]
LU-6285 ptlrpc: Get rid of cpus_* calls as deprecated

Use cpumask_* equivalents instead.
Also we are no longer supposed to directly assign cpumasks as a method
of copy, need to use cpumask_copy instead.

Change-Id: I0425cd308a363e74de8d20f9a5f144fe07431f01
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/13925
Tested-by: Jenkins
Reviewed-by: Patrick Farrell <paf@cray.com>
Reviewed-by: Liang Zhen <liang.zhen@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
4 years agoLU-6153 libcfs: rename cfs_snprintf() to scnprintf() 17/13517/3
John L. Hammond [Mon, 23 Mar 2015 15:23:15 +0000 (11:23 -0400)]
LU-6153 libcfs: rename cfs_snprintf() to scnprintf()

Rename cfs_snprintf() to scnprintf() to match the existing kernel
function. Similarly rename cfs_vsnprintf() to vscnprintf(). Remove the
unused functions cfs_[v]snprintf().

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I361a28959dc8a20ab0e152eaed00fd4adf78cc34
Reviewed-on: http://review.whamcloud.com/13517
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
4 years agoLU-6245 libcfs: create userland and kernel string operations 35/13835/8
James Simmons [Mon, 30 Mar 2015 19:03:21 +0000 (15:03 -0400)]
LU-6245 libcfs: create userland and kernel string operations

Additonal string handling and NID string parsing code are both
used by kernel space and user land. This prevents us from
moving forward for cleaning up the userland and kernel space
headers. With the code duplicated for both environments we
can then clean up the headers independently. Since NID string
handling is only done for LNET we move it there.

Signed-off-by: James Simmons <uja.ornl@gmail.com>
Change-Id: I5fccdae61322d0bace7094a36d2e551d719c4982
Reviewed-on: http://review.whamcloud.com/13835
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>
4 years agoLU-5710 corrected some typos and grammar errors 01/12201/13
frank zago [Sun, 29 Mar 2015 15:35:19 +0000 (11:35 -0400)]
LU-5710 corrected some typos and grammar errors

Most of them are in comments, but there was a few in user
visible help.

Change-Id: Ib050e9042f9f2728cd3eeedeee679739b48419db
Signed-off-by: frank zago <fzago@cray.com>
Reviewed-on: http://review.whamcloud.com/12201
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@gmail.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-6285: o2iblnd: Do not use cpus_weight, it's deprecated 54/13954/2
Oleg Drokin [Tue, 3 Mar 2015 19:44:10 +0000 (14:44 -0500)]
LU-6285: o2iblnd: Do not use cpus_weight, it's deprecated

Replace cpus_weight and for_each_cpu mask with
cpumaskweight and for_each_cpu respectively as per latest kernel guidelines.

Change-Id: I038eb38234c0a209a68ca24c8a860d0e84522c27
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/13954
Tested-by: Jenkins
Reviewed-by: Liang Zhen <liang.zhen@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
4 years agoLU-6405 kernel: kernel update [RHEL7.1 3.10.0-229.1.2.el7] 93/14293/2
Bob Glossman [Tue, 31 Mar 2015 18:53:48 +0000 (11:53 -0700)]
LU-6405 kernel: kernel update [RHEL7.1 3.10.0-229.1.2.el7]

Update RHEL7.1 kernel to 3.10.0-229.1.2.el7

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

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I020419971dda62b2997e33a624c6e6113d465afb
Reviewed-on: http://review.whamcloud.com/14293
Tested-by: Jenkins
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Minh Diep <minh.diep@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-5478 lustre: get rid of obd_* typedefs 56/14256/3
Dmitry Eremin [Mon, 30 Mar 2015 10:21:46 +0000 (13:21 +0300)]
LU-5478 lustre: get rid of obd_* typedefs

We have a bunch of typedefs for common things that made no sense
and hid the actual type from plain view.
Replace them with proper uXX or sXX types.
Exception is in lustre_idl.h and lustre_ioctl.h where
they are replaced with __uXX and __sXX to be able to be included
in userspace

final patch in series.

Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Change-Id: I2b714ec673a004561d45ad46041191bef3ec9a8e
Reviewed-on: http://review.whamcloud.com/14256
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
4 years agoLU-6394 all: fix compilation errors with FORTIFY_SOURCE 26/14126/7
Frank Zago [Fri, 20 Mar 2015 20:37:13 +0000 (15:37 -0500)]
LU-6394 all: fix compilation errors with FORTIFY_SOURCE

When Lustre is configured with CFLAGS="-D_FORTIFY_SOURCE=2 -O2" on
Centos 6, the compilation will fails with errors such as this one:

 cacheio.c: In function ‘qword_printhex’:
 cacheio.c:174: error: ignoring return value of ‘fwrite’, declared
   with attribute warn_unused_result

Signed-off-by: frank zago <fzago@cray.com>
Change-Id: Ie06fd5a26b62daf62bfd0133a2d7ebc66ece5be6
Reviewed-on: http://review.whamcloud.com/14126
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-5319 ptlrpc: Add a tag field to ptlrpc messages 95/14095/2
Gregoire Pichon [Tue, 17 Mar 2015 15:28:24 +0000 (16:28 +0100)]
LU-5319 ptlrpc: Add a tag field to ptlrpc messages

The new tag field is used as a virtual index for multiple modifying
RPCs management. It is set by the client and allows the target to
release in-memory reply data when the tag is reused by a new RPC.

The tag field replaces the unused last_seen field of ptlrpcd_body
structure.

Additionally, the last_xid field is used to transfer the highest XID
for which a reply has been received and does not have an unreplied
lower-numbered XID.

Signed-off-by: Gregoire Pichon <gregoire.pichon@bull.net>
Change-Id: I4a57f3710ffffe21d8d655af6ac222b65051a12d
Reviewed-on: http://review.whamcloud.com/14095
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
4 years agoLU-6285 ptlrpc: Do not recalculate siblings of CPU 0 in a loop 05/13905/3
Oleg Drokin [Fri, 27 Feb 2015 07:59:05 +0000 (02:59 -0500)]
LU-6285 ptlrpc: Do not recalculate siblings of CPU 0 in a loop

ptlrpc_hr_init seems to be recalculating number of siblings of CPU0
in a loop which is wasteful. Just precalculate the value before the
loop and use it in every iteration instead.

Change-Id: I807fddf29a75af4d268829e37dc91b7512cfcc50
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/13905
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Liang Zhen <liang.zhen@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
4 years agoLU-6285 libcfs: Do not unnecessarily copy cpumask 04/13904/3
Oleg Drokin [Fri, 27 Feb 2015 07:57:07 +0000 (02:57 -0500)]
LU-6285 libcfs: Do not unnecessarily copy cpumask

Copying a mask just to calculate a static value of siblings
is overkill, esp. if CPUMASK_OFFSTACK is set and the mask is huge,
additionally that'll workaround the incorrectness of kernel code
dealing with such a code until that is actually fixed upstream.

Change-Id: I860cc7d5b54adcde2e7622bfbc64b4e27046b083
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/13904
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Liang Zhen <liang.zhen@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
4 years agoLU-5823 clio: use CIT_SETATTR for FSFILT_IOC_SETFLAGS 22/13422/8
John Hammond [Thu, 26 Mar 2015 05:10:59 +0000 (22:10 -0700)]
LU-5823 clio: use CIT_SETATTR for FSFILT_IOC_SETFLAGS

Add handling of inode flags to the handlers of CIT_SETATTR in lov and
osc. In the FSFILT_IOC_SETFLAGS case of ll_iocontrol() use
cl_setattr_ost() rather than obd_setattr_rqset() to set inode flags on
OST objects. Remove the then unused OBD API methods
obd_setattr_rqset() and obd_setattr_async() along with their
supporting functions.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: I3ccdb139f2e9aa376fb69e353c0cc6d399bf0857
Reviewed-on: http://review.whamcloud.com/13422
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-5823 clio: get rid of lov_stripe_md reference 39/12639/10
Bobi Jam [Thu, 6 Nov 2014 12:44:27 +0000 (20:44 +0800)]
LU-5823 clio: get rid of lov_stripe_md reference

Get rid of lov_stripe_md reference in setting file's stripe info.

Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: I303bfc98113bf1f086053225959001377879637a
Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-on: http://review.whamcloud.com/12639
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-632 utils: fix problems of llog_reader 64/10764/7
Li Xi [Fri, 20 Jun 2014 08:19:40 +0000 (16:19 +0800)]
LU-632 utils: fix problems of llog_reader

When the input file of llog_reader is invalid, it is easy to
crash or loop infinitely. This patch fixes these problems.

Signed-off-by: Li Xi <pkuelelixi@gmail.com>
Signed-off-by: Wang Shilong <wshilong@ddn.com>
Change-Id: Ifd6bbc5e857f6910bb4103d85742ba33a843d080
Reviewed-on: http://review.whamcloud.com/10764
Tested-by: Jenkins
Reviewed-by: Artem Blagodarenko <artem.blagodarenko@seagate.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Olaf Faaland-LLNL <faaland1@llnl.gov>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6403 quota: fix soft lockup in qmt_adjust_qunit 87/14187/2
Li Dongyang [Wed, 25 Mar 2015 22:33:54 +0000 (09:33 +1100)]
LU-6403 quota: fix soft lockup in qmt_adjust_qunit

If the user sets the quota limits >= ULLONG_MAX using lfs setquota,
we will set the limits to ULLONG_MAX and stuck in the infinite loop
when trying to increase qunit.

Break the loop when that happens and set qunit to
limit / (2 * slv_cnt) instead.

Signed-off-by: Li Dongyang <dongyang.li@anu.edu.au>
Change-Id: I6fb842c62ad46d8765f6c4c41187cf0dcd543c53
Reviewed-on: http://review.whamcloud.com/14187
Tested-by: Jenkins
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6142 lnet: enforce Linux kernel coding style 30/14130/3
wang di [Sat, 21 Mar 2015 07:12:17 +0000 (00:12 -0700)]
LU-6142 lnet: enforce Linux kernel coding style

This patch enforces Linux kernel coding style in
lnet codes. The changes are:
- convert spaces to tabs for indentation
- align variable and struct declarations
- sprintf is deprecated, use snprintf instead
- labels should not be indented
- wrap lines at 80 columns

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: I46685fec1703c39fc8e9e6ee7bb6e5cc152aac4f
Signed-off-by: Jian Yu <jian.yu@intel.com>
Reviewed-on: http://review.whamcloud.com/14130
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-5971 llite: reorganize variable and data structures 14/13714/5
John Hammond [Thu, 26 Mar 2015 05:08:49 +0000 (22:08 -0700)]
LU-5971 llite: reorganize variable and data structures

Rename struct ccc_grouplock to ll_grouplock and move the definition
from vvp_internal.h to llite_internal.h.

struct vvp_thread_info is used in the non-VVP parts of llite so rename
it struct ll_thread_info. Rename supporting functions accordingly.

struct ccc_thread_info is used in the VVP parts of llite so rename
it struct vvp_thread_info. Rename supporting functions accordingly.

Remove ccc_global_{init,fini}(), merging their contents into
vvp_global_{init,fini}() and {init,exit}_lustre_lite(). Rename
ccc_inode_fini_* to cl_inode_fini_*.

Move several declarations between llite_internal.h and vvp_internal.h
with the goal of reserving the latter header for functions that
pertain to vvp_{device,object,page,...}.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: I79b51e6f58dee9e9488c983b4a0759fa4117d2a6
Reviewed-on: http://review.whamcloud.com/13714
Tested-by: Jenkins
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-3105 osd: remove capa related stuff from servers 72/5572/47
Alex Zhuravlev [Wed, 10 Dec 2014 11:11:22 +0000 (14:11 +0300)]
LU-3105 osd: remove capa related stuff from servers

capability feature is broken. it's not going to be used
anytime soon. the related tests are removed as well.

Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Change-Id: I865a92b57abaae679d7ff8319e0e3fda603beff9
Reviewed-on: http://review.whamcloud.com/5572
Tested-by: Jenkins
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6416 ldlm: no canceled lock on waiting list 85/14085/5
Liang Zhen [Mon, 16 Mar 2015 01:25:17 +0000 (09:25 +0800)]
LU-6416 ldlm: no canceled lock on waiting list

If a lock was not granted straight away on server, but it's granted
with LDLM_FL_AST_SENT set before ldlm_handle_enqueue0 sends out
reply, client side will know she needs to cancel this lock.

At the meanwhile, this lock can be added to a long granting list
by another server thread.

When lock cancel request arrives at server and server calls into
  ldlm_lock_cancel()->
      ldlm_cancel_callback()->
          tgt_blocking_ast(...LDLM_CB_CANCELING)->
              tgt_sync()

The other server thread eventually get a chance to send completion
AST for this lock with LDLM_FL_AST_SENT set, and add this lock to
waiting list again.

However, tgt_sync may take arbitrary time which is irrelevant
to AT of lock revoke on client, server could evict client only
because itself has slow IO.

To resolve this race, this patch does not put canceled lock on
waiting list anymore.

Signed-off-by: Liang Zhen <liang.zhen@intel.com>
Change-Id: I86c1097d3ccbaa614b8811c1d9f37b39f019c61e
Reviewed-on: http://review.whamcloud.com/14085
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Jenkins
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6396 kernel: kernel update [SLES11 SP3 3.0.101-0.47.52] 64/14164/5
Bob Glossman [Tue, 24 Mar 2015 19:44:57 +0000 (12:44 -0700)]
LU-6396 kernel: kernel update [SLES11 SP3 3.0.101-0.47.52]

Update target and config files for new version

Test-Parameters: envdefinitions=SANITY_EXCEPT=170\
  mdsdistro=sles11sp3 ossdistro=sles11sp3 \
  clientdistro=sles11sp3 mdsfilesystemtype=ldiskfs \
  mdtfilesystemtype=ldiskfs ostfilesystemtype=ldiskfs \
  testgroup=review-ldiskfs

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I4c8d24e45b0e3fbbc31a188ee416860f54371930
Reviewed-on: http://review.whamcloud.com/14164
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: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-2675 lnet: remove unnecessary goto 98/13698/6
Isaac Huang [Sun, 29 Mar 2015 15:45:23 +0000 (11:45 -0400)]
LU-2675 lnet: remove unnecessary goto

The 'out' label and the goto's in brw_client_done_rpc()
are no longer needed, since the user space code has been
removed.

Change-Id: I0f478de2778ec25eea9f7adbd08f4caf0a29668e
Signed-off-by: Isaac Huang <he.huang@intel.com>
Reviewed-on: http://review.whamcloud.com/13698
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Liang Zhen <liang.zhen@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-5319 ptlrpc: Add OBD_CONNECT_MULTIMODRPCS flag 60/13960/6
Gregoire Pichon [Wed, 3 Sep 2014 08:53:00 +0000 (10:53 +0200)]
LU-5319 ptlrpc: Add OBD_CONNECT_MULTIMODRPCS flag

The new OBD_CONNECT_MULTIMODRPCS connection flag indicates the support
of multiple modify RPCs in parallel. It can be specified by the client
within the connection request and by the server within the connection
reply.
The new ocd_maxmodrpcs connection data specifies the maximum modify
RPCs in parallel supported by the server.

To allow the MDS to send the new ocd_maxmodrpcs field, it has been
required to modify RMF_CONNECT_DATA so that its size includes the new
field. This change leads to remove the ocd_connect_data_v1 structure.
Note that the client has been allocating an extra 16*sizeof(__u64) for
the obd_connect_data reply since 2.0 (commit fd908da9, and even in
later versions of 1.8) so there is no problem for the MDS to just send
the full reply size.

This patch fixes a bug in __req_capsule_get() since it wasn't checking
RMF_F_NO_SIZE_CHECK when receiving the message. This allows legacy
clients (with version lower that this commit) to send connection
request with ocd_connect_data structure size smaller (actually size is
ocd_connect_data_v1 structure size) than new server ocd_connect_data
structure size.

This patch also fixes a bug in the routine that displays the import's
connect data.

Signed-off-by: Gregoire Pichon <gregoire.pichon@bull.net>
Change-Id: I4b8a567241f8986d967240efff94c7f407fdd864
Reviewed-on: http://review.whamcloud.com/13960
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
4 years agoLU-5478 osc: get rid of obd_* typedefs 48/13148/16
Dmitry Eremin [Wed, 11 Feb 2015 18:58:11 +0000 (21:58 +0300)]
LU-5478 osc: get rid of obd_* typedefs

We have a bunch of typedefs for common things that made no sense
and hid the actual type from plain view.
Replace them with proper uXX or sXX types.
Exception is in lustre_idl.h and lustre_ioctl.h where
they are replaced with __uXX and __sXX to be able to be included
in userspace

Also fix valid flags to u64.

patch 6 in series: modify osc/osp

Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Change-Id: Ib18583489ed79eaded6339a283bc48e4fda319f6
Reviewed-on: http://review.whamcloud.com/13148
Tested-by: Jenkins
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
4 years agoLU-4647 tests: modify sanity-sec to test multiple MDSes 43/13343/10
Kit Westneat [Mon, 12 Jan 2015 06:51:03 +0000 (01:51 -0500)]
LU-4647 tests: modify sanity-sec to test multiple MDSes

This patch modifies santiy-sec to distribute the nodemap to all the
MDSes in the system. It also uses test_mkdir to create directories on
multiple MDTs, allowing DNE and nodemapping to be tested.

Test-Parameters: alwaysuploadlogs envdefinitions=SLOW=yes \
mdtfilesystemtype=ldiskfs mdsfilesystemtype=ldiskfs ostfilesystemtype=ldiskfs \
mdtcount=4 testlist=sanity-sec

Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Change-Id: I48f47b72e404614167c715a682d99351295d8189
Reviewed-on: http://review.whamcloud.com/13343
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6325 libcfs: shortcut to create CPT from NUMA topology 49/14049/5
Liang Zhen [Thu, 12 Mar 2015 04:16:10 +0000 (12:16 +0800)]
LU-6325 libcfs: shortcut to create CPT from NUMA topology

If user wants to create CPT table that can match numa topology,
she has to query cpu & numa topology, then provide a pattern
string to describe the topology, this is inconvenient.

To improve it, this patch can support shortcut expression "N" or "n"
to create CPT table from NUMA & CPU topology

Signed-off-by: Liang Zhen <liang.zhen@intel.com>
Change-Id: I608f47ad6856ded5bf2f5f223b77b02906ebc8cc
Reviewed-on: http://review.whamcloud.com/14049
Tested-by: Jenkins
Reviewed-by: Olaf Weber <olaf@sgi.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-6376 osp: add RPC lock during RPC send 98/14098/2
wang di [Wed, 11 Mar 2015 04:33:51 +0000 (21:33 -0700)]
LU-6376 osp: add RPC lock during RPC send

Add RPC lock in osp_remote_sync(), so only one modified
UPDATE RPC is allowed each time as other normal MDC client.

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: I6c766625adc355d5c8827bffb78a1820efc46fd6
Reviewed-on: http://review.whamcloud.com/14098
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6373 llite: default dir stripe index only for mkdir 96/14096/2
wang di [Thu, 12 Mar 2015 14:13:42 +0000 (07:13 -0700)]
LU-6373 llite: default dir stripe index only for mkdir

Default dir stripe index should only work during mkdir,
otherwise it will cause other open/create request being
sent to the wrong MDT.

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: Id95d7218196d52950eceea38be5612ffe4a6b080
Reviewed-on: http://review.whamcloud.com/14096
Tested-by: Jenkins
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6247 tests: fix nodemap quota test to use correct blocksize 44/13844/4
Kit Westneat [Mon, 23 Feb 2015 16:23:17 +0000 (11:23 -0500)]
LU-6247 tests: fix nodemap quota test to use correct blocksize

The nodemap quota test needs to take into account indirect blocks and
other overhead when deciding if the quota used is excessive. It's
supposed to add the fs blocksize * 2, so 8k on ldiskfs and 256k on
zfs, but it was using the osc block size instead of the osd
blocksize. This patch modifies the test to use the fs_log_size helper
to determine an appropriate fuzz size.

Test-Parameters: mdtfilesystemtype=zfs mdsfilesystemtype=zfs ostfilesystemtype=zfs testlist=sanity-sec
Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Change-Id: I3bf6380fd0a0e6b3246343da8a139c6b4ea120ae
Reviewed-on: http://review.whamcloud.com/13844
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Reviewed-by: Isaac Huang <he.huang@intel.com>
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-5319 mdt: pass __u64 for storing opdata 97/13297/2
Andreas Dilger [Thu, 8 Jan 2015 19:47:52 +0000 (12:47 -0700)]
LU-5319 mdt: pass __u64 for storing opdata

While lcd_last_data is only __u32, the internal disposition handling
is done with __u64, so it doesn't makes sense to drop the high bits in
mdt_get_disposition(), mdt_set_disposition(), mdt_clear_disposition().

Minor whitespace and prototype cleanups.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: Ia4880b7256564a6799f8c686fd8690ebbf3ebbe5
Reviewed-on: http://review.whamcloud.com/13297
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Grégoire Pichon <gregoire.pichon@bull.net>
Reviewed-by: Patrick Farrell <paf@cray.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6081 lfs: split setstripe and migrate help 17/13317/8
Frank Zago [Fri, 9 Jan 2015 16:58:39 +0000 (10:58 -0600)]
LU-6081 lfs: split setstripe and migrate help

The setstripe and migrate share all but one of their parameters
(--block). However the help is common to both, so the --block also
appears for the setstripe command but is not valid. So split the help
message for each command, while still sharing the same text to avoid
duplication.

Signed-off-by: frank zago <fzago@cray.com>
Change-Id: If8d110b04b26090d0540bb1628de75a94d92727e
Reviewed-on: http://review.whamcloud.com/13317
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>
4 years agoLU-6387 build: add support for power8 15/14115/4
James Simmons [Mon, 23 Mar 2015 15:33:43 +0000 (11:33 -0400)]
LU-6387 build: add support for power8

Expand lustre to natively support the little endian Power8
platform. The architecture is reported as powerpc64le so
add that support to lustre-build-linux.m4. For the Ubuntu
packaging the platform is reported as ppc64el so include
that to the debian build configuration.

Change-Id: I506fd7228579fe1bd6e5c9e9d39db6ca06e4768d
Signed-off-by: James Simmons <uja.ornl@gmail.com>
Reviewed-on: http://review.whamcloud.com/14115
Tested-by: Maloo <hpdd-maloo@intel.com>
Tested-by: Jenkins
Reviewed-by: Jian Yu <jian.yu@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>
4 years agoLU-4688 mdt: remove export_put() from mdt_export_evict() 06/13706/6
Mikhail Pershin [Tue, 10 Feb 2015 05:49:24 +0000 (08:49 +0300)]
LU-4688 mdt: remove export_put() from mdt_export_evict()

This export reference dropping is not needed here, export
referenced from ptlrpc level and will be dropped there as
well. It looks like that call to the class_export_put()
was added just similar to other places where the
class_fail_export() is called but in those cases export
reference was taken right in the same function while here
it is taken by external caller and will dropped there.

Test-Parameters: envdefinitions=SLOW=yes alwaysuploadlogs testlist=replay-dual
Signed-off-by: Mikhail Pershin <mike.pershin@intel.com>
Change-Id: I560271668c10715c7f6caa02bfbf2fccab3eeade
Reviewed-on: http://review.whamcloud.com/13706
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoNew tag 2.7.51 2.7.51 v2_7_51 v2_7_51_0
Oleg Drokin [Thu, 26 Mar 2015 00:15:30 +0000 (20:15 -0400)]
New tag 2.7.51

Change-Id: If0b670b630c0df80474f5a77e159da1752db39db

4 years agoLU-6020 kerberos: readdir bulk replies are not wrapped 20/14020/5
Andrew Perepechko [Mon, 9 Mar 2015 18:20:37 +0000 (21:20 +0300)]
LU-6020 kerberos: readdir bulk replies are not wrapped

target_bulk_io() does not wrap readdir replies causing readdir errors:
gss_cli_ctx_unwrap_bulk() bulk security descriptor mismatch: (0,0,2) != (0,0,0)
ll_get_dir_page() read cache page: [0x200000007:0x1:0x0] at 0: rc -71
ll_dir_read() error reading dir [0x200000007:0x1:0x0] at 0: rc -71

Change-Id: Ifa11e1f6bbc6ae8a3a7c4f296f055fd38dabd6aa
Xyratex-bug-id: SNT-15
Signed-off-by: Andrew Perepechko <andrew.perepechko@seagate.com>
Reviewed-on: http://review.whamcloud.com/14020
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Sebastien Buisson <sebastien.buisson@bull.net>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6020 kerberos: bulk nob is not corrected on bulk writes 18/14018/3
Andrew Perepechko [Mon, 9 Mar 2015 17:42:57 +0000 (20:42 +0300)]
LU-6020 kerberos: bulk nob is not corrected on bulk writes

The real transferred block in the end of a file can
have a size different from the original block in
privacy mode. The proper fix should probably just
mimic the behaviour of the client.

Change-Id: I594c116c78b7746f4881e0de8b7cc63b37268381
Xyratex-bug-id: SNT-15
Signed-off-by: Andrew Perepechko <andrew.perepechko@seagate.com>
Reviewed-on: http://review.whamcloud.com/14018
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Sebastien Buisson <sebastien.buisson@bull.net>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6081 lib: don't ignore the return of read() 54/13654/2
Frank Zago [Wed, 4 Feb 2015 21:31:31 +0000 (15:31 -0600)]
LU-6081 lib: don't ignore the return of read()

The return of read() must be checked on some platform, possibly with a
recent version of glibc. Otherwise this gives an "ignoring return
value of 'read'" warning, which breaks the build. It happens on Ubuntu
14.04.

Use the return of read() to the random entropy to fix the issue. This
doesn't do much for the entropy, but it doesn't hurt either.

Signed-off-by: frank zago <fzago@cray.com>
Change-Id: Iee7c1bce818e2f163db8f860acf8be075f5a543e
Reviewed-on: http://review.whamcloud.com/13654
Reviewed-by: Patrick Farrell <paf@cray.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Henri Doreau <henri.doreau@cea.fr>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
4 years agoLU-6159 hsm: add CL_CLOSE to default changelog mask 26/13526/8
Frank Zago [Mon, 26 Jan 2015 17:53:59 +0000 (11:53 -0600)]
LU-6159 hsm: add CL_CLOSE to default changelog mask

There's no point in ignoring CL_CLOSE by default in changelogs.
Robinhood needs these events else the database quickly
becomes out of sync. So let's have it by default.

Note that CL_CLOSE is not issued when the file was opened in read-only
mode.

Signed-off-by: frank zago <fzago@cray.com>
Change-Id: Ie5f42bc4413259e5079801a204e15125cde0c48b
Reviewed-on: http://review.whamcloud.com/13526
Tested-by: Jenkins
Reviewed-by: Henri Doreau <henri.doreau@cea.fr>
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-5823 clio: remove IOC_LOV_GETINFO 48/12748/7
Bobi Jam [Fri, 7 Nov 2014 09:50:15 +0000 (17:50 +0800)]
LU-5823 clio: remove IOC_LOV_GETINFO

* In cb_find_init() (lfs find) use some variant of stat() to get file
  size and times.
* Remove the then unused IOC_LOV_GETINFO ioctl.
* Remove ll_glimpse_ioctl() and ll_lsm_getattr().
* Remove the OBD API method obd_getattr_async().

Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I8fb6b69b1c94f0522a1405f1105ab0b7a2041601
Reviewed-on: http://review.whamcloud.com/12748
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-5823 clio: add coo_obd_info_get and coo_data_version 38/12638/14
Bobi Jam [Tue, 4 Nov 2014 13:41:56 +0000 (21:41 +0800)]
LU-5823 clio: add coo_obd_info_get and coo_data_version

* Add coo_obd_info_get to retrieve object attributes from servers.
* Add coo_data_version to retrieve object's data_version.

Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: Ia66a3ba1eee5c6478f3aa5c9f942ada77b2b5fe9
Reviewed-on: http://review.whamcloud.com/12638
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6047 mdt: remove Size on MDS support 42/13442/3
John L. Hammond [Fri, 16 Jan 2015 19:33:46 +0000 (13:33 -0600)]
LU-6047 mdt: remove Size on MDS support

Remove size on MDS support from lustre/mdt/. In struct mdt_object
change the struct mutex mot_ioepoch_mutex member to spinlock_t
mot_write_lock and rename mot_writecount to mot_write_count.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I271117618f7b88a22ddbcca4db5a4723ab48e3ea
Reviewed-on: http://review.whamcloud.com/13442
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6313 tests: more robust for scrub test_11 57/13957/3
Fan Yong [Tue, 3 Mar 2015 21:13:28 +0000 (05:13 +0800)]
LU-6313 tests: more robust for scrub test_11

For the sanity-scrub test_11, except for the known created by the
test scripts, there may be other objects (such as for llog) have
been created before the first OI scrub scaning. So it is not easy
to estimate how many objects should be skipped during the first
OI scrub scanning. So we only check that the number of skipped
files is more than the number or known created.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Iced9fb255559394117880514c5e716d05a81a177
Reviewed-on: http://review.whamcloud.com/13957
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6335 kernel: kernel upgrade [RHEL7.1 3.10.0-229.el7] 90/14090/4
Bob Glossman [Thu, 12 Mar 2015 17:05:26 +0000 (10:05 -0700)]
LU-6335 kernel: kernel upgrade [RHEL7.1 3.10.0-229.el7]

upgrade from RHEL7.0 to RHEL7.1 3.10.0-229.el7 kernel

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

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I6b733eb4571b57339889e927c4658c02e7ac7f34
Reviewed-on: http://review.whamcloud.com/14090
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: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6221 utils: hsm_root is also required for --dry-run 73/13673/2
Bruno Faccini [Fri, 6 Feb 2015 12:13:02 +0000 (13:13 +0100)]
LU-6221 utils: hsm_root is also required for --dry-run

Not specifying hsm_root in copytool/lhsmtool_posix command line for
--dry-run mode can lead to failure/error.
This path ensures that hsm_root will be required even for --dry-run.

Signed-off-by: Bruno Faccini <bruno.faccini@intel.com>
Change-Id: Icaa2af6d1365751d9e77b2be3f60aacc9c1f6a5c
Reviewed-on: http://review.whamcloud.com/13673
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Henri Doreau <henri.doreau@cea.fr>
Reviewed-by: Hongchao Zhang <hongchao.zhang@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6378 kernel: simplify quota-avoid-dqget-call.patch 35/14135/3
Niu Yawei [Mon, 23 Mar 2015 05:23:32 +0000 (01:23 -0400)]
LU-6378 kernel: simplify quota-avoid-dqget-call.patch

Backport the patch from upstream kernel, which doesn't rely
on the I_NEW to skip dqget()/dqput() calls, it should check
the i_dquot directly instead.

Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: I10e2e8284704bc7cf9ffae4ee88f06fafef14b1a
Reviewed-on: http://review.whamcloud.com/14135
Tested-by: Jenkins
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
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: James Simmons <uja.ornl@gmail.com>
4 years agoLU-6356 ptlrpc: ret -ECONNREFUSED if not context found in req 43/14043/4
Sebastien Buisson [Wed, 11 Mar 2015 10:31:08 +0000 (11:31 +0100)]
LU-6356 ptlrpc: ret -ECONNREFUSED if not context found in req

Return -ECONNREFUSED instead of -ENOMEM in sptlrpc_req_get_ctx()
if no context is found in req.
It it more graceful?

Signed-off-by: Sebastien Buisson <sebastien.buisson@bull.net>
Change-Id: If1b142199a94d1976093a7d26a05e49a63f50469
Reviewed-on: http://review.whamcloud.com/14043
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Andrew Perepechko <andrew.perepechko@seagate.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6245 libcfs: cleanup libcfs lock handling 93/13793/4
James Simmons [Mon, 9 Mar 2015 20:53:41 +0000 (16:53 -0400)]
LU-6245 libcfs: cleanup libcfs lock handling

Previously with libcfs being built for user land and kernel
space wrappers were created to transparently handle locking.
Now that user land support has been removed we delete all
those locking wrappers with this patch.

Signed-off-by: James Simmons <uja.ornl@gmail.com>
Change-Id: Icbd9b5c0918cb01202439416b220b6f327144a91
Reviewed-on: http://review.whamcloud.com/13793
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
4 years agoLU-6245 lnet: remove kernel defines in userland headers 92/13792/6
James Simmons [Thu, 19 Mar 2015 15:57:34 +0000 (11:57 -0400)]
LU-6245 lnet: remove kernel defines in userland headers

Currently the lnet headers used for user land applications
contain various kernel definations. This is due to the
fact libcfs contains kernel wrappers for user land which
will be going away. This patch sorted the header data
so all kernel containing structures are moved out of
headers that user land will use.

Signed-off-by: James Simmons <uja.ornl@gmail.com>
Change-Id: I3904cd692bf2debd3123cbf8ca98dfc518ce0a97
Reviewed-on: http://review.whamcloud.com/13792
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>
4 years agoLU-6395 mgc: one byte shorter for logname allocation 46/14146/2
wang di [Sun, 22 Mar 2015 15:15:19 +0000 (08:15 -0700)]
LU-6395 mgc: one byte shorter for logname allocation

One byte shorter for logname allocation in mgc_llog_local_copy(),
which might cause buffer overflow in the following sprintf().

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: Ie758c3650c1cf7848874d9fd3a02a5618043eb8f
Reviewed-on: http://review.whamcloud.com/14146
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>