Whamcloud - gitweb
fs/lustre-release.git
4 years agoLU-6961 ldiskfs: buffer head leak in mmp 41/17841/5
Jadhav Vikram [Tue, 5 Jan 2016 09:32:24 +0000 (15:02 +0530)]
LU-6961 ldiskfs: buffer head leak in mmp

Release bh_check in case of error.
patch added for following kernel
RHEL7.2 3.10.0-327.3.1.el7
SLES11SP3 3.0.101-0.47.55
SLES12 - since the code is fairly same across RHEL7 versions
adding the patch from RHEL7 to the SLES12 patch series.

Seagate-bug-id: MRP-2337
Signed-off-by: Jadhav Vikram <jadhav.vikram@seagate.com>
Change-Id: Ib3712abcc3e754077882f9302b6065e38e1f014c
Reviewed-on: http://review.whamcloud.com/17841
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7480 tests: sanityn test_14 should be renamed 66/17366/3
Kyrylo Shatskyy [Wed, 21 Oct 2015 09:04:14 +0000 (14:34 +0530)]
LU-7480 tests: sanityn test_14 should be renamed

Made test_14 be run separately from others in this group.
Following sanityn tests have been renamed:
- 14 to 14aa
- 14a to 14ab

Change-Id: Ib407db9b0ab032dd8368a0602b8cb9cc468b3178
Seagate-bug-id: MRP-824
Signed-off-by: Kshipra Namjoshi <kshipra.namjoshi@seagate.com>
Signed-off-by: Kyrylo Shatskyy <kyrylo_shatskyy@xyratex.com>
Reviewed-on: http://review.whamcloud.com/17366
Reviewed-by: Jian Yu <jian.yu@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>
4 years agoLU-7329 tests: increase sanity test_60b llog_test line count 70/17670/2
Andreas Dilger [Fri, 18 Dec 2015 08:29:25 +0000 (01:29 -0700)]
LU-7329 tests: increase sanity test_60b llog_test line count

With the increased number of tests in sanity test_60a due to the
landing of LU-6556, LU-6714, and LU-7329, the check test_60b that
detects CWARN/CERROR() rate limiting can be exceeded in some cases,
up to 81 llog_test lines in my testing.

Increase the maximum line count correspondingly.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I08e899f0faed10430aae0d90a54f43aad7500c1e
Reviewed-on: http://review.whamcloud.com/17670
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Faccini Bruno <bruno.faccini@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-5030 snmp: migrate lustre SNMP utilites to use cfs_get_paths 65/17465/9
James Simmons [Thu, 14 Jan 2016 19:43:22 +0000 (14:43 -0500)]
LU-5030 snmp: migrate lustre SNMP utilites to use cfs_get_paths

Move the SNMP lustre tools to use cfs_get_paths so
the tools function with the upstream client as well.

Change-Id: I18d76e10c45a9c8c582e77917a33bb2afa86aac4
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Signed-off-by: Wang Chao <chao.ornl@gmail.com>
Reviewed-on: http://review.whamcloud.com/17465
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-5030 utils: migrate most lustre utils to use cfs_get_paths() 62/17462/14
James Simmons [Mon, 18 Jan 2016 14:39:43 +0000 (09:39 -0500)]
LU-5030 utils: migrate most lustre utils to use cfs_get_paths()

Move all the lustre test applications and utilities
except for the code to handle lctl [s|get]_param
to use cfs_get_paths() instead of accessing the
proc file system directly. This automatically
enables support for sysfs used in the upstream
client.

Change-Id: Iecb4a269c00ac8a5e0633d69d0370e9881ee6e33
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Signed-off-by: Wang Chao <chao.ornl@gmail.com>
Reviewed-on: http://review.whamcloud.com/17462
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-5030 tests: remove /proc paths from tests 82/17082/17
Andreas Dilger [Mon, 18 Jan 2016 14:41:46 +0000 (09:41 -0500)]
LU-5030 tests: remove /proc paths from tests

Remove the hard-coded /proc paths from cancel_lru_locks().  This was
only kept around because of a legacy implementation of that function
where it listed all lru_size files and then clear'd them manually.

If the filenames contained '.' then "lctl {get_param,set_param}" get
unhappy, but if the "lctl {get_param,set_param}" built-in globbing is
used with a wildcard parameter like "MGC*" then the '.' in the param
does not get replaced by '/' during processing and it just works.

Fix sanity-sec.sh test_24 to use "lctl get_param -R".  I couldn't see
a functional difference between the two read checks in that test,
so only left a single check.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Signed-off-by: Emoly Liu <emoly.liu@intel.com>
Change-Id: I0aff1dd29d44b9272f56e18f0e443c7fab3ebbe5
Reviewed-on: http://review.whamcloud.com/17082
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Ryan Haasken <haasken@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>
4 years agoLU-7661 mgs: restrict MGS_SET_INFO to stripe parameters 82/17982/2
John L. Hammond [Wed, 13 Jan 2016 17:16:28 +0000 (11:16 -0600)]
LU-7661 mgs: restrict MGS_SET_INFO to stripe parameters

The MGS_SET_INFO RPC is only needed for setting the default striping
on a filesystem, so in mgs_set_info() reject attempts to set a
parameter that is not of the form *.lov.stripe{count,size,offset}=*.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I5ac693f886fd035ab639e03628849e791e1e2e9a
Reviewed-on: http://review.whamcloud.com/17982
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Jeremy Filizetti <jeremy.filizetti@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7089 tests: sanity test 99b: find: invalid mode ‘+4’ 77/16177/21
Yang Sheng [Wed, 2 Sep 2015 13:48:44 +0000 (21:48 +0800)]
LU-7089 tests: sanity test 99b: find: invalid mode ‘+4’

Changes perm +4 pattern to perm /4. '+4' has deprecated.

Test-Parameters: envdefinitions=ONLY=99 clientdistro=sles12 testlist=sanity
Signed-off-by: Yang Sheng <yang.sheng@intel.com>
Change-Id: If5e04fece8d90193acd89cd42f61e3ee5e79064e
Reviewed-on: http://review.whamcloud.com/16177
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Jenkins
Reviewed-by: Jian Yu <jian.yu@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-5030 util: migrate liblustreapi to use cfs_get_paths() 68/17468/8
James Simmons [Thu, 14 Jan 2016 20:15:18 +0000 (15:15 -0500)]
LU-5030 util: migrate liblustreapi to use cfs_get_paths()

Move liblustreapi library to use cfs_get_paths() so
it can be used with the upstream client as well.

Change-Id: I7c2ee3ded74dec0827f1aeaa631b1c334d39c917
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Signed-off-by: Wang Chao <chao.ornl@gmail.com>
Reviewed-on: http://review.whamcloud.com/17468
Reviewed-by: Ben Evans <bevans@cray.com>
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7174 build: add mmap_cat to .gitignore 45/17845/3
James Simmons [Wed, 6 Jan 2016 16:27:04 +0000 (11:27 -0500)]
LU-7174 build: add mmap_cat to .gitignore

While testing patches other non-patch the new application
mmap_cat will show up with git status. To avoid adding
this by accident place thes by product files in the
proper .gitignore files.

Change-Id: I11ae5fd73ef0c5238fedf2d7a5673944af421ead
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/17845
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7630 mdt: keep FS capability for getattr_name 15/17815/2
Li Dongyang [Tue, 5 Jan 2016 05:43:39 +0000 (16:43 +1100)]
LU-7630 mdt: keep FS capability for getattr_name

This is a follow up of LU-6528.

When "no_subtree_check" is set for NFS export, nfsd_set_fh_dentry()
doesn't set correct fsuid explicitely, but raise capability to allow
exportfs_decode_fh() to reconnect disconnected dentry into dcache.

The patch of LU-6528 fixed the issue for mdt_reint_getattr() but
missed the case for mdt_getattr_name().

LU-6528 added drop_fs_cap to old_init_ucred() to preserve
the capability but the logic was removed by LU-7199 commit
2aea469a3a, this patch reverts that.

This patch also makes sure old_init_ucred() won't fail identity check
when we have a raised capability but not a valid fsuid.

Signed-off-by: Li Dongyang <dongyang.li@anu.edu.au>
Change-Id: Ia41a8243eb18b1e469529bef186e3239fe9ebc1d
Reviewed-on: http://review.whamcloud.com/17815
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7556 kernel: kernel update RHEL 6.7 [2.6.32-573.12.1.el6] 33/17633/4
Bob Glossman [Tue, 15 Dec 2015 22:59:02 +0000 (14:59 -0800)]
LU-7556 kernel: kernel update RHEL 6.7 [2.6.32-573.12.1.el6]

Update RHEL 6.7 kernel to 2.6.32-573.12.1.el6

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I0a18a4dc18bf43ca12036b8f711390b79f034b45
Reviewed-on: http://review.whamcloud.com/17633
Tested-by: Jenkins
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7276 utils: fix llog_reader loop on empty log 27/17627/4
Andreas Dilger [Thu, 24 Jul 2014 20:19:08 +0000 (14:19 -0600)]
LU-7276 utils: fix llog_reader loop on empty log

If llog_reader tries to read an empty log file (0 bytes) it does not
detect this as an error, since it tries to read 0 bytes from the llog
and then tries to parse an empty llog header.

Return an error if the llog file is smaller than struct llog_log_hdr.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: Ife482eb6d73b35f09cc70ca4b79bfd7b053ebb35
Reviewed-on: http://review.whamcloud.com/17627
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Olaf Faaland-LLNL <faaland1@llnl.gov>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7569 o2iblnd: avoid intensive reconnecting 92/17892/3
Liang Zhen [Fri, 8 Jan 2016 15:30:47 +0000 (23:30 +0800)]
LU-7569 o2iblnd: avoid intensive reconnecting

