Whamcloud - gitweb
Oleg Drokin [Wed, 6 Jul 2016 04:38:19 +0000 (00:38 -0400)]
LU-8371 llite: Trust creates in revalidate too.
By forcing creates to always go via lookup we lose some
important caching benefits too.
Instead let's trust creates with positive cached entries.
Then we have 3 possible outcomes:
1. Negative dentry - we go via atomic_open and do the create
by name there.
2. Positive dentry, no contention - we just go straight to
ll_intent_file_open and open by fid.
3. positive dentry, contention - by the time we reach the server,
the inode is gone. We get ENOENT which is unacceptable to return
from create. But since we know it's a create, we substitute it
with ESTALE and VFS retries again with LOOKUP_REVAL set, we catch
that in revalidate and force a lookup (same path as before this
patch).
Change-Id: I7b006a50703bfb37e8747dca0f95b2c512b82429
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/21168
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Fan Yong [Thu, 16 Jun 2016 14:58:10 +0000 (22:58 +0800)]
LU-8084 lfsck: handle linkea record length properly
The record length in the linkea may be corrupted. If we do not handle
the invalid record length when locate the next linkea record or delete
the current record, it may cause invalid memory accessing and corrupt
other data in RAM, and then cause kinds of strange RAM issues.
Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I27d724025c8157ecf51e3269a39e2fdfbc27a27d
Reviewed-on: http://review.whamcloud.com/19877
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Artem Blagodarenko [Tue, 15 Sep 2015 10:32:14 +0000 (13:32 +0300)]
LU-7160 mgs: Skip processing .bak files on MGS
lctl replace_nids command saves previous version of
config files to file with original_name.bak file name.
This file should never be processed by MGS.
This patch adds code that skips file with .bak extention
from list to be processed by MGS.
Signed-off-by: Artem Blagodarenko <artem.blagodarenko@seagate.com>
Xyratex-bug-id: MRP-2742
Change-Id: I5ad5cf5548d395459d2245394ef3f7764fe8f0ca
Reviewed-on: http://review.whamcloud.com/16428
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>
Lai Siyao [Wed, 27 Jul 2016 14:35:48 +0000 (22:35 +0800)]
LU-8454 llite: normal user can't set FS default stripe
Current client doesn't check permission before updating filesystem
default stripe on MGS, which isn't secure and obvious.
Since we setattr on MDS first, and then set default stripe on MGS,
we can just return error upon setattr failure.
Now filesystem default stripe is stored in ROOT in MDT, so saving
it in system config is for compatibility with old servers, this
will be removed in the future.
Add sanity 65m to verify this.
Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Change-Id: Ia224a9211c1ceab08a3a064adc67bc945ee3fc11
Reviewed-on: http://review.whamcloud.com/21612
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Di Wang [Thu, 4 Aug 2016 22:34:14 +0000 (18:34 -0400)]
LU-8493 osp: Do not set stale for new osp obj
Do not set stale for the new OSP object, otherwise
it will cause ESTALE failure for the following
write operation, see osp_md_declare_write().
This problem is brought in by
http://review.whamcloud.com/19041
Signed-off-by: Di Wang <di.wang@intel.com>
Change-Id: Ib92deab4e0c900d59fbdc2bf50e17fd29fd2ecce
Reviewed-on: http://review.whamcloud.com/21861
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
James Simmons [Fri, 12 Aug 2016 19:53:06 +0000 (15:53 -0400)]
LU-7650 o2iblnd: handle mixed page size configurations.
Currently it is not possible to send LNet traffic between
two nodes using infiniband hardware that have different
page sizes for the case when RDMA fragments are used.
When two nodes establish a connection they tell the other
node the maximum number of RDMA fragments they support.
The issue is that the units are pages, and 256 64K pages
corresponds to 16MB of data, whereas a 4K page system is
limited to messages with 1MB of data. The solution is to
report over the wire the maximum number of fragments in
4K unites regardless of the native page size. The recipient
then uses its native page size to translate into the
maximum number of pages sized fragments it can send to
the other node.
Change-Id: I5aa4a464a0320fbd1841f9ad3add810e7b4f124a
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/21304
Tested-by: Jenkins
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Olaf Weber <olaf@sgi.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
James Simmons [Thu, 11 Aug 2016 15:42:14 +0000 (11:42 -0400)]
LU-6245 client: remove types abstraction from client code
Originally when lustre code was built for userland we needed
a proper way to handle 32 bit and 64 bit platforms when
reporting unsigned longs. Now that this code is only built
for kernel space and the kernel has it own special string
handling functions we don't need this abstraction anymore.
Remove this abstraction from the client side code.
Change-Id: Ic0c55a413237bdf57d60031c12d5d9b62fa39cef
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/20590
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Fan Yong [Sun, 19 Jun 2016 09:16:27 +0000 (17:16 +0800)]
LU-4433 tests: fix mds-survey.sh to support multiple MDTs
This patch fixes mds-survey.sh and mds-survey to support
multiple MDTs.
Test-Parameters: mdtcount=1 testlist=mds-survey
Test-Parameters: envdefinitions=PTLDEBUG=-1,DEBUG_SIZE=150 mdscount=2 mdtcount=4 testlist=mds-survey
Signed-off-by: Fan Yong <fan.yong@intel.com>
Signed-off-by: Jian Yu <jian.yu@intel.com>
Change-Id: I9193b7fb65ab8b5dfd0817a8c203dae463deb090
Reviewed-on: http://review.whamcloud.com/19437
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Minh Diep <minh.diep@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Niu Yawei [Tue, 16 Aug 2016 08:59:35 +0000 (04:59 -0400)]
LU-7903 hsm: leaked export refcount
Add missed class_export_put() in mdt_hsm_agent_send().
Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: Ie9119c53f11901573161034a85bfa7bf83ca6ff8
Reviewed-on: http://review.whamcloud.com/21942
Tested-by: Jenkins
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Kit Westneat [Wed, 10 Aug 2016 16:41:48 +0000 (12:41 -0400)]
LU-8258 nodemap: fix userspace address access in proc code
The fileset proc write handler was incorrectly passing the userspace
buffer address directly to the nodemap code. This patch copies it to
kernel space before passing it. Because the buffer could be greater
than 2k, allocate the buffer off stack.
Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Change-Id: If90c1a95c80b2afd2a4cf6a70dc41d28dd157a2f
Reviewed-on: http://review.whamcloud.com/21857
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Lai Siyao [Tue, 26 Jul 2016 15:27:48 +0000 (23:27 +0800)]
LU-8314 utils: revert lfs_getdirstripe to non-recursive mode
Since 2.7 'lfs getdirstripe' enabled recursion mode by default,
while it's not the obvious behavior, this patch reverts it
to non-recursive mode.
Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Change-Id: I683f5dec203230b36ee3da404e7f0817e91d090f
Reviewed-on: http://review.whamcloud.com/21516
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>
Bobi Jam [Mon, 8 Aug 2016 09:31:34 +0000 (17:31 +0800)]
LU-8460 osc: max_pages_per_rpc should be chunk size aligned
max_pages_per_rpc should be chunk size aligned.
obd_brw_size need to be at least one block size.
Improve the LASSERT() to an LASSERTF() that prints the related
parameters to help debug problem.
Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: If73b8f05052f96970f3e97015a4642152ace2a38
Reviewed-on: http://review.whamcloud.com/21825
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Li Xi [Sat, 6 Aug 2016 14:13:02 +0000 (22:13 +0800)]
LU-4931 ladvise: Add willread advice support for ladvise
This patch adds WILLREAD advice to ladvise framework. OSS will
prefetch data into memory when this hint is provided. It is not
garanteed how long the cached pages will be kept in memory.
Signed-off-by: Li Xi <lixi@ddn.com>
Change-Id: I21394b88a22a8c46ceae7151402341364860ee88
Reviewed-on: http://review.whamcloud.com/12458
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Gu Zheng <gzheng@ddn.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Doug Oucharek [Tue, 19 Jan 2016 01:26:08 +0000 (17:26 -0800)]
LU-7646 lnet: Stop Infinite CON RACE Condition
In current code, when a CON RACE occurs, the passive side will
let the node with the higher NID value win the race.
We have a field case where a node can have a "stuck"
connection which never goes away and is the trigger of a
never-ending loop of re-connections.
This patch introduces a counter to how many times a
connection in a connecting state has been the cause of a CON RACE
rejection. After 20 times (constant MAX_CONN_RACES_BEFORE_ABORT),
we assume the connection is stuck and let the other side (with
lower NID) win.
Signed-off-by: Doug Oucharek <doug.s.oucharek@intel.com>
Change-Id: I32e035806e95868b13c28c42e241b969940a35c9
Reviewed-on: http://review.whamcloud.com/19430
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Amir Shehata <amir.shehata@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Saurabh Tandan [Thu, 4 Aug 2016 19:22:45 +0000 (12:22 -0700)]
LU-7483 tests: sanity test_103a misc test in acl corrected
sanity test_103a was failing under SELinux enabled client
throwing misc test failed error message. With the previous
command "ls -dl d/l | awk 'sub(/\\./, "", $1); {print $1}'"
the output consisted of 2 rows which was causing the failure.
The issue is mentioned in the comments section of LU-7483.
The solution was to filter the results using
"ls -dl d/l | awk '{ sub(/\\.$/, "", $1); print $1 }'"
instead and have the desired result. Results for successfully
run sanity test_103a under SELinux enabled client environment
can be found in the ticket.
Test-Parameters: trivial testlist=sanity,sanity
Signed-off-by: Saurabh Tandan <saurabh.tandan@intel.com>
Change-Id: I3fcd60161873040b66d7004fb1cf682b41a0b8d9
Reviewed-on: http://review.whamcloud.com/21722
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Bob Glossman [Tue, 2 Aug 2016 15:10:26 +0000 (08:10 -0700)]
LU-8468 kernel: kernel update RHEL7.2 [3.10.0-327.28.2.el7]
Update RHEL7.2 kernel to 3.10.0-327.28.2.el7
Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I63fe2cde33efba13be29e0bff0a4ef6b9a3306f5
Reviewed-on: http://review.whamcloud.com/21692
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>
Jian Yu [Wed, 3 Aug 2016 07:20:35 +0000 (00:20 -0700)]
LU-8474 tests: stop MGS before setup_noconfig in conf-sanity.sh
In conf-sanity.sh, some sub-tests will leave MGS mounted
under separate MGT and MDT configuration, which will cause
setup_noconfig() fail. This patch fixes the issue by stopping
MGS before running setup_noconfig().
Test-Parameters: trivial combinedmdsmgs=false envdefinitions=ONLY=55 testlist=conf-sanity
Test-Parameters: trivial envdefinitions=ONLY=55 testlist=conf-sanity
Signed-off-by: Jian Yu <jian.yu@intel.com>
Change-Id: I53f5549c392d300a2c76bbc4ce68e9a8198ba559
Reviewed-on: http://review.whamcloud.com/21653
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Parinay Kondekar <parinay.kondekar@seagate.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Jian Yu [Wed, 3 Aug 2016 01:09:50 +0000 (18:09 -0700)]
LU-8473 tests: skip conf-sanity test 41a with separate MGT and MDT
conf-sanity test 41a is to test “nosvc” and “nomgs” mount options
on a combined MGT/MDT device. It’s not applicable for separate
MGT and MDT configuration. This patch adds codes to check that.
Test-Parameters: trivial combinedmdsmgs=false envdefinitions=ONLY=41a testlist=conf-sanity
Test-Parameters: trivial envdefinitions=ONLY=41a testlist=conf-sanity
Signed-off-by: Jian Yu <jian.yu@intel.com>
Change-Id: I967f63c70953c7c8e5bb296e832ee5335e56f69c
Reviewed-on: http://review.whamcloud.com/21651
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Kit Westneat [Fri, 3 Jun 2016 18:22:50 +0000 (14:22 -0400)]
LU-7061 osd-ldiskfs: NULL pointer in osd_scrub_refresh_mapping
Commit
c0dafc483c (change 16138) missed a spot. id can be NULL for
DTO_INDEX_DELETE operation.
Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Change-Id: Id73f8dfb1834ff5275da006c03f59d4c56286aa7
Reviewed-on: http://review.whamcloud.com/20620
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Fan Yong [Wed, 13 Apr 2016 08:48:39 +0000 (16:48 +0800)]
LU-8085 scrub: increase iteration cursor to skip unused inodes
After the OI scrub iteration handled the last used bits in the
inode table, it should increase the iteration position to next
group before the jump to avoid loop for ever.
Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Ib7a63202a134ecc82070868b9630430f054b69fa
Reviewed-on: http://review.whamcloud.com/19876
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>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Fan Yong [Wed, 13 Apr 2016 08:45:52 +0000 (16:45 +0800)]
LU-8083 lfsck: repair symbol file nlink properly
Miss to check symbolic link case in lfsck_namespace_repair_nlink.
Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I420d558803672100292990f1ff4888c03888c39a
Reviewed-on: http://review.whamcloud.com/19874
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>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
James Simmons [Sat, 6 Aug 2016 23:39:30 +0000 (19:39 -0400)]
LU-6688 tests: use proper nodes for NRS test
Several of the NRS test for sanityn are reporting
error: set_param: ost/OSS/*/nrs_policies: Found no match.
The reason for this is that the test are attempting
to configure NRS oss settings on the MDS servers.
Those oss settings don't exist on MDS servers.
Change the test to alter the oss NRS settings on
the OSS servers instead.
Test-Parameters: trivial testlist=sanityn
Change-Id: I83600165fc1b9f0d9c6ee0d093f54604c46328b9
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/21764
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Aditya Pandit [Wed, 25 Nov 2015 06:16:23 +0000 (11:46 +0530)]
LU-7472 tests: Allows to specify IOR block size with suffix
Added a variable io_blockUnit which can
be set to K, M or G and adjust the IOR block sizes.
Modified to keep m as the default option. Default block
size for IOR tests would be 6MB.
Test-Parameters: trivial
Seagate-bug-id: MRP-2685
Change-Id: Ie7a11d8cb06faad902abc56bca4fc5914df8f42d
Signed-off-by: Aditya Pandit <aditya.pandit@seagate.com>
Signed-off-by: Ashish Purkar <ashish.purkar@seagate.com>
Reviewed-on: http://review.whamcloud.com/17354
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Patrick Farrell [Mon, 1 Aug 2016 18:45:10 +0000 (13:45 -0500)]
LU-7225 llite: ladvise protocol changes
This patch makes some changes to the ladvise API and
protocol to support lock ahead and possible future users.
Primarily, it separates the userspace API arguments from
the structures which go out on the network, and adds a
number of 'value' fields without a predefined use.
The meaning of each value field can be different for
different advice types, allowing some extensibility.
Signed-off-by: Patrick Farrell <paf@cray.com>
Change-Id: I7ac18e546f16a20c3c6bc6849becb0d45e3d5dc9
Reviewed-on: http://review.whamcloud.com/20666
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>
Di Wang [Fri, 19 Feb 2016 09:29:26 +0000 (04:29 -0500)]
LU-7800 llog: check if next llog exists
Because next llog creation will only be checked
and created in declare phase, and it does not
serialize the catllog accessing in the whole
declare_add and add process, so if there are
mulitple threads access the catlog at the same
time, and if the llog creation did not succeeds,
then next_log (in catllog) might be NULL, and
it will cause panic in llog_cat_current_log().
Signed-off-by: Di Wang <di.wang@intel.com>
Change-Id: I2343023c1f3109c077c98d78d3669377d95ed42f
Reviewed-on: http://review.whamcloud.com/18542
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: Oleg Drokin <oleg.drokin@intel.com>
Fan Yong [Wed, 15 Jun 2016 06:56:01 +0000 (14:56 +0800)]
LU-7117 osp: set ptlrpc_request::rq_allow_replay properly
In ptlrpc layer, if the ptlrpc_request::rq_allow_replay is set,
then such RPC can be sent to remote peer even if it is not the
replay RPC during the remote server recovery. Such flag is used
for sending RPC under the case of current server and the remote
server are both in recovery.
On the other hand, abusing such flag will cause some trouble.
For example: consider DNE mode, assume the MDT_m is in recover,
the MDT_n is healthy. At that time, one client can send a normal
reint unlink RPC to the MDT_n to remove the file_A (that resides
on the MDT_n) under the dir_B (that resides on the MDT_m). Under
such case, the MDT_n needs to lookup the dir_B with the file_A's
name, means the MDT_n needs to send lookup OUT RPC to the MDT_m,
but before that it needs to lock the dir_B with LDLM_ENQUEUE RPC
firstly. Because the MDT_m is recovering, since the LDLM_ENQUEUE
RPC is not for replay, it should be blocked until the recovery
done on the MDT_m. That is expected behavior. But if the MDT_n
(via OSP) sets ptlrpc_request::rq_allow_replay improperly, then
such LDLM_ENQUEUE RPC may be sent to the MDT_m during the MDT_m
recovery and granted without conflict. And then the subsequent
lookup OUT RPC may obtain some stale information from the MDT_m
if the dir_B has NOT been recovered yet.
So the ptlrpc_request::rq_allow_replay will be set during current
MDT recovery. On the other hand, there are multiple threads those
are related with the recovery, such as target_recovery_thread and
lod_sub_recovery_thread. Because the obd_device::obd_recovering
is controlled by the target_recovery_thread that is started later
than the lod_sub_recovery_thread. Only checking the obd_recovering
flag does not work under some cases. So it needs to check other
flags: obd_device::obd_replayable and obd_device::obd_no_conn to
distinguish recovery related RPC properly.
So for above case, the client sponsored unlink will be blocked on
the MDT_n for the LDLM_ENQUEUE RPC until the MDT_m recovery done.
Test-Parameters: mdtfilesystemtype=ldiskfs mdsfilesystemtype=ldiskfs ostfilesystemtype=ldiskfs mdscount=2 mdtcount=4 testlist=replay-single,replay-single,replay-single
Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Id9ac542751cc0042fba0a94166dfc57ace52dc69
Reviewed-on: http://review.whamcloud.com/20940
Tested-by: Jenkins
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Saurabh Tandan [Wed, 8 Jun 2016 23:45:19 +0000 (16:45 -0700)]
LU-2805 tests: sanity -Remove test_184c from Always Except
For sanity.sh removing test_184c from the ALWAYS_EXCEPT
list.
Test-Parameters: trivial mdtfilesystemtype=zfs ostfilesystemtype=zfs mdsfilesystemtype=zfs envdefinitions=SLOW=yes testlist=sanity,sanity,sanity,sanity
Signed-off-by: Saurabh Tandan <saurabh.tandan@intel.com>
Change-Id: Iba0b5b0ff2613e94c1cc90921face828605d05cb
Reviewed-on: http://review.whamcloud.com/20104
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Oleg Drokin [Thu, 11 Aug 2016 07:13:29 +0000 (07:13 +0000)]
Revert "LU-7899 osd: batch EA updates"
Reverting this patch as it seems to be causing OOM issus
documented in LU-8449 and there does not seem to be an
easy fix in sight.
This reverts commit
6cd79ab5860c59c2a640a9e8ca4ee86eec050b43.
Change-Id: I934af93d893b01dad7190471b6b1a7bdffb1b509
Reviewed-on: http://review.whamcloud.com/21878
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Tested-by: Oleg Drokin <oleg.drokin@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Yang Sheng [Fri, 5 Aug 2016 17:22:48 +0000 (01:22 +0800)]
LU-8479 obdclass: Reserve some value for OBD_FAIL_* macros
Since these value were used by other branch. So
reserve them in master for consistency.
Test-Parameters: trivial envdefinitions=ONLY=0 testlist=sanity
Signed-off-by: Yang Sheng <yang.sheng@intel.com>
Change-Id: I3b262c34b3d86effeeeecb924092c2ffc8764c42
Reviewed-on: http://review.whamcloud.com/21766
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>
Oleg Drokin [Thu, 11 Aug 2016 06:18:57 +0000 (06:18 +0000)]
Revert "LU-8383 build: Spec file cleanup after LU-5614"
This patch appears to break SLES builds with:
error: Failed build dependencies:
kernel-syms is needed by lustre-2.8.56_23_ge8273a3-1.x86_64
make: *** [srpm] Error 1
This reverts commit
55836cd0e55eb1912911c6f195412c99852115aa.
Change-Id: I612e02431a7aafa4bb3daa7b3fb14a31e08175e3
Reviewed-on: http://review.whamcloud.com/21877
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Tested-by: Oleg Drokin <oleg.drokin@intel.com>
Oleg Drokin [Fri, 10 Apr 2015 02:29:20 +0000 (22:29 -0400)]
LU-6447 mdt: mdt_identity_upcall to not block with rwlock held
mdt_identity_upcall is currently calling call_usermodehelper
with an rwlock held, which is a no-no since it allocates memory
and schedules. Just replace the rwlock with a rw_semaphore.
Change-Id: I7b063a4db47313fbae6241da7bcec2c397b8e8c4
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-on: http://review.whamcloud.com/14432
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Oleg Drokin [Wed, 6 Jul 2016 00:35:30 +0000 (20:35 -0400)]
LU-8371 llite: optimize atomic_open of negative dentry.
No point in talking to MDS in that case if we are not creating,
just return -ENOENT.
Change-Id: I15c00fdc841e5e9d4d1923b2353f7fdc5910d67b
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/21161
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>
Frank Zago [Tue, 2 Aug 2016 19:24:23 +0000 (14:24 -0500)]
LU-8471 obdclass: restore EXPORT_SYMBOL for lu_ref* functions
LU-5829 removed a lot of EXPORT_SYMBOL, including for the lu_ref_*
functions. As these functions are only compiled in when the
--enable-lu_ref is passed to configure, the breakage was missed. This
patch restores the missing EXPORT_SYMBOLS that were present, except
for lu_ref_print and lu_ref_is_marker which are only used in the
obdclass module.
Test-Parameters: trivial
Signed-off-by: Frank Zago <fzago@cray.com>
Change-Id: I16e6065b75c568a18386c0f0a746484fdad38d6e
Reviewed-on: http://review.whamcloud.com/21640
Reviewed-by: Andrew Perepechko <andrew.perepechko@seagate.com>
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>
Kit Westneat [Mon, 25 Jul 2016 19:45:25 +0000 (15:45 -0400)]
LU-8436 nodemap: MGS local MGC should not get_config
An MGC that is co-located with an MGS does not need to pull the
nodemap config as the MGS will manage it directly. Having the MGC
pull the config could lead to a race condition where new config
changes are overwritten by the old config.
Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Change-Id: Ief62f44dd3ef75abb704edee0e55f7f1b1334e42
Reviewed-on: http://review.whamcloud.com/21500
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>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Jeremy Filizetti [Tue, 19 Jul 2016 00:06:32 +0000 (20:06 -0400)]
LU-3289 gss: Fix for SK bulk HMACs
The original patches for SK failed to provide integrity for bulk RPCs.
It was missing the iov for the encrypted pages and only verifying the
zeroed header portion. In addition bulk handling in SK needs to
account for the fact that all kiovs in the bulk descriptor are
populated so the HMAC must limit the bytes to the number specified
in bd_nob as encryption happens before the integrity calculation.
Signed-off-by: Jeremy Filizetti <jeremy.filizetti@gmail.com>
Change-Id: I4bb2c62eff2a1c9391c0f2c8409db36257480d4e
Reviewed-on: http://review.whamcloud.com/21491
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Elena Gryaznova [Tue, 19 Jul 2016 22:31:34 +0000 (01:31 +0300)]
LU-8415 tests: customise MPIRUN
Sometimes it is required to use Hydra process
manager instead of mpirun.
Test-Parameters: trivial testlist=performance-sanity
Seagate-bug-id: MRP-3191
Signed-off-by: Elena Gryaznova <elena.gryaznova@seagate.com>
Reviewed-by: Vladimir Saveliev <vladimir.saveliev@seagate.com>
Reviewed-by: Alexander Zarochentsev <alexander.zarochentsev@seagate.com>
Change-Id: I49d6cf3e01214715f577f6364f2cf27ec1d70fd3
Reviewed-on: http://review.whamcloud.com/21431
Reviewed-by: Jian Yu <jian.yu@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Bob Glossman [Wed, 13 Jul 2016 16:56:50 +0000 (09:56 -0700)]
LU-7732 ldlm: silence verbose "waking for gap" log messages
Quiet down the very frequent and not very useful
"waking for gap in transno" error messages that fill up
the log under certain conditions.
Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I8264a958fa030ef66a3752dbf6e58ba79130d4b7
Reviewed-on: http://review.whamcloud.com/21418
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Wang Shilong [Tue, 12 Jul 2016 07:56:03 +0000 (15:56 +0800)]
LU-8387 test: fix check in sanity test_129
[ $has_warning ] always return 0 which makes this check
useless, fix it.
Test-Parameters: trivial
Signed-off-by: Wang Shilong <wshilong@ddn.com>
Change-Id: I74f920a0940516230c7d25f13b75ad354c3f8348
Reviewed-on: http://review.whamcloud.com/21256
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Dmitry Eremin [Mon, 11 Jul 2016 15:51:46 +0000 (18:51 +0300)]
LU-8383 build: Spec file cleanup after LU-5614
Add dependency from kmod-%{lustre_name}-tests
Fix BuildRequires: %kernel_module_package_buildreqs
Test-Parameters: trivial
Change-Id: I92325687812f10fb308971391e67bb80c08ae5da
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/21208
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Bruno Faccini [Mon, 27 Jun 2016 09:25:20 +0000 (11:25 +0200)]
LU-6449 mdt: broadcast orphan hsm_remove requests
If a hsm_remove request is received for an unlinked file with
no/0 archive_id specified and no Agent/CT has registered to serve
all archive_ids, broadcast the request once to each registered
archive_id.
Also created specific sanity-hsm/test_29d sub-test using
"lfs hsm_remove <fid>" capability introduced by LU-6494.
Test-Parameters: clientcount=4
Signed-off-by: Bruno Faccini <bruno.faccini@intel.com>
Change-Id: Ice5acaa5116dc036d5a98d76368eba2023a29f49
Reviewed-on: http://review.whamcloud.com/20991
Reviewed-by: Frank Zago <fzago@cray.com>
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>
Sebastien Buisson [Mon, 27 Jun 2016 08:58:09 +0000 (10:58 +0200)]
LU-8305 tests: add traces for sanity-sec
Add more traces in sanity-sec.sh to help debug test failures.
Also add traces in mdt_get_root() function.
Test-Parameters: trivial testlist=sanity-sec,sanity-sec,sanity-sec,sanity-sec
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I52291dc1b7c815eb4a845d4cd6a9c926122d107b
Reviewed-on: http://review.whamcloud.com/20990
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
John L. Hammond [Thu, 11 Feb 2016 14:36:37 +0000 (08:36 -0600)]
LU-5560 security: send file security context for creates
Send file security context to MDT along with create RPCs. This closes
the insecure window between creation and setting of the security
context that existed previously. It also avoids a potential LDLM hang
which arises from ll_create_it() when we send a MDS_SETXATTR RPC while
holding the lookup+layout lock returned from open.
Signed-off-by: John L. Hammond <john.hammond@intel.com>
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I21415593b7dd362fecbb18cf90b1dc9fbf1c13db
Reviewed-on: http://review.whamcloud.com/19971
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Frank Zago [Fri, 8 Apr 2016 19:14:29 +0000 (15:14 -0400)]
LU-7988 hsm: remove compound_id from mdt_hsm_add_actions proto
mdt_hsm_request is the only caller of mdt_hsm_add_actions and it
doesn't care about compound_id, so make it a local variable, instead
of an output variable.
Test-Parameters: trivial testlist=sanity-hsm
Signed-off-by: frank zago <fzago@cray.com>
Change-Id: Iabf89497aad2cdf6364c155290c6df44487d8039
Reviewed-on: http://review.whamcloud.com/19583
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Vinayak <vinayakswami.hariharmath@seagate.com>
Reviewed-by: Patrick Farrell <paf@cray.com>
Reviewed-by: Ben Evans <bevans@cray.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Frank Zago [Thu, 7 Apr 2016 16:59:52 +0000 (12:59 -0400)]
LU-7988 hsm: only browse entries of hsd.request when needed
In the coordinator callback, only the entries in hsd.request from 0 to
hsd.request_cnt-1 are used. So use that property instead of walking
the whole array. Consequently, the next entry available in hsd.request
is always at the hsd.request_cnt position, so use it instead of trying
to find an empty slot.
There is no need to reset hsd.request since hsd.request is already
reset in a for loop above. This saves a memset of 16 bytes per
request, each time the arbitor runs.
Test-Parameters: trivial testlist=sanity-hsm
Signed-off-by: frank zago <fzago@cray.com>
Change-Id: I2be0fe5ce918ded028bb260ef345a859b2cc41d4
Reviewed-on: http://review.whamcloud.com/19581
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Vinayak <vinayakswami.hariharmath@seagate.com>
Reviewed-by: Ben Evans <bevans@cray.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Frank Zago [Mon, 11 Apr 2016 19:24:02 +0000 (15:24 -0400)]
LU-7988 hsm: Fix possible out of bounds reference in message
In the "Cannot allocate memory" error message, request[i].hal_sz could
be out of bound if the value of i was hsd->max_requests, which is
likely. The short fix would have been to use
request[empty_slot].hal_sz. Instead use a local variable for the
current request. This also reduces the size of the code.
Test-Parameters: trivial testlist=sanity-hsm
Signed-off-by: frank zago <fzago@cray.com>
Change-Id: I324087117df284dacea25774ebd9d4ed04794cbc
Reviewed-on: http://review.whamcloud.com/19579
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Vinayak <vinayakswami.hariharmath@seagate.com>
Reviewed-by: Ben Evans <bevans@cray.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
John L. Hammond [Fri, 15 Jan 2016 17:14:12 +0000 (11:14 -0600)]
LU-7669 lmv: assume a real connection in lmv_connect()
Assume a real connection in lmv_connect(). Mark OBD_CONNECT_REAL
obsolete. Remove the then unnecessary refcount and exp members of
struct lmv_obd. Remove calls to lmv_check_connect(). Disconnect the
export in the appropriate error path of lmv_connect().
Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I6d4f449506020964afd7f012983bfb2339429e0f
Reviewed-on: http://review.whamcloud.com/18018
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Kit Westneat [Mon, 11 Jul 2016 15:28:08 +0000 (11:28 -0400)]
LU-5092 nodemap: save nodemaps to targets for caching
Modify nodemap config storage to save config to targets as well as
MGSes. This allows targets to start with the last received nodemap
configuration even if the MGS is not available. The config is
replaced by the MGS' config the next time the MGS is available.
Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Change-Id: I1c5221815618fe0265908bfd900ba55f44d1021b
Reviewed-on: http://review.whamcloud.com/17503
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>
frank zago [Mon, 1 Aug 2016 16:05:55 +0000 (12:05 -0400)]
LU-7311 osd: smp_mb__before_clear_bit deprecated since kernel 3.16
smp_mb__before_clear_bit() was deprecated in kernel 3.16 and removed
in kernel 3.18, and was replaced by smp_mb__before_atomic(). To fix,
use clear_bit_unlock which does the old smp_mb__before_clear_bit +
clear_bit.
Signed-off-by: frank zago <fzago@cray.com>
Change-Id: I970807ee4c1d91ddda4011ffb22bbe8af0a7764b
Reviewed-on: http://review.whamcloud.com/16891
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>
Andreas Dilger [Wed, 8 Jun 2016 23:33:31 +0000 (17:33 -0600)]
LU-8248 tests: fix sanity test_248 VM checks
Skip test on clients that do not have fast_read support.
If running in any VM, not just kvm, ignore perf test failures.
Test-Parameters: trivial
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I09fbdb58e71d042c57b6bac1f6f1ef82243ebbe5
Reviewed-on: http://review.whamcloud.com/20698
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Lokesh Nagappa Jaliminche [Wed, 10 Feb 2016 14:00:44 +0000 (19:30 +0530)]
LU-7613 llite: changes to avoid cache corruption
ll_find_alias is responsible for getting alias for inode
which can be reused. Directories are assumed to have unique
alias, where in case of non-directories there can be multiple
aliases. In case of lustre there can be two type of aliases
i.e. discon_alias and invalid_alias. Usage of discon_alias in
case of non-directories may corrupt dcache and leads to kernel
crash. Changes made to avoid use of discon_alias in case of
non-directories.
Seagate-bug-id: MRP-2739, MRP-3601
Change-Id: Ieb9dabab0784bdb3c52e2cb32be1a766ffe55313
Signed-off-by: Lokesh Nagappa Jaliminche <lokesh.jaliminche@seagate.com>
Reviewed-by: Ujjwal Lanjewar <ujjwal.lanjewar@seagate.com>
Reviewed-by: Ashish Purkar <ashish.purkar@seagate.com>
Reviewed-by: Andrew Perepechko <andrew.perepechko@seagate.com>
Tested-by: Parinay Vijayprakash Kondekar <parinay.kondekar@seagate.com>
Reviewed-on: http://review.whamcloud.com/17732
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Yang Sheng [Fri, 5 Aug 2016 22:54:58 +0000 (15:54 -0700)]
LU-4039 tests: enable test_90 for replay-single
Enable the test_90 since the issue cannot be reproduced.
Test-Parameters: trivial envdefinitions=ONLY=90 testlist=replay-single
Signed-off-by: Yang Sheng <yang.sheng@intel.com>
Change-Id: Icaddf3835373c836da6f2ae5eebfb3eb0e12540a
Reviewed-on: http://review.whamcloud.com/21736
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Lai Siyao [Fri, 15 Jul 2016 08:53:18 +0000 (16:53 +0800)]
LU-8370 dne: error in spliting update records
sub_updates_write() needs to split update records if it exceeds
llog_chunk_size, current code is not accurate in offset
calculation, now it's changed to use the same set of functions to
estimate and set update llog size.
Besides, the padding size of each split llog should >=
LLOG_MIN_REC_SIZE, or exactly matches llog chunk size, otherwise
llog_osd_pad() will LASSERT.
Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Change-Id: I061c7808b26ce98967858bbed88b9e5180d88289
Reviewed-on: http://review.whamcloud.com/21334
Tested-by: Jenkins
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Kit Westneat [Mon, 11 Jul 2016 15:17:21 +0000 (11:17 -0400)]
LU-8287 nodemap: don't stop config lock when target stops
Target config log locks keep a reference to the global nodemap config
lock to ensure that it exists while the target is up. When a target
is unmounted, the cld_stopping flag on the config lock is set. The
nodemap lock, however, should not have its flag set as other targets
may still be active. The nodemap config lock is cleaned up when the
final target config lock is cleaned up.
This also changes nodemap so it revokes locks only when enabled.
Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Change-Id: Ibe32f82a6e1a08a011e3d1ede213a2a403befeb8
Reviewed-on: http://review.whamcloud.com/20954
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Oleg Drokin [Tue, 9 Aug 2016 16:02:57 +0000 (12:02 -0400)]
New tag 2.8.56
Change-Id: I660c6559fbd54e9bee5e34d9c4f80d28cdef83e2
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Nathaniel Clark [Wed, 20 Jul 2016 12:18:59 +0000 (08:18 -0400)]
LU-8323 tests: Fix interop for set_hostid
Version check set_hostid in formatall, since older ZFS doesn't "need"
it.
Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: Ica354c00cc2e53c533524df2a41b22226173fbfd
Reviewed-on: http://review.whamcloud.com/21438
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Alex Zhuravlev [Tue, 26 Jan 2016 08:00:45 +0000 (11:00 +0300)]
LU-7712 mdd: migration is too noisy
even in the normal cases when we can't migrate a file due to
activity on it or missing file, etc.
Change-Id: Iee320963116cbb5a141bbeb358eb8f604aa6a533
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/18145
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
James Simmons [Wed, 27 Jul 2016 16:24:31 +0000 (12:24 -0400)]
LU-8056 xattr: update server code for POSIX xattr rename
Enabling ZFS server support for linux 4.5 kernels showed
that the POSIX_ACL_XATTR_{ACCESS,DEFAULT} change to
XATTR_NAME_POSIX_ACL_{ACCESS,DEFAULT} impacts the server
side code as well. Update server side for this name change.
Change-Id: Ieeef8c047177cd55ca87b04dfdacd59d343b0078
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/21454
Tested-by: Jenkins
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Dmitry Eremin [Thu, 14 Jul 2016 18:23:13 +0000 (21:23 +0300)]
LU-8401 lnet: remove dependency on OFED headers from lnet
The LNet layer shouldn't refer to anything in the RDMA world directly.
All OFED dependent code should be localized into o2iblnd.
So, remove dependency on OFED headers from all code except o2iblnd.
Change-Id: I445922ca2be58b5c34e61fe1fa50a423f13ec75d
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/21317
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Chris Horn <hornc@cray.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Bob Glossman [Tue, 12 Jul 2016 18:19:39 +0000 (11:19 -0700)]
LU-8257 utils: fix mtab symlink logic
Existing logic to check if /etc/mtab is symlinked to /proc
fails if the symlink is ../proc/self/mounts. This is in fact
the case in many newer linux distros, for example recent Fedora
versions.
This mod updates the logic in mtab_is_proc() to give the correct
answer for any symlink into /proc.
It also cleans up the exact text on some error messages.
Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I49989f580c32e6baf820b88f6f9e6432aeded43d
Reviewed-on: http://review.whamcloud.com/21260
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Dmitry Eremin [Mon, 11 Jul 2016 16:02:41 +0000 (19:02 +0300)]
LU-8427 build: clear file lustre-tests.files
Clear lustre-tests.files before append to it
Test-Parameters: trivial
Change-Id: I1b916b0b68b9bb57c543daf71892947ee896c8da
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/21229
Tested-by: Jenkins
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Dmitry Eremin [Mon, 11 Jul 2016 16:00:44 +0000 (19:00 +0300)]
LU-8426 rpmbuild: fix build with option "--without lustre_utils"
Fix issue with not existing directory when build without lustre_utils
Test-Parameters: trivial
Change-Id: I2db1f4daa619f62e808f352a1a3265267085dc63
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/21228
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Niu Yawei [Thu, 26 May 2016 06:30:53 +0000 (02:30 -0400)]
LU-8041 tests: rename sanity test 39p to 39q
Rename one of the duplicated test 39p to 39q.
Test-Parameters: trivial
Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: Idcace3585483387d411da7562808780c853bd026
Reviewed-on: http://review.whamcloud.com/20459
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>
Dmitry Eremin [Mon, 16 May 2016 10:03:02 +0000 (13:03 +0300)]
LU-937 tests: fix CLIENTONLY mode for KNL testing
Use default values if getconf utility is absent.
Add missing checks for remote servers availability.
Add checks for invalid options for cmp and find utilities.
Fix test_32 cleanup routine.
Change-Id: Ibaa636c62d202741ad86b6dc1711c6971b34c704
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/20312
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: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Jian Yu [Fri, 15 Jul 2016 07:11:45 +0000 (00:11 -0700)]
LU-8311 mount: fix lmd_parse() to parse colon as NID delimiter
In multi-rail and failover configurations, colon is a valid
delimiter in LNET nid list to separate different hosts.
This patch fixes lmd_parse()->lmd_parse_nidlist() to handle
both comma and colon as delimiters.
Signed-off-by: Jian Yu <jian.yu@intel.com>
Change-Id: I287e08c22c82c2143fe9aba185473a672e8f1429
Reviewed-on: http://review.whamcloud.com/21329
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Nathaniel Clark [Thu, 31 Mar 2016 15:12:38 +0000 (11:12 -0400)]
LU-7863 osd-zfs: dmu_prefetch change in ZFS master
In ZFS master (post zfs-0.6.5-release) dmu_prefetch now has 6
arguments instead of 4. This accounts for the new style dmu_prefetch,
while keeping backward compatibility (back to 0.6.2 which initially
exported dmu_prefetch).
Convert old behavior of SYNC_READ for prefetch to ASYNC_READ as a
better prefetch behavior.
Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: Ia06e5605b06ef1f51817418183e479d591231e5a
Reviewed-on: http://review.whamcloud.com/19293
Tested-by: Jenkins
Reviewed-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Hema Yarramilli [Wed, 25 May 2016 14:03:15 +0000 (19:33 +0530)]
LU-7442 tests: Load modules on MDS/OSS in conf-sanity test_41c
Lustre modules were not present after "cleanup" in test_41c.
So test was failing while setting the "fail_loc" param on the
MDS/OSS. This patch adds "load_modules" after "cleanup".
Test-Parameters: trivial testlist=conf-sanity
Seagate-bug-id: MRP-2711
Signed-off-by: Ashish Maurya <ashish.maurya@seagate.com>
Signed-off-by: Hema Yarramilli <hema.yarramilli@seagate.com>
Change-Id: Icad9410765121bd17f00761477066f9cebf8f686
Reviewed-on: http://review.whamcloud.com/17301
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Fan Yong [Fri, 3 Jun 2016 08:33:58 +0000 (16:33 +0800)]
LU-8399 osp: direct reference object to be invalidate
If the cross-MDTs update failed, the OSP transcation callback
will invalidate related object(s) cache. Originally, it uses
lu_object_find() to locate the object by FID. But it may be
blocked if related object is marked as dying (for some reason,
such as purged when umount).
To avoid such trouble, we make the "osp_update_request" to
reference related object(s) directly, then when needs to
invalidate, we can access the object(s) directly without
locating again.
Test-Parameters: alwaysuploadlogs mdsfilesystemtype=ldiskfs mdtfilesystemtype=ldiskfs ostfilesystemtype=ldiskfs mdscount=2 mdtcount=4 testlist=sanity-scrub,sanity-scrub,sanity-scrub
Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I043182b349b38153cce4e20b2675556ead94c6c1
Reviewed-on: http://review.whamcloud.com/21330
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Oleg Drokin [Tue, 2 Aug 2016 15:40:05 +0000 (15:40 +0000)]
Revert "LU-7845 lnet: check if address is visible"
This patch created a deadlock situation that is tracked under LU-8392
This reverts commit
57b80581e8f13b9f7ddb4c1135390de1ec22b11d.
Change-Id: Iaa3ea51975285b241c52c2dcbebbd846e0ff1f4f
Reviewed-on: http://review.whamcloud.com/21631
Tested-by: Jenkins
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Tested-by: Oleg Drokin <oleg.drokin@intel.com>
Frank Zago [Thu, 7 Apr 2016 16:57:33 +0000 (12:57 -0400)]
LU-7988 hsm: remove hsd.request_sz from struct hsm_scan_data
request_sz is only used in one function, so it doesn't need to be part
of the structure. Instead make it local to mdt_coordinator().
Test-Parameters: trivial testlist=sanity-hsm
Signed-off-by: frank zago <fzago@cray.com>
Change-Id: If58546b9e23281097ed414f863e91b1e6a54c8fb
Reviewed-on: http://review.whamcloud.com/19578
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Vinayak <vinayakswami.hariharmath@seagate.com>
Reviewed-by: Patrick Farrell <paf@cray.com>
Reviewed-by: Ben Evans <bevans@cray.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
James Simmons [Wed, 20 Jul 2016 23:28:36 +0000 (19:28 -0400)]
LU-8352 libcfs: Migrate file_inode() wrapper to lustre layer
The file_inode() defined in libcfs will collide with the
same defination in compat-2.6.h from the OFED/Mellanox
stack. The easiest way to avoid this is move the file_inode
wrapper from libcfs linux-fs.h header to lustre_compat.h.
The header lustre_compat.h is only used in the lustre
layer so it wouldn't collide with compat-2.6.h.
Change-Id: I70502be0d824a2a1f9c538ae894ab8183961349b
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/21082
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Jenkins
Reviewed-by: Chris Horn <hornc@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>
Mikhal Pershin [Fri, 1 Jul 2016 17:07:02 +0000 (20:07 +0300)]
LU-8320 llog: prevent llog ID re-use.
The new llog ID generated in simple manner by
increment of the last used OID within the same FID
sequence. Therefore OID can cycle through zero and
match some very old llog file which is still in use
or orphaned. Patch skips such llog IDs. Also patch
replaces several assertions with sanity checks in
llog_write() path.
Signed-off-by: Mikhal Pershin <mike.pershin@intel.com>
Change-Id: Iffd7e61f75fdb554ae03c8a4b685cd2aff648c24
Reviewed-on: http://review.whamcloud.com/21144
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>
Fan Yong [Fri, 3 Jun 2016 23:03:18 +0000 (07:03 +0800)]
LU-7429 tests: generate dangling name entry properly
When start LFSCK, before scanning the system, it needs to create
the objects ".lustre/lost+found/MDTxxxx" to hold orphans if they
do not exist. Such creation may re-use the backend object (inode
for ldiskfs backend) that was original referenced by the dangling
name entry. If such case happened, the dangling failure injection
will fail, then the LFSCK will not find dangling name entry.
Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I3c8be2e3f83e10a454bbc6175242d0a982211d87
Reviewed-on: http://review.whamcloud.com/21412
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Vladimir Saveliev [Wed, 20 May 2015 16:25:22 +0000 (19:25 +0300)]
LU-6622 tests: reduce chance of stat timeout in lnet-selftest
lst_end_session() calls 'lst show_error' before 'lst stop b' which
stops batched tests. Stat RPC sent by 'lst show_error' may timeout due
to network congestion cause by running batched tests. 'lst show_error'
reports stat RPC's timeout case, so that check_lst_err() detects that
errors were found and assumes that the test failed.
Stop batched tests before call to 'lst show_error' in order to reduce
chance of RCS timeout during 'lst show_error'.
Test-Parameters: trivial
Xyratex-bug-id: MRP-1101
Signed-off-by: Vladimir Saveliev <vladimir.saveliev@seagate.com>
Change-Id: Ibe4fa6399c9ea0b0063ac41494f0725eb14f0e8a
Reviewed-on: http://review.whamcloud.com/14881
Reviewed-by: Doug Oucharek <doug.s.oucharek@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>
James Simmons [Wed, 20 Jul 2016 20:31:48 +0000 (16:31 -0400)]
LU-8056 lprocfs: treat seq_printf as void function
In newer kernels seq_printf is a void function. Some
of the seq_printf handle server side missed being
updated to treat seq_printf as a void function.
Change-Id: Icfd2f83ad4cd143eac228ed3d50beff533fcfe44
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/21453
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Kit Westneat <kit.westneat@gmail.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Lai Siyao [Wed, 13 Jul 2016 19:17:51 +0000 (12:17 -0700)]
LU-8394 tests: exportfs unexport failure can be ignored
During NFS test cleanup, 'service nfs stop' is called before
'exportfs -u', while the former one should have unexport all
already, so the failure of the latter can be ignored.
Test-Parameters: trivial alwaysuploadlogs \
envdefinitions=ONLY=compilebench \
clientdistro=el7 ossdistro=el7 mdsdistro=el7 \
testlist=parallel-scale-nfsv3,parallel-scale-nfsv4
Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Change-Id: I4a6931202dccde2909cab6c60c3ebc002fe4fd98
Reviewed-on: http://review.whamcloud.com/21290
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Niu Yawei [Thu, 23 Jun 2016 09:17:38 +0000 (05:17 -0400)]
LU-6888 osp: check return value in osp_update_request_create()
osp_update_request_create() should check the return value of call
to osp_object_update_request_create(), and return error if
osp_object_update_request_create() failed.
Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: I7b5486c94dec81a506402fc99b24a422c09e3c58
Reviewed-on: http://review.whamcloud.com/20941
Reviewed-by: Fan Yong <fan.yong@intel.com>
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>
Wei Liu [Mon, 28 Mar 2016 21:25:16 +0000 (14:25 -0700)]
LU-7043 test: skip conf-sanity test_86
Skip conf-sanity test_86 if server version is older than 2.7.56
Test-Parameters: trivial testlist=conf-sanity
Change-Id: Ief0ef51afd50c3b8f7861d62e0231b1a923435e6
Signed-off-by: Wei Liu <wei3.liu@intel.com>
Reviewed-on: http://review.whamcloud.com/19176
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Saurabh Tandan <saurabh.tandan@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Frank Zago [Thu, 15 Oct 2015 16:27:21 +0000 (12:27 -0400)]
LU-7311 osd: quotactl_ops has changed in kernel 3.19
The kernel 3.19 has quotactl_ops->[sg]et_dqblk that take struct kqid
and qc_dqblk. Added in kernel commit
14bf61ffe.
Signed-off-by: frank zago <fzago@cray.com>
Change-Id: Ie9943d2537c137ececa03040151059e34850f5de
Reviewed-on: http://review.whamcloud.com/16893
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
frank zago [Wed, 20 Jul 2016 23:24:17 +0000 (19:24 -0400)]
LU-7311 osd: ext4_bread has one less parameter in kernel 3.18
The returned error code was the 5th parameter to ext4_bread until the
kernel 3.18. It was then removed and integrated into the returned
pointer. Create a shim to emulate the newer version of ext4_bread with
older kernels.
Signed-off-by: frank zago <fzago@cray.com>
Change-Id: I3dacd8b24ae7a3a823f5cc662b2ee3627f8fcda7
Reviewed-on: http://review.whamcloud.com/16892
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Andreas Dilger [Wed, 20 Jul 2016 23:32:01 +0000 (19:32 -0400)]
LU-6135 lustreapi: allow specific-OST with llapi_layout
Add support to llapi_layout_ost_index_set() for specifying
specific OST indices for a newly created files. Using
ost_index=LLAPI_LAYOUT_DEFAULT to stripe 0 will reset the
specified stripes back to the default.
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: Ic3aea69527119ddf1cb4f91bac531b6eaa3ebbe5
Reviewed-on: http://review.whamcloud.com/12663
Tested-by: Jenkins
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Alexander Boyko [Thu, 30 Jun 2016 14:52:46 +0000 (17:52 +0300)]
LU-8356 osp: wakeup osp_precreate_reserve on umount
No reasons to wait reservation in osp_precreate_reserve when
import is invalid. This may cause additional delays during umount.
Signed-off-by: Sergey Cheremencev <sergey.cheremencev@seagate.com>
Signed-off-by: Alexander Boyko <alexander.boyko@seagate.com>
Seagate-bug-id: MRP-3603
Change-Id: If2c3449753633fb4cb81e0d0b22f6ecf0882be16
Reviewed-on: http://review.whamcloud.com/21103
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andriy Skulsyh
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Dmitry Eremin [Tue, 29 Mar 2016 17:57:36 +0000 (20:57 +0300)]
LU-7939 osd-ldiskfs: check IS_ERR() instead of NULL
osd_ldiskfs_find_entry() returns ERR_PTR() but checked for NULL.
Change-Id: I9bf6a7f331fd1e6c34c7ea2209944748e832891d
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/19197
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Chennaiah Palla [Tue, 27 Oct 2015 12:18:04 +0000 (17:48 +0530)]
LU-7342 test: test_85a: unused locks error
When we changed FSNAME from lustre to lustre-1, $3
will give “addr” value “clilov” instead of getting
proper address, due to this we are getting "Found no match" error.
But if we change $3 to $NF getting addr value correctly.
Generally NF will give total number of fields in the current
input, but in our case it happens to be last field.
Test-Parameters: trivial testlist=replay-single
Seagate-bug-id: MRP-2791
Signed-off-by: Chennaiah Palla <chennaiah.palla@seagate.com>
Change-Id: I1d5e95425fdf848907cb9617494aa1c7971d90a6
Reviewed-on: http://review.whamcloud.com/16953
Reviewed-by: Jian Yu <jian.yu@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Saurabh Tandan <saurabh.tandan@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Lai Siyao [Wed, 20 Jul 2016 23:22:09 +0000 (19:22 -0400)]
LU-4825 osp: check max_create_count before use OSP
in OSP precreate, if max_create_count is 0, return error directly
to use next OST, this can be used in OST migration.
add sanity.sh 311 for this.
Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Change-Id: I3f1cb84b30229911564969bcfc52b9e7c03a00d4
Reviewed-on: http://review.whamcloud.com/16105
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Oleg Drokin [Thu, 14 Jul 2016 17:47:39 +0000 (17:47 +0000)]
Revert "LU-7782 scrub: handle slave obj of striped directory"
This seems to be causing frequent failures documented in
LU-8399.
This reverts commit
80fe81c5b14835bbd5d751e878edbd00fe90f797.
Test-Parameters: trivial testlist=sanity-scrub,sanity-scrub,sanity-scrub,sanity-scrub,sanity-scrub,sanity-scrub
Change-Id: I84077375673e52244117d98ef4d76a36a4333ad8
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/21313
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Bob Glossman [Tue, 12 Jul 2016 16:12:25 +0000 (09:12 -0700)]
LU-8389 kernel: kernel update RHEL6.8 [2.6.32-642.3.1.el6]
Update RHEL6.8 kernel to 2.6.32-642.3.1.el6
Test-Parameters: clientdistro=el6.8 mdsdistro=el6.8 ossdistro=el6.8 \
mdsfilesystemtype=ldiskfs mdtfilesystemtype=ldiskfs \
ostfilesystemtype=ldiskfs testgroup=review-ldiskfs
Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I5d132dc6fbdd91910b0e3573f4db0d2f1b0ea475
Reviewed-on: http://review.whamcloud.com/21279
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Minh Diep <minh.diep@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Giuseppe Di Natale [Thu, 5 May 2016 22:44:38 +0000 (15:44 -0700)]
LU-8055 ldev: Introduced role filtering
Output can now be filtered by using -R <role>
or --role <role> as command line parameters,
where role is a string such as "mdt", "ost",
or "mgs".
Also removed MGT as a possible node type
in ldev.conf.
Test-Parameters: trivial testlist=conf-sanity
Signed-off-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Change-Id: I488ac702edf0cc7c08020b289dcba040706181b4
Reviewed-on: http://review.whamcloud.com/20041
Reviewed-by: Olaf Faaland-LLNL <faaland1@llnl.gov>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Kit Westneat [Tue, 5 Jul 2016 17:23:52 +0000 (13:23 -0400)]
LU-8357 nodemap: reclassify nodemap requires active conf lock
A couple of call paths did not take the lock, which led to race
conditions. This patch ensures that those calls are under lock.
Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Change-Id: I3db8203b0b6d7d02a02cbe1c3ed6c847915d0076
Reviewed-on: http://review.whamcloud.com/21159
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>
Andriy Skulysh [Wed, 6 Jul 2016 08:34:27 +0000 (11:34 +0300)]
LU-8354 ldlm: soft lockup in ldlm_plain_compat_queue
commit
c09b59bb958f3e089b95dd9492cc1bef17cb3782
LU-3963 ldlm: convert to linux list api
breaks loop iteration optimisation.
tmp variable is modified later to skip already
processed locks from the same mode group.
Change-Id: I4dd493d6bd5bb2ac54801cb289dc89efabdfa920
Seagate-bug-id: MRP-3611
Signed-off-by: Andriy Skulysh <andriy.skulysh@seagate.com>
Reviewed-on: http://review.whamcloud.com/21093
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>
John L. Hammond [Fri, 17 Jun 2016 14:16:08 +0000 (09:16 -0500)]
LU-8297 obd: release MGC device if connect fails
In lustre_fill_super() if lustre_start_mgc() fails then call
lustre_common_put_super() to release a reference on the MGC device
attached to the LSI.
Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I89697badac971e78e1cd3596e7ffc42afdcbfeee
Reviewed-on: http://review.whamcloud.com/20851
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>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Ben Evans [Tue, 12 Jul 2016 13:54:59 +0000 (09:54 -0400)]
LU-8058 lustre: Remove old commented out code
These #if 0 blocks have been in place for years. Assume
they are not used and remove them
Cleanup functions that are no longer used:
sec_gss.c: gss_netobj_swabber
sec_gss.c: gss_swab_netobj
osd_iam_lvar.c: e_check
osd_iam.c: iam_leaf_check
osc_page.c: osc_page_is_dlocked
osc_page.c: osc_page_protected
mgs_llog.c: mgs_check_failnid
Test-Parameters: trivial
Signed-off-by: Ben Evans <bevans@cray.com>
Change-Id: Ib3d337f59a14c5cd7340be7e1aef4f2ca9663ac4
Reviewed-on: http://review.whamcloud.com/20416
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Li Dongyang [Tue, 12 Jul 2016 00:40:27 +0000 (20:40 -0400)]
LU-8056 llite: POSIX_ACL_XATTR_{ACCESS,DEFAULT} removed in 4.5
POSIX_ACL_XATTR_{ACCESS,DEFAULT} are duplicate
xattr name definitions and they are replaced by
XATTR_NAME_POSIX_ACL_{ACCESS,DEFAULT} since Linux kernel 4.5
Linux-commit:
97d79299223baab330b194437e676d301f12d5f6
Signed-off-by: Li Dongyang <dongyang.li@anu.edu.au>
Change-Id: I9e031d3ac77a4bf1832d932c1cab7032e4572445
Reviewed-on: http://review.whamcloud.com/20225
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Kit Westneat [Thu, 3 Mar 2016 03:36:49 +0000 (22:36 -0500)]
LU-7839 nodemap: add a flag to deny access to unmapped users
Sometimes it makes more sense to deny access to users who aren't
mapped, instead of just squashing them to nobody. This patch adds a
per-nodemap flag which, if enabled, makes it so EACCES is returned to
all users mapped to the squashed UID. One use case is preventing an
unmapped user from being able to fill a /tmp-style directory, and in
conjunction with SSK it can restrict users of authorized clients to
their subset of the filesystem namespace, essentially providing
isolated containers.
Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Change-Id: Ia511c887dd94bdec281cbb85e46d49496f85721c
Reviewed-on: http://review.whamcloud.com/18758
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
John L. Hammond [Thu, 7 Jul 2016 21:16:23 +0000 (17:16 -0400)]
LU-5814 lov: remove unused code
Remove:
the tested but never set flag OBD_STATFS_PTLRPCD,
the empty file lustre/lov/lovsub_io.c,
the unused ld_emerg member of struct lov_device,
the unused struct lov_device_emerg and supporting functions,
the unused struct lov_lock_link and supporting functions, and
the unused, get only, or set only members of struct
lovsub_device, lovsub_lock, lov_sublock_env, lov_thread_info,
lov_io_sub, lov_io, lov_request, and lov_request_set.
Reduce the scope of several functions from lov_request.c.
Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I3f4e7c94b401b5f90f7577c6c65311bd586a06ba
Reviewed-on: http://review.whamcloud.com/14878
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Ben Evans <bevans@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>
Christopher J. Morrone [Wed, 4 May 2016 00:44:33 +0000 (17:44 -0700)]
LU-7645 build: Remove unused --with-release configure option
At this point, configure's --with-release option no longer
has any effect. We remove it completely.
Test-Parameters: trivial
Change-Id: I7373c9bf401464f4284ad79aa6fef746dc711bc9
Signed-off-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-on: http://review.whamcloud.com/19958
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>
Christopher J. Morrone [Mon, 11 Jul 2016 23:10:29 +0000 (16:10 -0700)]
LU-8386 zfs: Use ZFS_MAXPROPLEN instead of ZFS_MAXNAMELEN
ZFS_MAXNAMELEN was removed on zfs's master branch. We
substitue ZFS_MAXPROPLEN in its place. We only used this
macro in the get and set zfs property functions, so this
should be a reasonable exchange.
ZFS_MAXPROPLEN has also been around for a long time, so there
is no need to extra logic to make lustre lustre backwards
compatible with older ZFS releases.
Change-Id: I7292194f1a4e0311477954f7f83a3c353e785ac8
Test-Parameters: trivial
Signed-off-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-on: http://review.whamcloud.com/21251
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Christopher J. Morrone [Tue, 12 Jul 2016 14:13:53 +0000 (10:13 -0400)]
LU-7643 build: Remove Linux version string from RPM release field
With the landing of the patch:
"LU-5614 build: use %kernel_module_package in rpm spec"
we neither need, nor desire, to tie a lustre build to a specific
Linux kernel version. Instead we want to allow the weak updates
system to symlink the lustre modules into any and all kernel
directories that are ABI compatible.
Therefore, we remove the Linux version string from Lustre's
RPM release field.
Note that "%define krequires" is moved to a SLES-only section
when the 0%{?build_src_rpm} conditional is removed. This may
seem like an odd place to put it at first glance. But the
next line is the only remaining consumer of krequires, so
we are just moving it to the last place that it might be needed.
This could perhaps be simplified further in a future commit.
When removing the no longer needed %{fullrelease} from the Release
field, we replace it with a 1 and with the %{?dist} string.
%{?dist} is customary for Fedora, RHEL, and likely most rpm-based
distros.
Because the release field is no longer modified between the source
rpm and binary rpm build steps, there is not longer a need for
The build_src_rpm macro. That is removed as well.
Test-Parameters: trivial
Change-Id: I8306f48d5bf0dffcae2888505ec7f0f63e47fc08
Signed-off-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-on: http://review.whamcloud.com/19954
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>
Fan Yong [Thu, 26 May 2016 05:11:41 +0000 (13:11 +0800)]
LU-7648 man: new man pages for LFSCK commands
split lctl LFSCK sub-commands to new man pages. More explaination
about the "-A | --all" option.
Compatible support:
1) "--create_ostobj" and "--create-ostobj" option pairs
2) "--create_mdtobj" and "--create-mdtobj" option pairs
3) "--window_size" and "--window-size" option pairs
Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I560aec923aa72ff11a04916c5fec3ea31c9f4f50
Reviewed-on: http://review.whamcloud.com/19294
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Di Wang [Tue, 19 Apr 2016 13:53:51 +0000 (09:53 -0400)]
LU-7836 ptlrpc: remove duplicate final ping req
Remove duplidate final ping req if the failover
server get new final ping from the same client,
otherwise the final ping will be piled up on
the recovery server, especially if recovery is
stuck during DNE failover.
Signed-off-by: Di Wang <di.wang@intel.com>
Change-Id: I41ecc88cede1024d386283e693698789ac0b7aa4
Reviewed-on: http://review.whamcloud.com/19693
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>
Bob Glossman [Tue, 28 Jun 2016 14:48:37 +0000 (07:48 -0700)]
LU-8337 kernel: kernel update [SLES12 SP1 3.12.59-60.41]
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: I35038f0715abaa7ae69011e102c19d43b5e416bc
Reviewed-on: http://review.whamcloud.com/21051
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>