When there is a connection race between two nodes and one side
of the connection is rejected by the other side. o2iblnd will
reconnect immediately, this is going to generate a lot of
trashes if:

- race winner is slow and can't send out connecting request
  in short time.
- remote side leaves a cmid in TIMEWAIT state, which will reject
  future connection requests

To resolve this problem, this patch changed the reconnection
behave: reconnection is submitted by connd only if a zombie
connection is being destroyed and there is a pending
reconnection request for the corresponding peer.

Also, after a few rejections, reconnection will have a time
interval between each attempt.

Signed-off-by: Liang Zhen <liang.zhen@intel.com>
Change-Id: I45f010a27ef0b337c225a2354845db8cb6bb9969
Reviewed-on: http://review.whamcloud.com/17892
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-5030 util: delete no longer functional lltrack_stats application 04/17904/3
James Simmons [Mon, 11 Jan 2016 14:30:29 +0000 (09:30 -0500)]
LU-5030 util: delete no longer functional lltrack_stats application

While cleaning up the lustre utilites to remove direct
procfs access one of the application lltrack_stats had
to be updated. While testing I discovered this application
actually calls a external perl script llstat.pl which
was removed a very long time ago which means this app
doesn't even work. Since this is the case we can just
delete this non-functional application.

Change-Id: I39189393060d592272dd7112904cd598912d8271
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/17904
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-5030 utils: fix lnet/utils/debug.c compile issue 00/17900/3
James Simmons [Mon, 11 Jan 2016 14:38:27 +0000 (09:38 -0500)]
LU-5030 utils: fix lnet/utils/debug.c compile issue

The source file debug.c will fail to compile if gcc
uses the flag -Werror=format-security. The solution
is to add "%s" to cfs_get_param_path().

Change-Id: If0fb438010f692e11432aa1539218d16c9e4548e
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/17900
Tested-by: Jenkins
Reviewed-by: Ryan Haasken <haasken@cray.com>
Reviewed-by: Frank Zago <fzago@cray.com>
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-6401 headers: move swab functions to new header files 39/16339/11
Ben Evans [Fri, 4 Sep 2015 14:26:02 +0000 (09:26 -0500)]
LU-6401 headers: move swab functions to new header files

Create headers for pack_generic.c and llog_swab.c
Reference only where needed.

Signed-off-by: Ben Evans <bevans@cray.com>
Change-Id: I0942d2b7e3d60994c43832a94625fa300bac6617
Reviewed-on: http://review.whamcloud.com/16339
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: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7382 llite: Fix iovec references accounting in ll_file_aio_read/write 32/17632/6
Andriy Skulysh [Wed, 16 Dec 2015 14:05:31 +0000 (16:05 +0200)]
LU-7382 llite: Fix iovec references accounting in ll_file_aio_read/write

lti_local_iov is used to store iovec in case of 1 segment.

It is needed to hold reference on lu_env during
call of ll_file_write_iter() or ll_file_read_iter().

Otherwise an assertion fails:
vvp_io_update_iov()) ASSERTION( vio->vui_tot_nrsegs >= vio->vui_iter->nr_segs ) failed

Change-Id: Iaff4c81c6ced9ac0e1557dd0eb1fab5205b48e28
Signed-off-by: Andriy Skulysh <andriy.skulysh@seagate.com>
Reviewed-on: http://review.whamcloud.com/17632
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Patrick Farrell <paf@cray.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7586 test: wait for remove in sanity-hsm test_406() 28/17828/2
John L. Hammond [Tue, 5 Jan 2016 20:28:00 +0000 (14:28 -0600)]
LU-7586 test: wait for remove in sanity-hsm test_406()

In sanity-hsm test_406() wait for the remove to complete before
continuing and call 'lfs mv' with the parent directory instead of the
individual file.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: Idc22747c3e9da35ca40671735f18889345af5d9d
Reviewed-on: http://review.whamcloud.com/17828
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Faccini Bruno <bruno.faccini@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7647 lnet: remove annoying message in parse_nidrange 16/17916/2
Li Xi [Sun, 10 Jan 2016 13:26:39 +0000 (21:26 +0800)]
LU-7647 lnet: remove annoying message in parse_nidrange

When setting TBF rules of jobid, parse_nidrange() prints warning
messages. However, this is unnecessary and annoying since paring
a TBF rule will always try to parse the jobid like a nid.

Signed-off-by: Li Xi <lixi@ddn.com>
Change-Id: Idaa9525991bceadaafbb9d72b723e4f54b6dbe14
Reviewed-on: http://review.whamcloud.com/17916
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: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6684 lfsck: stop lfsck even if some servers offline 32/17032/6
Fan Yong [Wed, 23 Sep 2015 05:40:46 +0000 (13:40 +0800)]
LU-6684 lfsck: stop lfsck even if some servers offline

It is possible that during the LFSCK scanning, some server, MDT
or OST, maybe offline. At that time, if the LFSCK needs to talk
with such offline server, related RPC will trigger reconnect to
the offline server, and the LFSCK engine has to wait there till
the offline server become online or someone deactive the server
by force. Under such case, if the admin wants to stop the LFSCK,
the stop request will be blocked. It is NOT good usage.

This patch allows the lfsck_stop sponsor to send SIGINT signal
to the LFSCK engine to make it awake from the infinite waiting
status, then the LFSCK can be stopped even if some servers are
offline.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I07e7ae7ca98ebf213888b58d615ae8001d28afbe
Reviewed-on: http://review.whamcloud.com/17032
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>
4 years agoLU-7422 mdt: fix ENOENT handling in mdt_intent_reint 77/17177/5
Sergey Cheremencev [Fri, 23 Oct 2015 16:13:51 +0000 (19:13 +0300)]
LU-7422 mdt: fix ENOENT handling in mdt_intent_reint

In case of DISP_OPEN_CREATE client waits for valid
fid value in reply when it_status == 0.
When reint_open returns ENOENT fid is not set and
client gets fid filled by 0. This may cause following
panic:
ll_prep_inode()) ASSERTION( fid_is_sane(&md.body->fid1) )

Change-Id: I1c8821f547de11709663565ce509044613564bc5
Signed-off-by: Sergey Cheremencev <sergey.cheremencev@seagate.com>
Xyratex-bug-id: MRP-3073
Reviewed-by: Artem Blagodarenko <artem.blagodarenko@seagate.com>
Reviewed-by: Alexander Zarochentsev <alexander.zarochentsev@seagate.com>
Reviewed-by: Alexey Leonidovich Lyashkov <alexey.lyashkov@seagate.com>
Tested-by: Elena V. Gryaznova <elena.gryaznova@seagate.com>
Reviewed-on: http://review.whamcloud.com/17177
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>
4 years agoLU-7624 fld: copy userspace buffer 97/17797/4
Bob Glossman [Mon, 4 Jan 2016 19:28:43 +0000 (11:28 -0800)]
LU-7624 fld: copy userspace buffer

copy userspace buffer into kernel space before use.

Based on:
 Linux-commit: 48f46e74dc7d1770a69b1dc9ef9a54ab7c3aedc0

    staging: lustre: lustre: fld: lproc_fld.c fixed warning

    fixed warning for line over 80 characters by moving the struct init
    onto a diff line.

Signed-off-by: Anil Belur <askb23@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 Linux-commit: e84962e3afc1665756bd4854c63da662696fb687

    staging: lustre: fix sparse warning on LPROC_SEQ_FOPS macros

    ...

    The patch also fixes one __user pointer direct dereference by
    strncmp() in function fld_proc_hash_seq_write().

Signed-off-by: Tristan Lelong <tristan@lelong.xyz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 Linux-commit: 41dff7ac1a7c97f5532931154bfdf505d7ce1631

    staging: lustre: remove kmalloc from fld_proc_hash_seq_write

    This patch simplifies the fld_proc_hash_seq_write() function
    by removing the dynamic memory allocation.
    The longest fh_name used so far in lustre is 4 characters.
    We use a 8 bytes variable to be on the safe side.

Signed-off-by: Tristan Lelong <tristan@lelong.xyz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I3ca796f12d340753c6fd952587d2592dcfbc80c8
Reviewed-on: http://review.whamcloud.com/17797
Tested-by: Jenkins
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
4 years agoLU-7636 gss: avoid useless sec debug log flooding 69/17869/2
Sebastien Buisson [Thu, 7 Jan 2016 10:39:19 +0000 (11:39 +0100)]
LU-7636 gss: avoid useless sec debug log flooding

Avoid useless sec debug log flooding by printing gss context deletion
messages only when context is not null.

Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I9a93813c52c6edadac435e5ba53ed292b81d6566
Reviewed-on: http://review.whamcloud.com/17869
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
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-7525 mdd: mdd_migrate_create() should not set nlink 96/17496/5
Alex Zhuravlev [Mon, 7 Dec 2015 13:35:40 +0000 (16:35 +0300)]
LU-7525 mdd: mdd_migrate_create() should not set nlink

at object creation. the migration process itself takes
care of nlink incrementing it atomically with dt_insert().

Change-Id: Ia2c8f6cdd77e0808a8060d6e1c542c596612a3ce
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/17496
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Reviewed-by: wangdi <di.wang@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7587 tests: fix sanity test_231a on SLES12 22/17722/6
Yang Sheng [Thu, 24 Dec 2015 02:43:30 +0000 (10:43 +0800)]
LU-7587 tests: fix sanity test_231a on SLES12

Flush out write RPC to ensure it is finished before
we read statistic data from proc.

Signed-off-by: Yang Sheng <yang.sheng@intel.com>
Change-Id: I8b40654cb95b151fe82067ec979dcf9f604355dc
Reviewed-on: http://review.whamcloud.com/17722
Tested-by: Jenkins
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7479 tests: fix lustre-rsync-test test_2a on SLES12 75/17475/8
Yang Sheng [Fri, 4 Dec 2015 06:22:12 +0000 (14:22 +0800)]
LU-7479 tests: fix lustre-rsync-test test_2a on SLES12

In sles12, ldd output has a wrong format for linux-vdso.so.1.
Since it is a virtual file so strip out is reasonable.

Signed-off-by: Yang Sheng <yang.sheng@intel.com>
Change-Id: I335139c4278db771a0c313573dde41eb9b96d649
Reviewed-on: http://review.whamcloud.com/17475
Tested-by: Jenkins
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6627 llite: remove extraneous export parameter 53/14953/8
Andreas Dilger [Wed, 27 May 2015 08:52:36 +0000 (02:52 -0600)]
LU-6627 llite: remove extraneous export parameter

The ll_close_inode_openhandle() and ll_md_close() functions passed an
extra "obd_export *md_exp" parameter, but it turns out that all of the
callers already pass inode->i_sb->s_fs_info->lsi_llsbi->ll_md_exp in
one form or another, so it can just be extracted from "inode" directly
as needed.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: Id9c841b11e05d2d16845998ec3f4e09fdf3ebbe5
Reviewed-on: http://review.whamcloud.com/14953
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-519 o2iblnd: check wr_id returned by ib_poll_cq 47/12747/3
Liang Zhen [Mon, 17 Nov 2014 06:35:25 +0000 (14:35 +0800)]
LU-519 o2iblnd: check wr_id returned by ib_poll_cq

If ib_poll_cq returned +ve without initialising ib_wc::wr_id (bug
in driver), then o2iblnd will run into unpredictable situation
because ib_wc::wr_id may refer to stale tx/rx pointer in stack.

It indicates bug in HCA driver if this happened, ko2iblnd should
output console error then close current connection.

This patch could also be helpful for LU-5271

Signed-off-by: Liang Zhen <liang.zhen@intel.com>
Change-Id: I7851e009bb6cd7df3c299b23b6f338b86ba73b68
Reviewed-on: http://review.whamcloud.com/12747
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Isaac Huang <he.huang@intel.com>
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-4825 osp: rename variables to match /proc entry 32/16032/5
Andreas Dilger [Thu, 20 Aug 2015 05:58:25 +0000 (23:58 -0600)]
LU-4825 osp: rename variables to match /proc entry

Rename the opd_pre_min_grow_count, opd_pre_max_grow_count,
opd_pre_grow_slow, and opd_pre_grow_count to opd_pre_min_create_count,
opd_pre_max_create_count, opd_pre_create_slow and opd_pre_create_count
respectively, for consistency with /proc files osp.*.max_create_count
and osp.*.create_count to make them easier to find, and also many
other internal functions are named "precreate" instead of "grow".

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I3a3ef3a0f13d593e9d0f8cedb53cc690528c0c7f
Reviewed-on: http://review.whamcloud.com/16032
Tested-by: Jenkins
Reviewed-by: Jian Yu <jian.yu@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-5030 tests: handle missing common_name for upstream client 75/14675/50
James Simmons [Tue, 5 Jan 2016 23:30:02 +0000 (18:30 -0500)]
LU-5030 tests: handle missing common_name for upstream client

The upstream client has moved from procfs to sysfs
except for llite.*.lov.common_name which does not exist
for the upstream client. In the current test suite common_name
is used to gather information like stripe count and ost count.
This is left overs from days before lfs [s|g]et_stripe existed
and OSTCOUNT was not defined in the test suite configuration
files. Instead we can replace the use of common_name with
OSTCOUNT and use lfs [g|s]et_stripe.

Change-Id: I7fbb7348e009cb9f77ba9847aeb4879dc302e4ee
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/14675
Tested-by: Jenkins
Reviewed-by: Ryan Haasken <haasken@cray.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoNew tag 2.7.65 2.7.65 v2_7_65 v2_7_65_0
Oleg Drokin [Mon, 11 Jan 2016 19:08:05 +0000 (14:08 -0500)]
New tag 2.7.65

Change-Id: I051d19ad984a6d9b2d02305765e4f86b9aa2846a
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7601 build: fix typo for spl/zfs added case handler 29/17829/2
Bruno Faccini [Tue, 5 Jan 2016 20:55:57 +0000 (21:55 +0100)]
LU-7601 build: fix typo for spl/zfs added case handler

A typo has been introduced to detect SPL/ZFS DKMS versions even
when they are still in the "added" state.

Signed-off-by: Bruno Faccini <bruno.faccini@intel.com>
Change-Id: I51c269c6c35991cf1b7c26fa44769c1bc73fe20d
Reviewed-on: http://review.whamcloud.com/17829
Tested-by: Jenkins
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@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-7223 test: check mmp feature properly in mmp.sh 84/17884/4
Niu Yawei [Fri, 8 Jan 2016 03:33:43 +0000 (22:33 -0500)]
LU-7223 test: check mmp feature properly in mmp.sh

The mmp.sh checks if the mmp feature is enabled by looking at
the failover_HOST variables, which is not reliable, this patch
changed it to looking at the features on device directly.

Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: Ia86d1bfbfa56e01efa06955a36fa34ca62997a54
Reviewed-on: http://review.whamcloud.com/17884
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7504 kernel: kernel update [SLES11 SP3 3.0.101-0.47.71] 13/17413/6
Bob Glossman [Tue, 1 Dec 2015 17:04:02 +0000 (09:04 -0800)]
LU-7504 kernel: kernel update [SLES11 SP3 3.0.101-0.47.71]

Update SLES11 SP3 kernel to 3.0.101-0.47.71

Test-Parameters: 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: I84e817f1a9f30070ce74b3a313f4b22696a11cff
Reviewed-on: http://review.whamcloud.com/17413
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>
4 years agoLU-6142 lnet: return proper error code 26/17626/3
James Simmons [Mon, 21 Dec 2015 20:56:47 +0000 (15:56 -0500)]
LU-6142 lnet: return proper error code

It is consider bad style in the linux kernel to
return -1 or a positive number for an error.
Instead return the appropriate error codes.

Change-Id: Icd9729de84f162b07df17caab48e7693459a03e8
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/17626
Tested-by: Jenkins
Reviewed-by: Doug Oucharek <doug.s.oucharek@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-7609 tests: fix sanity-krb5 27/17727/5
Sebastien Buisson [Thu, 24 Dec 2015 17:07:06 +0000 (18:07 +0100)]
LU-7609 tests: fix sanity-krb5

Fix various issues with sanity-krb5 test script:
- replace elan with $NETTYPE in test 99;
- start gss daemon on MGS in test 151.

Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I5056240f733e82a59d96543b08476a959449f29d
Reviewed-on: http://review.whamcloud.com/17727
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7412 osp_md_read() may pass an ERR_PTR() to osp_update_request_destroy() 22/17522/3
akam [Wed, 9 Dec 2015 07:59:53 +0000 (13:29 +0530)]
LU-7412 osp_md_read() may pass an ERR_PTR() to osp_update_request_destroy()

In osp_md_read() if osp_update_request_create() fails with ERR_PTR()
it should return rather than passing on ERR_PTR() to the
osp_update_request_destroy()

Change-Id: Id4c0c5b3e0619a4e657c22bf27a5679e02164007
Signed-off-by: akam kumar bharathi <azurelustre@gmail.com>
Reviewed-on: http://review.whamcloud.com/17522
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>
4 years agoLU-3953 build: Only chmod dkms.mkconf once 16/17516/2
Christopher J. Morrone [Tue, 8 Dec 2015 21:55:52 +0000 (16:55 -0500)]
LU-3953 build: Only chmod dkms.mkconf once

With AC_CONFIG_FILES, the "commands" parameter (the second one) is
applied for _each_ command, not just once.  That means the existing
chmod command was run many times, and several of the times it runs
it complains because the dkms.mkconf file does not yet exist.

This patch fixes that by giving the dkms.mkconf file its own
AC_CONFIG_FILES macro.

Change-Id: Ic71cc5d8c3555d28ff16efa23d564dce28662443
Signed-off-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-on: http://review.whamcloud.com/17516
Tested-by: Jenkins
Reviewed-by: Faccini Bruno <bruno.faccini@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>
4 years agoLU-7503 utils: add “--verbose|-v” option to “lfs migrate -m” 20/17420/3
Jian Yu [Wed, 2 Dec 2015 05:54:07 +0000 (21:54 -0800)]
LU-7503 utils: add “--verbose|-v” option to “lfs migrate -m”

“lfs mv” has -v option to track the migration progress, which is
very useful for migrating big directory. However, the option is
missing while we changing “lfs mv” to “lfs migrate -m” in commit
849d7d5b1b4cabb7578c3ab5aaf271e90dd33864. This patch adds the option.

Signed-off-by: Jian Yu <jian.yu@intel.com>
Change-Id: I0729f74f46943736c6ed6ade46ca26aee905f550
Reviewed-on: http://review.whamcloud.com/17420
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
4 years agoLU-6710 tests: Constrain stripe index conf-sanity test 82a 24/15824/3
James Nunez [Fri, 31 Jul 2015 21:00:03 +0000 (15:00 -0600)]
LU-6710 tests: Constrain stripe index conf-sanity test 82a

conf-sanity test 82a specifies the OSTs to stripe a file over.
The OST index is computed as RANDOM * 2 for a maximum of 65534.
Yet, the maximum stripe count is 65532. Thus, the OST index in
conf-sanity test 82a needs to be limited.

Also, change the single use of the deprecated
llapi_stripe_offset_is_valid() to llapi_stripe_index_is_valid().

Signed-off-by: James Nunez <james.a.nunez@intel.com>
Change-Id: I4ceb44d639b88527105c1e8812cbd7590d041316
Reviewed-on: http://review.whamcloud.com/15824
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Saurabh Tandan <saurabh.tandan@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
4 years agoLU-5717 ptlrpc: fix deadlock problem of nrs_tbf_timer_cb 28/12228/5
Li Xi [Wed, 8 Oct 2014 12:11:37 +0000 (20:11 +0800)]
LU-5717 ptlrpc: fix deadlock problem of nrs_tbf_timer_cb

When callback of TBF timer is triggered, nrs_lock could be
held by the current CPU which will cause dead lock. This
patch removes unnecessary nrs_lock to fix this problem.

Signed-off-by: Li Xi <lixi@ddn.com>
Change-Id: I6329e3e71da30a415dbb35b37d79ade118917c6a
Reviewed-on: http://review.whamcloud.com/12228
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
4 years agoLU-7210 lnet: Change connect peer failed cleanup order 04/17004/2
Doug Oucharek [Sat, 31 Oct 2015 01:11:31 +0000 (18:11 -0700)]
LU-7210 lnet: Change connect peer failed cleanup order

A race condition has been found where connd is cleaning up failed
connections, the peer ref counter goes to zero, but we stil have
a connecting counter > 0.

One possible race is when we are retrying a connection by
calling kiblnd_connect_peer() which itself fails and decrements
the peer ref counter and gets swapped out before it can decrement
the connecting counter.  connd swaps in and cleans up the
connection where it sees a peer ref counter of 1 and a connecting
counter of 1.  This will trigger the assert seen in LU-7210 when
it decrements the peer counter.

The solution: be sure to decrement the connecting counter
before decrementing the peer counter in the peer connect
failure path.

Signed-off-by: Doug Oucharek <doug.s.oucharek@intel.com>
Change-Id: I2d6ddeae80ac72492a4323a730e3e61c876ebb36
Reviewed-on: http://review.whamcloud.com/17004
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-5718 o2iblnd: Revert original fix 99/17699/2
Doug Oucharek [Mon, 21 Dec 2015 21:37:57 +0000 (13:37 -0800)]
LU-5718 o2iblnd: Revert original fix

The original fix for this ticket introduced a regression
where bit flags could interfere with each other triggering
asserts.  Also, the focus was on addressing connection
races, but the fix should be expanded to include all
reconnects.

The updated fix is being done under ticket: LU-7569.

Signed-off-by: Doug Oucharek <doug.s.oucharek@intel.com>
Change-Id: I455e43f8a5134f7896ad14c3cd0888b8c08d38d2
Reviewed-on: http://review.whamcloud.com/17699
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Liang Zhen <liang.zhen@intel.com>
Reviewed-by: Amir Shehata <amir.shehata@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7577 mdt: root inode checking for migration 69/17669/5
Di Wang [Wed, 16 Dec 2015 10:46:31 +0000 (02:46 -0800)]
LU-7577 mdt: root inode checking for migration

Do not migrate root inode, and add test case
to verify it.

Signed-off-by: Di Wang <di.wang@intel.com>
Change-Id: I8b7a4211d76cbfc1e1b095c6e8f94841d42bc50f
Reviewed-on: http://review.whamcloud.com/17669
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7623 Add __user to seq_write buffer arguments 88/17788/2
Oleg Drokin [Sun, 3 Jan 2016 22:28:02 +0000 (17:28 -0500)]
LU-7623 Add __user to seq_write buffer arguments

Updates whole tree and adds forgotten __user attribute,
syncs up prototypes and such.
This keeps sparse happy and helps to ensure user/kernel pointers
correctness.

Change-Id: I54cf7479fffbd8ce211b28f9f3a9de81f600a32e
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/17788
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
4 years agoLU-7623 libcfs: Properly map page for vfs_write 87/17787/2
Oleg Drokin [Sun, 3 Jan 2016 22:17:58 +0000 (17:17 -0500)]
LU-7623 libcfs: Properly map page for vfs_write

Apparently it's possible that the page might not be mapped before
vfs_write, so map it. Also forcefully mark it __user to make
sparse happy.

This was part of upstream kernel commit 7ebcb731 that somehow
never made it back even though vfs_write changes did.

Change-Id: I88494eac08c02d9cac2476eeb56be1eb65cfc3bf
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/17787
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
4 years agoLU-7623 lnet: Remove __user attribute from lnet_copy_flat2* functions 85/17785/2
Oleg Drokin [Sun, 3 Jan 2016 21:37:12 +0000 (16:37 -0500)]
LU-7623 lnet: Remove __user attribute from lnet_copy_flat2* functions

These functions do not take a user pointer, so __user attribute was a mistake

This was introduced by http://review.whamcloud.com/11819,
commit 4ea13c63f3d919282b12c64d0c014bfe9a67a5e6

Change-Id: I97c1a9b17e3146f9f5f37ac92f7769cfdcf085cb
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/17785
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
4 years agoLU-7623 gss: Update upcall structure with user attributes 90/17790/2
Oleg Drokin [Sun, 3 Jan 2016 23:58:56 +0000 (18:58 -0500)]
LU-7623 gss: Update upcall structure with user attributes

This helps to better track userspace pointers and keeps sparse happy.

Also fix gss_do_ctx_init_rpc definition and sync up the forward
declaration

Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Change-Id: I10c1a7dd58531886bf8cfa8c684ea6fba321c511
Reviewed-on: http://review.whamcloud.com/17790
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Jeremy Filizetti <jeremy.filizetti@gmail.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Frank Zago <fzago@cray.com>
4 years agoLU-7085 lov: trying smaller memory allocations 76/17476/4
Yang Sheng [Fri, 4 Dec 2015 06:28:33 +0000 (14:28 +0800)]
LU-7085 lov: trying smaller memory allocations

Reduce struct lov_io_sub to smaller memory usage
on wide-stripe file systems.

Signed-off-by: Yang Sheng <yang.sheng@intel.com>
Change-Id: Ie92cec079f6514efca71663af1ae6ae1e34c73cb
Reviewed-on: http://review.whamcloud.com/17476
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-5030 libcfs: create cfs_get_paths() function 59/17459/8
James Simmons [Mon, 28 Dec 2015 16:58:59 +0000 (11:58 -0500)]
LU-5030 libcfs: create cfs_get_paths() function

With the move of the upstream client to sysfs the
lustre and lnet utilites no long should directly
access the proc file system. To avoid this a new
function is created to support both the traditional
procfs lustre/lnet parameters as well as the new
sysfs lustre/lnet parameters as well. Besides the
creation of these functions the LNet utilites are
converted to use these new functions.

Change-Id: I78788f41955073e1e48126103ef2aec13d64812b
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Signed-off-by: Wang Chao <chao.ornl@gmail.com>
Reviewed-on: http://review.whamcloud.com/17459
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Ryan Haasken <haasken@cray.com>
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
4 years agoLU-7506 lfs: "lfs quota -h" should support petabytes output 41/17441/6
Emoly Liu [Fri, 25 Dec 2015 07:28:01 +0000 (15:28 +0800)]
LU-7506 lfs: "lfs quota -h" should support petabytes output

This patch adds human-readable petabytes output and allows to set
fraction block limit, e.g. 1.5P.
Also, it adds sanity-quota.sh test_27d to verify these new functions,
and replaces some sprintf() with snprintf() to meet the code style
requirement.

Signed-off-by: Emoly Liu <emoly.liu@intel.com>
Change-Id: I1dced352687e8e53988f85d2781396e647b62865
Reviewed-on: http://review.whamcloud.com/17441
Tested-by: Jenkins
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
4 years agoLU-6401 uapi: change uapi_kernelcomm.h to LGPLv2.1 license 20/17720/2
James Simmons [Wed, 23 Dec 2015 17:45:45 +0000 (12:45 -0500)]
LU-6401 uapi: change uapi_kernelcomm.h to LGPLv2.1 license

The header uapi_kernelcomm.h need their license to be
changed so it can be used by LGPL library HSM code.

Change-Id: I4ea4fd3017e9e8e286ad9d13ff6b6979cf71359b
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/17720
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Nathan Rutman <nathan.rutman@seagate.com>
Reviewed-by: Henri Doreau <henri.doreau@cea.fr>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6613 lnet: change lib-dlc.h to LGPLv2.1 license 97/17697/7
James Simmons [Tue, 5 Jan 2016 02:55:07 +0000 (21:55 -0500)]
LU-6613 lnet: change lib-dlc.h to LGPLv2.1 license

Change the lib-dlc.h header to the proper LGPLv2.1 license

Change-Id: Ic152d0722ec775d57cf7702058e6772ce2f5ff8a
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/17697
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
4 years agoLU-7604 gss: handle revoked keys properly 21/17721/3
Sebastien Buisson [Wed, 23 Dec 2015 20:18:57 +0000 (21:18 +0100)]
LU-7604 gss: handle revoked keys properly

Revoked keys are no longer returned by request_key kernel
function. So it is now necessary to remove revoked keys from
keyring when flushing context.
Moreover, if a revoked key is present, do not consider it
matches when searching for a valid key with request_key. That
way it will be replaced with a valid, newly created one.

Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I0fbaf01f6a8f50e9fb06eef96c74e73c25de257f
Reviewed-on: http://review.whamcloud.com/17721
Tested-by: Jenkins
Reviewed-by: Jeremy Filizetti <jeremy.filizetti@gmail.com>
Tested-by: James Nunez <james.a.nunez@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 agoRevert "LU-7030 security: put imp_sec after all requests drained off" 09/17709/3
Andreas Dilger [Tue, 22 Dec 2015 18:47:21 +0000 (18:47 +0000)]
Revert "LU-7030 security: put imp_sec after all requests drained off"

This is causing non-NULL security flavors to fail during cleanup.

This reverts commit 504ca288d99779812495a91345421ad4ad8f7d95.

Change-Id: I2f370a465c3b2bb49983d13ff98c9e7dec3d15a5
Reviewed-on: http://review.whamcloud.com/17709
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7147 obdclass: remove unused lu_site_stats_print 91/16391/2
Oleg Drokin [Mon, 14 Sep 2015 03:43:14 +0000 (23:43 -0400)]
LU-7147 obdclass: remove unused lu_site_stats_print

This should have been removed when lu_site_stats_seq_print was added.

Change-Id: I6003153f6da26b04fd98a3718f44a46b43c67a65
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/16391
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
4 years agoLU-7596 kernel: kernel update [SLES11 SP4 3.0.101-68] 10/17710/2
Bob Glossman [Tue, 22 Dec 2015 19:32:19 +0000 (11:32 -0800)]
LU-7596 kernel: kernel update [SLES11 SP4 3.0.101-68]

Update SLES11 SP4 kernel to 3.0.101-68

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

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: Ia9c4ddfe29c172a6dc4d85ac99317ecfa1c5cb56
Reviewed-on: http://review.whamcloud.com/17710
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7421 utils: getparam_display() should reset popt 35/17135/12
Alex Zhuravlev [Thu, 12 Nov 2015 14:04:41 +0000 (17:04 +0300)]
LU-7421 utils: getparam_display() should reset popt

otherwise it's randomly set leading to wrong output for
lctl get_param. this may break testing.

Change-Id: Ice1ab3ce2ba09a3c6bf6843ff4381ccb73483e42
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/17135
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6824 ldiskfs: give warning with dir htree growing 48/15548/16
Wang Shilong [Fri, 3 Jul 2015 01:04:45 +0000 (21:04 -0400)]
LU-6824 ldiskfs: give warning with dir htree growing

Currently without large dir feature, ldiskfs directory hash tree
will be limited 2 height, this means directory size is limited about
1GB, and in fact users are likely to hit ENOSPC when reaching half of
limit because of bad hash. tested by following scripts.

i=0
filename="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbb"
while [ 1 ]
do
        touch $filename"$i"
        if [ $? -ne 0 ];then
                break
        fi
        ((i++))
done

When directoy size grow about 590M, we hit ENOSPC. Better way is to
add support to e2fsprogs so that we can use large dir feature.
As a walkaround way, this patch try to give warning messages to
console when 10/16 and 11/16 of limit reach.

So this patch will try to give following messages when warning
limit or hash index tree limit reach:

Directory (inode: 8388610 FID: [0x200000401:0x1:0x0]) has approached
maximum limit.

Directory (inode: 8388610 FID: [0x200000401:0x1:0x0]) is approaching
maximum limit.

FID output here is useful for administrators to locate lustre
file path

Signed-off-by: Wang Shilong <wshilong@ddn.com>
Change-Id: I7f78c421bbb89f76298e0174cc46d774ea82eb06
Reviewed-on: http://review.whamcloud.com/15548
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
4 years agoLU-7543 obd: reserve connection flag OBD_CONNECT_FLAGS2 47/17647/2
Fan Yong [Mon, 19 Oct 2015 22:33:23 +0000 (06:33 +0800)]
LU-7543 obd: reserve connection flag OBD_CONNECT_FLAGS2

This is a feature for the client and server to use
obd_connect_flags2 to communicate future feature flags. The
client should set this flag whenever any flags in that field
are requested, and the server should mask unsupported features
from this field (assuming it understands OBD_CONNECT_FLAGS2).
When checking if an OBD_CONNECT2_xxxx feature is supported,
the client/server needs to firstly check if OBD_CONNECT_FLAGS2
is supported, since this field is also beyond the end of the
old obd_connect_data.

Land the connection flags to master earlier for reserving the
slot to avoid potential conflict with others.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I466a4f858326d79f8c732116915b078902aa0736
Reviewed-on: http://review.whamcloud.com/17647
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Patrick Farrell <paf@cray.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
4 years agoLU-7543 obd: reserve connection flag OBD_CONNECT_LOCK_AHEAD 46/17646/2
Fan Yong [Mon, 19 Oct 2015 22:33:05 +0000 (06:33 +0800)]
LU-7543 obd: reserve connection flag OBD_CONNECT_LOCK_AHEAD

The connection flag OBD_CONNECT_LOCK_AHEAD will be used for the
following the patch: LU-6917 LDLM lock ahead
http://review.whamcloud.com/13564

Land the connection flags to master earlier for reserving the
slot to avoid potential conflict with others.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Ifd5d26d52336b45c962cb34a83bc3582646cfdf4
Reviewed-on: http://review.whamcloud.com/17646
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Patrick Farrell <paf@cray.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
4 years agoLU-7543 obd: reserve connection flag OBD_CONNECT_OBDOPACK 45/17645/2
Fan Yong [Mon, 19 Oct 2015 22:12:48 +0000 (06:12 +0800)]
LU-7543 obd: reserve connection flag OBD_CONNECT_OBDOPACK

The connection flag OBD_CONNECT_OBDOPACK will be used for the
following the patch: LU-4215 optimize OUT protocol
http://review.whamcloud.com/15336

Land the connection flags to master earlier for reserving the
slot to avoid potential conflict with others.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I75171f5e9095d40481b4462de74c6a63e1cf3084
Reviewed-on: http://review.whamcloud.com/17645
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Patrick Farrell <paf@cray.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
4 years agoLU-7356 build: handle library configure options for SNMP/LNet 76/17576/4
James Simmons [Wed, 16 Dec 2015 15:38:25 +0000 (10:38 -0500)]
LU-7356 build: handle library configure options for SNMP/LNet

Currently if you build lustre with configure options
--disable-shared and/or --disable-static it will fail
to build in the case of the mount plugins or just plain
ignore the configure request. This work enables the
ability to create only static or only dynamic libraries
for lustre SNMP and libnetconfig.

Change-Id: I8b526acd50a7b8eb4f65e7a3bdd0a664e9144376
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/17576
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7543 obd: reserve connection flag OBD_CONNECT_SUBTREE 44/17644/2
Fan Yong [Mon, 19 Oct 2015 22:05:09 +0000 (06:05 +0800)]
LU-7543 obd: reserve connection flag OBD_CONNECT_SUBTREE

The connection flag OBD_CONNECT_SUBTREE will be used for the
following the patch: LU-28 mounting of filesystem from MDS
http://review.whamcloud.com/5007

Land the connection flags to master earlier for reserving the
slot to avoid potential conflict with others.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I61dad4ff22caf6ab933f38112f2f6e30fc5b9f3e
Reviewed-on: http://review.whamcloud.com/17644
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Patrick Farrell <paf@cray.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
4 years agoLU-7535 mdt: clear the lock handle in mdt_intent_layout() 35/17735/4
John L. Hammond [Wed, 30 Dec 2015 17:21:27 +0000 (11:21 -0600)]
LU-7535 mdt: clear the lock handle in mdt_intent_layout()

In mdt_intent_layout() if the object cannot be found then clear the
lock handle. In recover-small add test_130c() to check that this is
handled condition is handled safely.

In recovery-small test_130[ab]() add a synt to avoid having an
unintended layout intent RPC (from writeback) hit the fault injection
point.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: Ic2f401ff2dc8a83467b12d146f4d7ffdf70ef5da
Reviewed-on: http://review.whamcloud.com/17735
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7084 obd: correct some OBD allocator macro defines 55/17755/2
John L. Hammond [Wed, 30 Dec 2015 16:10:41 +0000 (10:10 -0600)]
LU-7084 obd: correct some OBD allocator macro defines

Use protective parentheses around instances of the GFP mask parameters
in the definitions of __OBD_MALLOC_VERBOSE() and
__OBD_SLAB_ALLOC_VERBOSE() to prevent unexpected expansions.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I0c3307ae488fb4f79a07db8a3b870dbcb609da0b
Reviewed-on: http://review.whamcloud.com/17755
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
4 years agoLU-7404 zfs: reset ZFS baseline to 0.6.4.2 12/17712/7
Jinshan Xiong [Wed, 23 Dec 2015 21:14:31 +0000 (13:14 -0800)]
LU-7404 zfs: reset ZFS baseline to 0.6.4.2

ZFS 0.6.5.2 is known to introduce I/O problems with the following
stack backtrace:

Call Trace:
 [] ? vdev_mirror_child_done+0x0/0x30 [zfs]
 [] io_schedule+0x73/0xc0
 [] cv_wait_common+0xaf/0x130 [spl]
 [] ? autoremove_wake_function+0x0/0x40
 [] __cv_wait_io+0x18/0x20 [spl]
 [] zio_wait+0x10b/0x1e0 [zfs]
 [] dbuf_read+0x439/0x850 [zfs]
 [] __dbuf_hold_impl+0x1a1/0x4f0 [zfs]
 [] dbuf_hold_impl+0x7d/0xb0 [zfs]
 [] dbuf_hold+0x20/0x30 [zfs]
 [] dmu_buf_hold_noread+0x87/0x140 [zfs]
 [] dmu_buf_hold+0x3b/0x90 [zfs]
 [] ? dbuf_rele_and_unlock+0x268/0x400 [zfs]
 [] zap_lockdir+0x5a/0x770 [zfs]
 [] ? kmem_cache_alloc_node_trace+0x1cd/0x200
 [] zap_lookup_norm+0x4a/0x190 [zfs]
 [] zap_lookup+0x33/0x40 [zfs]
 [] dmu_tx_hold_zap+0x146/0x210 [zfs]
 [] osd_declare_object_create+0x2a5/0x440 [osd_zfs]
 [] ofd_precreate_objects+0x4e4/0x19d0 [ofd]
 [] ? libcfs_debug_msg+0x41/0x50 [libcfs]
 [] ? ofd_grant_create+0x23b/0x3e0 [ofd]
 [] ofd_create_hdl+0x56e/0x2640 [ofd]
 [] ? lustre_pack_reply_v2+0x220/0x280 [ptlrpc]
 [] tgt_request_handle+0x8bc/0x12e0 [ptlrpc]
 [] ptlrpc_main+0xe41/0x1910 [ptlrpc]
 [] ? ptlrpc_main+0x0/0x1910 [ptlrpc]
 [] kthread+0x9e/0xc0
 [] child_rip+0xa/0x20
 [] ? kthread+0x0/0xc0
 [] ? child_rip+0x0/0x20

Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: Ia10427523535ba82cc374e2eae52014cadfac0de
Reviewed-on: http://review.whamcloud.com/17712
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7223 tests: print more information when mmp.sh failed 28/17628/4
Niu Yawei [Wed, 16 Dec 2015 03:17:12 +0000 (22:17 -0500)]
LU-7223 tests: print more information when mmp.sh failed

Print more information when mmp feature failed to be enabled
on OST device.

Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: Ia049261661202e14fdef838cb8d28b90ce14af84
Reviewed-on: http://review.whamcloud.com/17628
Tested-by: Maloo <hpdd-maloo@intel.com>
Tested-by: Jenkins
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-5844 get rid of IOC_LIBCFS_MEMHOG and IOC_LIBCFS_PANIC ioctls 92/17492/9
Parinay Kondekar [Thu, 24 Dec 2015 02:20:17 +0000 (21:20 -0500)]
LU-5844 get rid of IOC_LIBCFS_MEMHOG and IOC_LIBCFS_PANIC ioctls

Removing unused IOC_LIBCFS_MEMHOG and IOC_LIBCFS_PANIC ioctls
from the libcfs/ lnet/ code. This cleanup allows us to remove
the cfs_psdev abstraction.

Change-Id: Ifa9b444279f10f0dedf6e31d9f55a5c8cdc6f1af
Signed-off-by: Parinay Kondekar <parinay.kondekar@seagate.com>
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/17492
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7114 ldiskfs: corrupted bitmaps handling patches 74/17374/4
Yang Sheng [Mon, 14 Dec 2015 16:50:36 +0000 (11:50 -0500)]
LU-7114 ldiskfs: corrupted bitmaps handling patches

Fork patch for SLES12 server support.

Signed-off-by: Yang Sheng <yang.sheng@intel.com>
Change-Id: I56345d71857b2fe19f4e9f137532a0c9285044ae
Reviewed-on: http://review.whamcloud.com/17374
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7451 kernel: kernel upgrade RHEL7.2 [3.10.0-327.3.1.el7] 05/17305/11
Bob Glossman [Thu, 19 Nov 2015 17:28:04 +0000 (09:28 -0800)]
LU-7451 kernel: kernel upgrade RHEL7.2 [3.10.0-327.3.1.el7]

with this mod we switch our supported el7 version to RHEL 7.2
original release RHEL 7.2 kernel version is 3.10.0-327.el7
current RHEL 7.2 kernel update version is 3.10.0-327.3.1.el7

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

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: Idcfbee3875e7114962c92401f782bb035a6e3221
Reviewed-on: http://review.whamcloud.com/17305
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7550 tests: wait OSTs up in check_seq_oid() 91/17691/4
Jian Yu [Mon, 21 Dec 2015 18:39:47 +0000 (10:39 -0800)]
LU-7550 tests: wait OSTs up in check_seq_oid()

This patch fixes check_seq_oid() to wait for OST up after it's
restarted.

Test-Parameters: envdefinitions=ONLY=27 \
testlist=sanity,sanity,sanity,sanity

Test-Parameters: envdefinitions=ONLY=27 \
mdtfilesystemtype=zfs mdsfilesystemtype=zfs ostfilesystemtype=zfs \
testlist=sanity,sanity,sanity,sanity

Test-Parameters: envdefinitions=ONLY=27 \
mdtcount=4 testlist=sanity,sanity,sanity,sanity

Signed-off-by: Jian Yu <jian.yu@intel.com>
Change-Id: I1bab1749f041b7fdbd7f78fa5f5e312586b5cc8c
Reviewed-on: http://review.whamcloud.com/17691
Reviewed-by: James Nunez <james.a.nunez@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-5017 idl: clean up file attribute flags 74/10274/6
Andreas Dilger [Thu, 8 May 2014 21:27:21 +0000 (15:27 -0600)]
LU-5017 idl: clean up file attribute flags

Remove unused file attribute flag LUSTRE_BFLAG_UNCOMMITTED_WRITES
that was used internally on the client at one point.

Remove unused file attribute LUSTRE_BFLAG_EXT_FLAGS from wireshark
which was used to distinguish between S_* (in-memory) flags and
*_FL (on-disk) flags.

Add flags from the kernel which may be useful in the near future.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I39d6f26aa0fbe7b5f6ddcf31d97c959556660310
Reviewed-on: http://review.whamcloud.com/10274
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-5030 tests: delete old quota test script 00/17700/3
Andreas Dilger [Mon, 28 Dec 2015 22:58:04 +0000 (17:58 -0500)]
LU-5030 tests: delete old quota test script

The sanity-quota-old.sh test script was for testing new clients
against pre-2.4 servers.  However, testing those old servers is
no longer needed and we can delete this script entirely.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I383949f36dbcfcfab34ec17c687aec0071ea6073
Reviewed-on: http://review.whamcloud.com/17700
Tested-by: Jenkins
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Wei Liu <wei3.liu@intel.com>
Reviewed-by: Ryan Haasken <haasken@cray.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7549 mdt: cancel the atomic lock in the same thread 77/17577/7
Di Wang [Sat, 12 Dec 2015 08:36:08 +0000 (00:36 -0800)]
LU-7549 mdt: cancel the atomic lock in the same thread

If cross-MDT lock has ATOMIC_CB flag, let's cancel it in
the same thread as blocking_ast(), to make sure the lock
is cancelled completely after unlock().

This will be used when MDT tries to cancel remote locks
during migration (see mdt_lock_objects_in_linkea()).
Only if the remote lock is cancelled completely, then
the next trylock will succeed.

Signed-off-by: Di Wang <di.wang@intel.com>
Change-Id: Ib23eb8eb312252e6eca680d08f8fcd89cf29339c
Reviewed-on: http://review.whamcloud.com/17577
Tested-by: Jenkins
Reviewed-by: Lai Siyao <lai.siyao@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-7210 o2iblnd: take extra refcount in kiblnd_connreq_done 27/17527/4
Liang Zhen [Wed, 9 Dec 2015 14:27:05 +0000 (22:27 +0800)]
LU-7210 o2iblnd: take extra refcount in kiblnd_connreq_done

refcount taken by cmid is not reliable after kiblnd_connreq_done
released the glock because this connection is visible to other
threads, another thread can find and close this connection right
after kiblnd_connreq_done released the glock, if kiblnd_cm_callback
for RDMA_CM_EVENT_DISCONNECTED is called, it can release the
connection refcount taken by cmid. It means the connection could be
destroyed before kiblnd_connreq_done() finish operations on it.

Signed-off-by: Liang Zhen <liang.zhen@intel.com>
Change-Id: Ic49b63551c13abc8c874732de5fd4ea5cef4c6b7
Reviewed-on: http://review.whamcloud.com/17527
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7349 lfsck: skip auto resume lfsck when mount 72/16972/6
Fan Yong [Mon, 12 Oct 2015 18:00:19 +0000 (02:00 +0800)]
LU-7349 lfsck: skip auto resume lfsck when mount

Usually, if during the LFSCK running the server is umounted or
crashed, then when the server is mounted again, the LFSCK will
resume from the latest checkpoint automatically.

But if the server corruption is caused by the LFSCK, such auto
resuming LFSCK when mount may cause the server to crash again.
To avoid such trouble, introduce new server side mount option
"skip_lfsck" which will prevent unfinished LFSCK auto resuming
when mount.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I773dcde9dd239abe1e82127004ffef28ff1f1ae3
Reviewed-on: http://review.whamcloud.com/16972
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>
4 years agoLU-7581 ldiskfs: wrong EA inode backpointer check 75/17675/4
Alexander Zarochentsev [Fri, 18 Dec 2015 20:59:31 +0000 (23:59 +0300)]
LU-7581 ldiskfs: wrong EA inode backpointer check

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

Change-Id: I4e086ca5bf13ec77ef0af73fa1f88846e278de23
Seagate-bug-id: MRP-3215
Signed-off-by: Alexander Zarochentsev <alexander.zarochentsev@seagate.com>
Reviewed-on: http://review.whamcloud.com/17675
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7573 test: remove rmmod -w option 59/17659/3
Yang Sheng [Sun, 20 Dec 2015 15:30:18 +0000 (23:30 +0800)]
LU-7573 test: remove rmmod -w option

In some distro there is no rmmod -w option availale so
just remove -w option.

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I5c22079d4ce9c7ca6b510e7e816408de47b6cd63
Signed-off-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-on: http://review.whamcloud.com/17659
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-7534 build: Allow lustre to build against ZFS/SPL DKMS install 36/17536/2
Christopher J. Morrone [Thu, 10 Dec 2015 00:43:18 +0000 (19:43 -0500)]
LU-7534 build: Allow lustre to build against ZFS/SPL DKMS install

The current method to build against DKMS installs of ZFS and SPL
assumes directories like this:

  /var/lib/dkms/spl/${VERSION}/build
  /var/lib/dkms/zfs/${VERSION}/build

Unfortunately, that "build" directory was really just a temporary
step in the DKMS build process.  Older versions of DKMS forgot to
clean up that directory, but in RHEL7 at least, DKMS no longer
leaves that aroudn.

Instead we need to look in these places for source code:

  /var/lib/dkms/spl/${VERSION}/source
  /var/lib/dkms/zfs/${VERSION}/source

and in these places for the per-kernel object info:

  /var/lib/dkms/spl/${VERSION}/${LINUXRELEASE}/${target_cpu}
  /var/lib/dkms/zfs/${VERSION}/${LINUXRELEASE}/${target_cpu}

The changes in this patch update the Lustre build system to
look in those corrected directories for DKMS builds of SPL
and ZFS.

Change-Id: I614b5fc6a6a506cb3f927b2c39ce27160979aaf7
Signed-off-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-on: http://review.whamcloud.com/17536
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Faccini Bruno <bruno.faccini@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-7555 tests: add load_module to mount_facet 03/17603/4
Andreas Dilger [Tue, 15 Dec 2015 09:44:45 +0000 (02:44 -0700)]
LU-7555 tests: add load_module to mount_facet

Since commit 2a223541d299bc8 there has not been automated loading
of lustre modules in the log() command, since this command only
needs libcfs loaded to use the "lctl mark" functionality.

When testing from a local build tree, conf-sanity.sh was failing
because it unloads the modules during cleanup and is not able to
automatically load the modules on demand if they are not installed,
and does not always manually load the modules for each running test.

Add a call to load_modules() in mount_facet() where the modules are
actually needed for the filesystem to mount.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: Ie7655c04a7bf42ec9969cb5c11fab3ac92f3dc0b
Reviewed-on: http://review.whamcloud.com/17603
Reviewed-by: Jian Yu <jian.yu@intel.com>
Tested-by: Jenkins
Reviewed-by: wangdi <di.wang@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Wei Liu <wei3.liu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7301 tests: delete old lfsck tests 37/16237/12
Andreas Dilger [Fri, 4 Sep 2015 07:22:13 +0000 (01:22 -0600)]
LU-7301 tests: delete old lfsck tests

The lfsck utility is no longer supported and the corresponding
test scripts and functions can be removed.

Instead of deleting the run_lfsck() routine and LFSCK_ALWAYS check
to run after every test script, update it to run the new lfsck with
all available checks on all targets.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: If7fb8f61e02e09ba346030a3d04d74b9ed3b0c4c
Reviewed-on: http://review.whamcloud.com/16237
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7173 mdt: intent vs unlink race 01/17501/4
Vitaly Fertman [Mon, 7 Dec 2015 18:37:46 +0000 (21:37 +0300)]
LU-7173 mdt: intent vs unlink race

a race between intent and unlink results in working on stale object,
the intent resend finds the lock and !existent object and LBUG:
    ASSERTION( ((o)->lo_header->loh_attr & LOHA_EXISTS) != 0 )
in mdt_getattr_name_lock()->lu_object_attr(). a check for getattr is
added for !existent object in RESENT case.

another case is when resend finds inode cached on thread,
osd_iget_check() checking the inode returns ESTALE as nlinks==0.
ldlm_lock_enqueue() gets an error from ns_policy() and tries to
destroy the found lock, which is granted, getting "lock still on
resource" LBUG.

It is unclear if the lock reached the client in the original reply,
just leave the lock on server, not returning it again to the client.
Due to LU-6529, the server will not OOM in case the 2nd reply will
be handled on the client.

Signed-off-by: Vitaly Fertman <vitaly.fertman@seagate.com>
Change-Id: I128cd6eeda579c6477bf4564db5e551a46a74d71
Reviewed-on: http://es-gerrit.xyus.xyratex.com:8080/8849
Tested-by: Jenkins
Seagate-bug-id: MRP-3042
Reviewed-by: Alexander Nikolaevich Boyko <alexander.boyko@seagate.com>
Reviewed-by: Andriy Skulysh <andriy.skulysh@seagate.com>
Reviewed-by: Alexey Leonidovich Lyashkov <alexey.lyashkov@seagate.com>
Tested-by: Elena V. Gryaznova <elena.gryaznova@seagate.com>
Reviewed-on: http://review.whamcloud.com/17501
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alexander Boyko <alexander.boyko@seagate.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7531 osp: allow few requests during recovery 39/17539/3
Di Wang [Tue, 8 Dec 2015 17:28:14 +0000 (09:28 -0800)]
LU-7531 osp: allow few requests during recovery

Allow OSP requests during recovery, so recovery
threads will not be blocked if the remote target
is also in recovery status, otherwise it might
cause deadlock.

Add replay-single.sh 117 to verify this case.

Signed-off-by: Di Wang <di.wang@intel.com>
Change-Id: Iad3b6fd382d76c9bc042096c51cfac0a0d33091d
Reviewed-on: http://review.whamcloud.com/17539
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-7192 tests: conf-sanity test 32c supports DNE on ZFS 63/16663/8
Jian Yu [Fri, 18 Dec 2015 08:35:10 +0000 (00:35 -0800)]
LU-7192 tests: conf-sanity test 32c supports DNE on ZFS

1. ZFS needs import pool before tunefs.
2. previous 2.4 ZFS disk image contains 100M file, which will cause
   'migrate' used up all OST space and fail, recreate the image.
3. generate test images for 2.7-formatted ldiskfs and zfs with
   DNE striped directories feature enabled and update t32_test()
   to test that.

Test-Parameters: alwaysuploadlogs envdefinitions=SLOW=yes,ENABLE_QUOTA=yes,ONLY=32 mdtfilesystemtype=zfs mdsfilesystemtype=zfs ostfilesystemtype=zfs mdtcount=4 testlist=conf-sanity
Change-Id: Ib35e4cb80d6beee9695b26844c4e6a99e88adb89
Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Signed-off-by: Jian Yu <jian.yu@intel.com>
Reviewed-on: http://review.whamcloud.com/16663
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
4 years agoLU-5710 all: fourth set of corrected typos and grammar errors 06/17306/5
Frank Zago [Fri, 20 Nov 2015 16:51:33 +0000 (10:51 -0600)]
LU-5710 all: fourth set of corrected typos and grammar errors

All the typos are in comments or logs.

Signed-off-by: frank zago <fzago@cray.com>
Change-Id: If7973c31e73759f7e16c6f8d6a93c6453de8cb2b
Reviewed-on: http://review.whamcloud.com/17306
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7274 gss_do_ctx_fini_rpc() passes an already freed request 74/17574/2
akam kumar bharathi [Fri, 11 Dec 2015 22:27:06 +0000 (03:57 +0530)]
LU-7274 gss_do_ctx_fini_rpc() passes an already freed request

ptlrpc_request_free(req) calls either __ptlrpc_free_req_to_pool()
OR ptlrpc_request_cache_free() depending on request from pool /
memory.

ptlrpc_req_finished()-> __ptlrpc_req_finished()->__ptlrpc_free_req()
calls either __ptlrpc_free_req_to_pool() OR ptlrpc_request_cache_free()
too, but depending on reference and request count.

Thus its safe to removed the call to ptlrpc_request_free(req).

Change-Id: Ie2dd647af6b07d2810c458707b791b71c92bc3df
Signed-off-by: akam kumar bharathi <azurelustre@gmail.com>
Reviewed-on: http://review.whamcloud.com/17574
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Jeremy Filizetti <jeremy.filizetti@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6866 hsm: prevent migration of HSM archived files 11/17511/3
John L. Hammond [Tue, 8 Dec 2015 17:23:44 +0000 (11:23 -0600)]
LU-6866 hsm: prevent migration of HSM archived files

The reference copytool cannot handle migration of HSM archive
files. In the MDT migration path check for HSM attributes and fail if
they are present. In the LMV layer allow creation of volatile files
with any MDT index. Add a test to sanity-hsm to ensure that attempting
to migrate an HSM archive file is handled safely.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: Ia133bfb345ce17473f54bd9a0ea0fbff5e5a5c58
Reviewed-on: http://review.whamcloud.com/17511
Tested-by: Jenkins
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-6662 utils: allow overriding default mountopts 70/15870/6
Hongchao Zhang [Sun, 14 Jun 2015 08:33:56 +0000 (16:33 +0800)]
LU-6662 utils: allow overriding default mountopts

during formatting the device for Lustre, there are two kinds of
mount options to be used by "mkfs.lustre", which is default and
wanted options. the wanted options is mandatory but the default
should only be used if user doesn't specify it.

Signed-off-by: Hongchao Zhang <hongchao.zhang@intel.com>
Change-Id: I7d8093082455e0a08eb40df63dbc938d6dd8a2a6
Reviewed-on: http://review.whamcloud.com/15870
Tested-by: Jenkins
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
4 years agoLU-6895 lfsck: drop bad OI files after MDT file-level restore 03/17403/6
Fan Yong [Fri, 16 Oct 2015 18:55:33 +0000 (02:55 +0800)]
LU-6895 lfsck: drop bad OI files after MDT file-level restore

For a new formatted Lustre system, it does not guarantee that all
the on-disk inodes/blocks are initialized. Instead, they are marked
as free in related inode/block bitmaps. When the inode is allocated
to some object, it will be initialized at that time. Such process
accelerates the format. But it may cause trouble for MDT file-level
backup/restore. For example: the sysadmin backup the MDT via server
side file level tar, then reformat the MDT device, and then restore
the MDT from the backup. Assume some object_A, its FID is the FID_A,
and it was mapped to the inode_B before the backup, such OI mapping
was recorded in the OI file. After the restore, another inode_C is
assigned to the object_A, but before OI scrub rebuilding related
OI mapping, the stale mapping "FID_A => inode_B" is still in the
OI file, and can be found by OI lookup. Generally, even if someone
found the stale OI mapping, it is not trouble, because the OSD will
verify whether FID-in-LMA for the indoe_B matches the FID_A or not.
But if the inode_B is NOT allocated after the restore, and because
we did not initialize inode_B during reformat, then the FID-in-LMA
for the indoe_B is still kept as the same before the backup, means
it matches the FID_A, then the OSD will think that the inode_B is
still assigned to the object_A after the restore. That is wrong.
In futher, although the inode_B is not allocated, but some of the
blocks that were assigned to it may have been allocated to others.
Then accessing the blocks via the inode_B may access some invalid
data, and may trigger some assertion, such as this issue.

So the key issues are two:

1) Some FID based operation may access stale OI mapping after MDT
   file-level backup/restore.

2) The OSD-ldiskfs may get some non-allocated inode with the give
   ino#/generation.

So as long as we can resovle one of them, then the trouble in the
ticket can be resolved.

The solutions for 1):

1.1) Avoid FID based operation before OI scrub done. That is not
     easy, because fid2path cannot be covered by some name based
     operation.

1.2) Remove the OI files after MDT file-level backup/restore. It
     is more direct solution. Another benefit is that even if OI
     scrub rebuilt the OI files, it only guarantees that all the
     FIDs' OI mappings have been refrshed. But it does not clean
     the stale FIDs' OI mappings. Because the OI scrub only does
     inode-table based scanning, not OI files scanning. Removing
     the OI files can resolve related trouble completely.

The solutions for 2):

2.1) New ldiskfs patch to make ldiskfs_iget() to return "-ENOENT"
     for the case of loading non-allocated inode by checking the
     inode bitmap.

2.2) Check the inode's valid inside OSD via related inode bitmap.

Generally, less ldiskfs patches is better. It will safe a lot of
effort when kernel upgrade. So 2.1) is not the best solution. As
for 2.2), it is not good to access the inode bitmap directly in
OSD unless we have to.

Relatively, the solution 1.2) is more efficient and benefit. That
is the current patch does.

On the other hand, this patch also makes some effort for the 1.1):

When start LFSCK, to hold the potential orphans in subsequent system
check, the start process will verify the .lustre/lost+found/ and its
sub-directories firstly. For each MDT, there is one sub-dir named as
.lustre/lost+found/MDTxxxx, which FID is recorded in the LFSCK trace
bookmark file. Originally, the start process uses such FID to locate
the MDTxxxx object. It is not problem for most of cases, but if the
MDT is just restored from file-level backup, and the low layer (OSD)
OI mapping may be invalid, then locating the MDTxxxx object will hit
-EREMCHG failure, and then may cause more troubles:

1) It will try to start OI scrub because of bad OI mapping detected,
   but because we are already in starting the LFSCK, then the logic
   of triggering OI scrub because of LFSCK is confused and difficult
   to be handled.

2) It will misguide the up layer LFSCK to think that the MDTxxxx obj
   does not exist or crashed, then will take some unexpected actions
   to repair such "fake" inconsistency.

The patch make some adjustment of the LFSCK start:

a) Trigger low layer OI scrub before verifying .lustre/lost+found.

b) To verify the .lustre/lost+found/ and its sub-dirs, scanning the
   .lustre/lost+found/ directory via namespace dt_lookup, and check
   the returned FID with the FID in the LFSCK trace bookmark file.
   With such way, even though the MDT is restored from file-level
   backup, the low layer still can locate the right object (inode).

Test-Parameters: alwaysuploadlogs envdefinitions=SLOW=yes,ENABLE_QUOTA=yes mdtfilesystemtype=ldiskfs mdsfilesystemtype=ldiskfs ostfilesystemtype=ldiskfs clientdistro=el7 ossdistro=el7 mdsdistro=el7 mdtcount=1 testlist=sanity-lfsck,sanity-lfsck,sanity-lfsck
Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Icfdab19e69b75400bb39279924c0c3e0b400b4e0
Reviewed-on: http://review.whamcloud.com/17403
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
4 years agoLU-7430 mdt: better handle MDT recovery error path 24/17424/2
Gregoire Pichon [Wed, 2 Dec 2015 10:12:31 +0000 (11:12 +0100)]
LU-7430 mdt: better handle MDT recovery error path

This fix ensures the lu_target structure is still valid before
updating export related data in tgt_client_free().

In case of recovery error, it may happen that lu_target and mdt_device
structures are freed before exports are destroyed.

Signed-off-by: Gregoire Pichon <gregoire.pichon@bull.net>
Change-Id: I0559d42f40d4ecc9078717aa07b988be56ce3bc5
Reviewed-on: http://review.whamcloud.com/17424
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>
4 years agoLU-7465 llite: Do not track memory leak for kernel function 42/17342/3
Wally Wang [Tue, 24 Nov 2015 21:09:38 +0000 (13:09 -0800)]
LU-7465 llite: Do not track memory leak for kernel function

Do not use OBD_FREE to track memory leak if memory
allocation is from kernel function iov_iter_get_pages_alloc().

Signed-off-by: Wally Wang <wang@cray.com>
Change-Id: If723123bffceb46e2a3b3738043e54c62b8c96cd
Reviewed-on: http://review.whamcloud.com/17342
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7394 obd: remove HAVE_SELINUX_IS_ENABLED 54/17054/5
John L. Hammond [Thu, 5 Nov 2015 17:20:37 +0000 (11:20 -0600)]
LU-7394 obd: remove HAVE_SELINUX_IS_ENABLED

In obd_mount_server.c unconditionally include linux/selinux.h. Include
linux/selinux.h in xattr_security.c.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: Iea7a64d4e66d4c78494da40642111085b95700f9
Reviewed-on: http://review.whamcloud.com/17054
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-5030 utils: add -R parameter to lctl get_param 81/17081/9
Andreas Dilger [Sat, 5 Dec 2015 01:35:00 +0000 (09:35 +0800)]
LU-5030 utils: add -R parameter to lctl get_param

To allow printing all parameters under a specified directory.
This is needed to replace hard-coded /proc pathnames in sanity-sec.sh
test_24, but would also be useful for normal usage.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Signed-off-by: Emoly Liu <emoly.liu@intel.com>
Change-Id: I4391afce06fd63a87f556f7b95bd0cb2883ebbe5
Reviewed-on: http://review.whamcloud.com/17081
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoRevert "LU-6910 osp: add procfs values for OST reserved size" 17/17617/3
Andreas Dilger [Tue, 15 Dec 2015 18:11:24 +0000 (18:11 +0000)]
Revert "LU-6910 osp: add procfs values for OST reserved size"

This is causing LU-7550 and LU-7552 test failures in sanity.

This reverts commit 0585b0fb5895a24f07ca32e830d1fa72b75f4f2b.

Change-Id: Ic332a54ace4998acc4ba2ceab6f76ef733f85be5
Reviewed-on: http://review.whamcloud.com/17617
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
4 years agoLU-7381 e2fsck: update recommended e2fsprogs version 72/17572/2
Andreas Dilger [Fri, 11 Dec 2015 20:47:10 +0000 (13:47 -0700)]
LU-7381 e2fsck: update recommended e2fsprogs version

Update the recommended e2fsprogs version to 1.42.13.wc4.
This includes a number of important fixes to e2fsck, which
fix corruption problems in a number of cases:

   LU-7381 e2fsck: fix e2fsck -fD directory truncation
   - http://review.whamcloud.com/17153
   LU-7267 e2fsck: remove duplicated ea value size check
   - http://review.whamcloud.com/16779
   LU-7368 e2fsck: skip quota update when interrupted
   - http://review.whamcloud.com/17150
   LU-7267 e2fsck: remove duplicated ea value size check
   - http://review.whamcloud.com/16779/
   LU-6722 jbd: double minimum journal size for RHEL7
   - http://review.whamcloud.com/15401

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I1183394eec7717af1a163dbe7e4d93aa453ebbe5
Reviewed-on: http://review.whamcloud.com/17572
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>
4 years agoLU-7053 osd: don't lookup object at insert 92/17092/14
Alex Zhuravlev [Mon, 9 Nov 2015 15:51:59 +0000 (18:51 +0300)]
LU-7053 osd: don't lookup object at insert

the idea is to cache FID->ino/type mapping in per-thread cache
at declaration/object creation. then insert can find that information
and don't lookup object in LU/OI. this should avoid potential deadlock
with lu_object_find() and iget(). also, this should improve performance
as in the majority of cases required data is filled locally by create.

stats collected for sanity-benchmark:
lustre-MDT0000: 448306 created, lookups: 8910 in OI, 8910 in FLD
meaning we have to lookup ino 448K times and only 9K times we had
to use OI, in 439K cases we found ino in the cache.

Change-Id: Ifa66c2d074f04e47d0d85b735f57dc506aa65f4c
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/17092
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7408 target: declare write for reply data 86/17086/4
Alex Zhuravlev [Sat, 5 Dec 2015 05:57:40 +0000 (08:57 +0300)]
LU-7408 target: declare write for reply data

declare reply_data at max possible offset - this ensures
enough credits reserved.

Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Change-Id: I08466452e1e95b803f316abae777a8c8f4a8626e
Reviewed-on: http://review.whamcloud.com/17086
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
4 years agoLU-7144 tests: skip scrub/lfsck test under interoperation 20/17520/4
Fan Yong [Wed, 14 Oct 2015 16:26:45 +0000 (00:26 +0800)]
LU-7144 tests: skip scrub/lfsck test under interoperation

Since the scrub/lfsck test are only for server side logic,
it is unnecessary to test scrub/lfsck under interoperation
mode, skip them.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I044030b3bace787809d7cfd5622000b44a8be789
Reviewed-on: http://review.whamcloud.com/17520
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Reviewed-by: Jian Yu <jian.yu@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>