Whamcloud - gitweb
fs/lustre-release.git
5 years agoLU-11389 lnet: increase lnet transaction timeout 31/33231/8
Sonia Sharma [Mon, 17 Sep 2018 17:50:42 +0000 (13:50 -0400)]
LU-11389 lnet: increase lnet transaction timeout

Increase the new LNet Health transaction timeout to the original
50s value, to avoid spurious lnet-selftest failures and expected
false timeouts under load.

Fix the lnet_transaction_timeout module parameter description.

Test-Parameters: trivial clientarch=aarch64 testlist=lnet-selftest,lnet-selftest,lnet-selftest,lnet-selftest
Test-Parameters: clientarch=aarch64 testlist=lnet-selftest,lnet-selftest,lnet-selftest,lnet-selftest

Signed-off-by: Sonia Sharma <sharmaso@whamcloud.com>
Change-Id: Ic9df69ef8c7a4085815b54dc6741f37a73d36a75
Reviewed-on: https://review.whamcloud.com/33231
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Nunez <jnunez@whamcloud.com>
Reviewed-by: Amir Shehata <ashehata@whamcloud.com>
5 years agoLU-10576 tests: allow log files to be created/removed 77/33677/4
Andreas Dilger [Fri, 16 Nov 2018 21:41:28 +0000 (14:41 -0700)]
LU-10576 tests: allow log files to be created/removed

Allow an llog file to be created or removed during the course of
the test, as this can happen due to internal housekeeping activity.

Also ensure that background cleanup has finished with ZFS before
fetching the number of objects from the MDT.

Test-Parameters: trivial
Test-Parameters: testlist=sanity mdscount=2 mdtcount=4 mdtfilesystemtype=zfs ostfilesystemtype=zfs
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I0a0968cfcd90c7493c67b54ba8a7f326163ebbe5
Reviewed-on: https://review.whamcloud.com/33677
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Patrick Farrell <paf@cray.com>
Reviewed-by: James Nunez <jnunez@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11697 ost: do not reuse T10PI guards of unaligned page write 52/33752/6
Li Xi [Thu, 29 Nov 2018 14:51:44 +0000 (09:51 -0500)]
LU-11697 ost: do not reuse T10PI guards of unaligned page write

If the write is partial page, the guards of RPC checksum should not
be reused for bio submission since the data might not be full-sector.
The bio guards will be generated later based on the full sectors. If
the sector size is 512B rather than 4 KB, or the page size on OST is
larger than 4KB, this might drop some useful guards for partial page
write, but it will only add minimal extra time of checksum calculation.

Change-Id: I868342df87c28ea91f5f8364fe377277595ecf6d
Signed-off-by: Li Xi <lixi@ddn.com>
Reviewed-on: https://review.whamcloud.com/33752
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11697 osc: wrong page offset for T10PI checksum 27/33727/5
Li Xi [Tue, 27 Nov 2018 07:20:31 +0000 (02:20 -0500)]
LU-11697 osc: wrong page offset for T10PI checksum

The page offset might could be non-zero value. Thus, when
calculating T10PI checksum, the offset should be correct value.

Change-Id: Ib32584eb47ea55ec3804e531ac02ffd252411886
Signed-off-by: Li Xi <lixi@ddn.com>
Reviewed-on: https://review.whamcloud.com/33727
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Li Dongyang <dongyangli@ddn.com>
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11663 osd-zfs: write partial pages with correct offset 26/33726/4
Alex Zhuravlev [Tue, 27 Nov 2018 06:47:50 +0000 (09:47 +0300)]
LU-11663 osd-zfs: write partial pages with correct offset

otherwise non-aligned writes send wrong data to ZFS.

Change-Id: I1ae1f361981d548307d74344a5694f3ef39c0609
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/33726
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Patrick Farrell <paf@cray.com>
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11652 kernel: kernel update [SLES12 SP3 4.4.162-94.69] 37/33637/3
Jian Yu [Wed, 21 Nov 2018 08:41:58 +0000 (00:41 -0800)]
LU-11652 kernel: kernel update [SLES12 SP3 4.4.162-94.69]

Update SLES12 SP3 kernel to 4.4.162-94.69.

Test-Parameters: clientdistro=sles12sp3 ossdistro=sles12sp3 mdsdistro=sles12sp3

Change-Id: Iea1ec6def609059d67053d25360e8e986f2adbd9
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/33637
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11668 mdt: check parent type in rename/migrate 09/33709/2
Lai Siyao [Thu, 25 Oct 2018 21:58:49 +0000 (05:58 +0800)]
LU-11668 mdt: check parent type in rename/migrate

Check parent existence and type in rename and migrate to avoid
potential race.

Signed-off-by: Lai Siyao <lai.siyao@whamcloud.com>
Change-Id: I583e2f5a6f47073601e36c06890a6b22dfc734ad
Reviewed-on: https://review.whamcloud.com/33709
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Jenkins
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Tested-by: Maloo <maloo@whamcloud.com>
5 years agoLU-11668 debug: print object type in mdd_parent_fid 00/33700/4
Lai Siyao [Thu, 25 Oct 2018 16:10:34 +0000 (00:10 +0800)]
LU-11668 debug: print object type in mdd_parent_fid

mdd_parent_fid() get parent fid for directory, but racer shows
the passed in object is not directory, print its type to help
debug.

Test-Parameters: trivial
Signed-off-by: Lai Siyao <lai.siyao@whamcloud.com>
Signed-off-by: Peter Jones <pjones@whamcloud.com>
Change-Id: I4b3eedb159fc0efccc15e35cb59010fe02fa9e01
Reviewed-on: https://review.whamcloud.com/33700
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
5 years agoLU-10114 hsm: increase upper limit of maximum HSM backends registered with MDT 97/32197/32
Teddy Zheng [Tue, 13 Nov 2018 12:42:34 +0000 (07:42 -0500)]
LU-10114 hsm: increase upper limit of maximum HSM backends registered with MDT

Lustre only supports at most 32 HSM backends, which limits HSM to be applied
to other features, such as LPCC. This patch breaks the limitation by allowing
the system take any interger number as a valid archive-id.

Test-Parameters: clientjob=lustre-b2_10 clientbuildno=136 testlist=sanity-hsm
Test-Parameters: mdsjob=lustre-b2_10 ossjob=lustre-b2_10 serverbuildno=136 testlist=sanity-hsm

Change-Id: I9523b92500b962db3e45a2bd6a67dba54eef5335
Signed-off-by: Teddy Zheng <teddy@ddn.com>
Signed-off-by: Li Xi <lixi@ddn.com>
Reviewed-on: https://review.whamcloud.com/32197
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-5152 quota: disable sync chgrp to OSTs 05/33705/2
Hongchao Zhang [Wed, 14 Nov 2018 23:10:46 +0000 (18:10 -0500)]
LU-5152 quota: disable sync chgrp to OSTs

The syschronous chgrp to OSTs introduced by the previous patch
(the commit is 8a71fd5061bd073e055e6cbba1d238305e6827bb) causes
deadlock between MDT and OST, this patch disable it for now and
leave the updated patch to fix it.

Signed-off-by: Hongchao Zhang <hongchao@whamcloud.com>
Change-Id: I5ce48424f4d2011ce62e69047ace7f0b7c3ebbe5
Reviewed-on: https://review.whamcloud.com/33705
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Wang Shilong <wshilong@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11653 hsm: copytool registration wakes the coordinator 49/33649/8
Quentin Bouget [Mon, 12 Nov 2018 19:50:20 +0000 (20:50 +0100)]
LU-11653 hsm: copytool registration wakes the coordinator

When a copytool registers to the MDS, it is possible there are
pending requests in the coordinator's llog that previously could not
be sent (either because there were not any copytools, or not any
compatible copytools).

With this patch, the coordinator will process those requests on its
next wake up (which happens every second).

Test-Parameters: trivial
Test-Parameters: mdscount=2 mdtcount=4 mdtfilesystemtype=zfs testlist=sanity-hsm
Test-Parameters: mdscount=2 mdtcount=4 mdtfilesystemtype=ldiskfs testlist=sanity-hsm
Test-Parameters: mdscount=2 mdtcount=4 mdtfilesystemtype=zfs testlist=sanity-hsm
Test-Parameters: mdscount=2 mdtcount=4 mdtfilesystemtype=ldiskfs testlist=sanity-hsm

Signed-off-by: Quentin Bouget <quentin.bouget@cea.fr>
Change-Id: Ie49b40d312f2f3e0d9c85dee27bb8813dc4dde40
Reviewed-on: https://review.whamcloud.com/33649
Tested-by: Jenkins
Reviewed-by: Ben Evans <bevans@cray.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11541 build: Use correct kernel version for DKMS MLNX OFED. 02/33702/3
Ake Sandgren [Wed, 21 Nov 2018 18:00:53 +0000 (19:00 +0100)]
LU-11541 build: Use correct kernel version for DKMS MLNX OFED.

Check for $O2IBPATHS/${LINUXRELEASE} before $O2IBPATHS/default.
The "default" link is only created on the first dkms build of OFED.
So if doing dkms build for another kernel it may not be pointing
to the correct kernel.

Test-Parameters: trivial

Signed-off-by: Ake Sandgren <ake.sandgren@hpc2n.umu.se>
Change-Id: If8054ee64cf8795ed0e3ee50a8ef9ced067059d7
Reviewed-on: https://review.whamcloud.com/33702
Tested-by: Jenkins
Reviewed-by: Nathaniel Clark <nclark@whamcloud.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Li Dongyang <dongyangli@ddn.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11567 utils: llog_reader print changelog index 73/33473/8
Olaf Faaland [Wed, 24 Oct 2018 21:23:50 +0000 (14:23 -0700)]
LU-11567 utils: llog_reader print changelog index

When processing changelog type llogs, print the changelog index number
with each changelog record.  This allows one to compare the records on
disk with the output of lfs changelog or relatives.

Test-Parameters: trivial
Signed-off-by: Olaf Faaland <faaland1@llnl.gov>
Change-Id: I0059cc34b39161462b3eadbb2512dc811c38705a
Reviewed-on: https://review.whamcloud.com/33473
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Nathaniel Clark <nclark@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11329 utils: Add maintainer entries 84/33684/5
Patrick Farrell [Mon, 19 Nov 2018 15:32:12 +0000 (09:32 -0600)]
LU-11329 utils: Add maintainer entries

Add clio reviewer entry.

Add Grant subsystem section.

Test-Parameters: trivial
Signed-off-by: Patrick Farrell <paf@cray.com>
Change-Id: I461b39fe0b65f8d48b3912086927c945b2da3db7
Reviewed-on: https://review.whamcloud.com/33684
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Nathaniel Clark <nclark@whamcloud.com>
5 years agoLU-11645 tests: fix sanity-sec test 31 22/33622/2
Sebastien Buisson [Thu, 8 Nov 2018 07:55:01 +0000 (16:55 +0900)]
LU-11645 tests: fix sanity-sec test 31

In sanity-sec test 31, command to add new LNet network ${NETTYPE}999
may fail if servers have interface names different from the one used
on the client.
So fix the command so that it is run directly on each node.

Test-Parameters: trivial envdefinitions=ONLY=31 testlist=sanity-sec
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: Ibf9101524d94188b3beae3debe45e2ba151999ca
Reviewed-on: https://review.whamcloud.com/33622
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Sonia Sharma <sharmaso@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11572 tests: make sanity-hsm test_260c reliable 78/33478/5
Quentin Bouget [Tue, 13 Nov 2018 21:52:24 +0000 (16:52 -0500)]
LU-11572 tests: make sanity-hsm test_260c reliable

When the coordinator restarts, its first run does housekeeping.
For the following `loop_period' seconds, it will not run in
housekeeping mode.

This patch uses this to improve the reliability of sanity-hsm
test_260c.

Test-Parameters: trivial testlist=sanity-hsm,sanity-hsm,sanity-hsm
Signed-off-by: Quentin Bouget <quentin.bouget@cea.fr>
Change-Id: I8eeb8b6856d91b69495d592cdd1cb5f091b1cc2b
Reviewed-on: https://review.whamcloud.com/33478
Reviewed-by: Ben Evans <bevans@cray.com>
Reviewed-by: John L. Hammond <jhammond@whamcloud.com>
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11519 hsm: improve the testing of hsm.max_requests 90/33590/5
Quentin Bouget [Tue, 6 Nov 2018 12:48:33 +0000 (12:48 +0000)]
LU-11519 hsm: improve the testing of hsm.max_requests

Modify sanity-hsm::test_250() to send more diverse HSM request.

This brings better code coverage (it would have caught the bug
reported in LU-11519).

Test-Parameters: trivial testlist=sanity-hsm,sanity-hsm,sanity-hsm
Signed-off-by: Quentin Bouget <quentin.bouget@cea.fr>
Change-Id: I0142b46dc804f649c33deb81efea7f68d1e29afa
Reviewed-on: https://review.whamcloud.com/33590
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Ben Evans <bevans@cray.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11662 llite: handle -ENODATA in ll_layout_fetch() 65/33665/3
John L. Hammond [Thu, 15 Nov 2018 17:08:57 +0000 (11:08 -0600)]
LU-11662 llite: handle -ENODATA in ll_layout_fetch()

In ll_layout_fetch() handle -ENODATA returns from mdc_getxattr(). This
is needed for interop and restores the behavior from before commit
0f42b388432c4b898857660197ef13a40a82cd9d (LU-11380 mdc: move empty
xattr to mdc layer) landed.

Test-Parameters: clientjob=lustre-b2_10 clientbuildno=136 testlist=sanity-hsm
Test-Parameters: mdsjob=lustre-b2_10 ossjob=lustre-b2_10 serverbuildno=136 testlist=sanity-hsm
Signed-off-by: John L. Hammond <jhammond@whamcloud.com>
Change-Id: I1fb85faf35c7d2303a1f61a5a9c5922988739817
Reviewed-on: https://review.whamcloud.com/33665
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11595 mdt: fix read-on-open for big PAGE_SIZE 06/33606/7
Mikhail Pershin [Wed, 7 Nov 2018 13:31:57 +0000 (16:31 +0300)]
LU-11595 mdt: fix read-on-open for big PAGE_SIZE

Client PAGE_SIZE can be larger than server one so data returned
from server along with OPEN can be misaligned on client.

Patch replaces assertion on client with check and graceful exit,
changes MDC_DOM_DEF_INLINE_REPSIZE to be PAGE_SIZE at least and
updates mdt_dom_read_on_open() to return file tail for maximum
possible page size that can fit into reply.

Signed-off-by: Mikhail Pershin <mpershin@whamcloud.com>
Change-Id: Ic2c54b95c814d3b6df3b527527cac08488060651
Reviewed-on: https://review.whamcloud.com/33606
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11582 llite: protect reading inode->i_data.nrpages 39/33639/3
Bobi Jam [Sun, 11 Nov 2018 08:41:21 +0000 (16:41 +0800)]
LU-11582 llite: protect reading inode->i_data.nrpages

truncate_inode_pages() looks up pages in the radix tree without
lock, and could miss finding pages removed from the radix tree
by __remove_mapping(), so that after calling truncate_inode_pages()
we need to read the nrpages of the inode->i_data with the protection
of tree_lock.

Since it could still be in the race window of __remove_mapping()->
__delete_from_page_cache()->page_cache_tree_delte(), before the
nrpages being decreased.

Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: I44ba6bea3dec4f0a110d1ae2a749514ec7dd0d12
Reviewed-on: https://review.whamcloud.com/33639
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Patrick Farrell <paf@cray.com>
Tested-by: Maloo <maloo@whamcloud.com>
5 years agoLU-11466 mdt: Skip SOM xattr update for DoM-only files 31/33331/11
Qian Yingjin [Wed, 10 Oct 2018 07:55:54 +0000 (15:55 +0800)]
LU-11466 mdt: Skip SOM xattr update for DoM-only files

When scan the MDT image, DoM-only file can be specialized handled,
the size and blocks can be got directly from the inode on MDT, no
need SOM xattr anymore.
Thus, there is no need to store the SOM xattr for DoM-only files.

Signed-off-by: Qian Yingjin <qian@ddn.com>
Change-Id: I0f871cde38fc846460dd1b6f92509dee9ea90bfc
Reviewed-on: https://review.whamcloud.com/33331
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Mike Pershin <mpershin@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-9793 ptlrpc: Do not map unrecognized ELDLM errnos to EIO 71/33471/3
Ann Koehler [Tue, 13 Nov 2018 16:47:20 +0000 (11:47 -0500)]
LU-9793 ptlrpc: Do not map unrecognized ELDLM errnos to EIO

The lustre_errno_hton and lustre_errno_ntoh functions map between
host and network error numbers before they are sent over the network.
If an errno is unrecognized then it is mapped to EIO.

However an optimization for x86 and i386 architectures replaced the
functions with macros that simply return the original errno. The
result is that x86 and i386 return the original values for ELDLM
errnos and all other architectures return EIO. This difference is
known to break glimpse lock callback handling which depends on clients
responding with ELDLM_NO_LOCK_DATA. The difference in errnos may
result in other as yet unidentified bugs.

The fix defines mappings for the ELDLM errors that leaves the values
unchanged. Error numbers not found in the mapping tables are still
mapped to EIO.

Cray-bug-id: LUS-6057
Signed-off-by: Ann Koehler <amk@cray.com>
Change-Id: I0b4e1e0dc6de065729e18f2381ec9cfc58fe31db
Reviewed-on: https://review.whamcloud.com/33471
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11519 hsm: handle hsd_request_count == 0 properly 80/33580/6
John L. Hammond [Mon, 5 Nov 2018 17:48:55 +0000 (11:48 -0600)]
LU-11519 hsm: handle hsd_request_count == 0 properly

In mdt_cdt_waiting_cb() it may be that the coordinator has already
reached the limit of active requests and hsd contains no requests to
be started. Handle this properly when trying to prioritize a restore.

Signed-off-by: John L. Hammond <jhammond@whamcloud.com>
Change-Id: Ic843b7672ae6a4509ac127c2d2f90bf3681f84fc
Reviewed-on: https://review.whamcloud.com/33580
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Quentin Bouget <quentin.bouget@cea.fr>
Reviewed-by: Ben Evans <bevans@cray.com>
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11071 build: use --with-linux-obj for ubuntu 45/33145/10
Li Dongyang [Sat, 17 Nov 2018 03:09:17 +0000 (22:09 -0500)]
LU-11071 build: use --with-linux-obj for ubuntu

We can use --with-linux-obj instead of --with-linux-config
the config will be found just under LINUX_OBJ.
Otherwise the configure could fail if LINUX and LINUX_OBJ
are different paths. e.g. ubuntu18

Test-Parameters: trivial
Signed-off-by: Li Dongyang <dongyangli@ddn.com>
Change-Id: Ibaa159e5611c4054b3987da0ce3a8bca2992e057
Reviewed-on: https://review.whamcloud.com/33145
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Nathaniel Clark <nclark@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11642 lmv: allocate fid on parent MDT in migrate 41/33641/3
Lai Siyao [Sun, 21 Oct 2018 22:48:17 +0000 (06:48 +0800)]
LU-11642 lmv: allocate fid on parent MDT in migrate

During directory migration, if the migrated file is not directory,
the target should be allocated on its parent MDT, not user specified
MDT. Because if it's parent is striped, this file should be migrated
to the MDT by its name hash, not the starting MDT of its parent.

Add sanity 230k to check file data not changed after migration.

Signed-off-by: Lai Siyao <lai.siyao@whamcloud.com>
Change-Id: Ic7d3de8ea982b7cf4da758e4d3ab8d8ee15ecfdb
Reviewed-on: https://review.whamcloud.com/33641
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Mike Pershin <mpershin@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11642 mdt: revoke remote LOOKUP lock in dir layout shrink 40/33640/2
Lai Siyao [Sun, 21 Oct 2018 22:44:21 +0000 (06:44 +0800)]
LU-11642 mdt: revoke remote LOOKUP lock in dir layout shrink

mdt_dir_layout_shrink() should revoke remote LOOKUP lock if parent
is remote, because it will alter dir layout, which is refreshed
upon lookup.

Signed-off-by: Lai Siyao <lai.siyao@whamcloud.com>
Change-Id: I26ae1af5da6142b44005e5d9ea11293af65ed7b5
Reviewed-on: https://review.whamcloud.com/33640
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Hongchao Zhang <hongchao@whamcloud.com>
Reviewed-by: Mike Pershin <mpershin@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11497 tests: improve ha.sh to set striped dirs 40/33340/3
Elena Gryaznova [Wed, 10 Oct 2018 16:10:34 +0000 (19:10 +0300)]
LU-11497 tests: improve ha.sh to set striped dirs

For DNE II testing we need the possibility to create
the striped directories, like it is done in t-f:test_mkdir().
This patch covers the following settings:
-c stripe_count -i mdt_index
-c stripe_count -i <random mdt_index>,
which allows to have the clients work directories with
the same stripe_count but different mdt indexes.

Test-Parameters:trivial
Signed-off-by: Elena Gryaznova <c17455@cray.com>
Cray-bug-id: LUS-5974
Reviewed-by: Vladimir Saveliev <c17830@cray.com>
Reviewed-by: Alexander Boyko <c17825@cray.com>
Change-Id: I6117601e741a95059750149d1c38b402fccb29b7
Reviewed-on: https://review.whamcloud.com/33340
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alexandr Boyko <c17825@cray.com>
Reviewed-by: James Nunez <jnunez@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11494 tests: sanity-quota/22 syntax error fix 37/33337/2
Elena Gryaznova [Wed, 10 Oct 2018 14:57:10 +0000 (17:57 +0300)]
LU-11494 tests: sanity-quota/22 syntax error fix

Patch fixes test_22() trivial syntax error.

Test-Parameters:trivial testlist=sanity-quota envdefinitions=ONLY=22
Signed-off-by: Elena Gryaznova <c17455@cray.com>
Cray-bug-id: LUS-6011
Reviewed-by: Andriy Skulysh <c17819@cray.com>
Reviewed-by: Vladimir Saveliev <c17830@cray.com>
Change-Id: Icb3474c7166d6b74b3092617bb314a561687df06
Reviewed-on: https://review.whamcloud.com/33337
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Nunez <jnunez@whamcloud.com>
5 years agoLU-11492 tests: fix thread_sanity() defect 35/33335/2
Elena Gryaznova [Wed, 10 Oct 2018 14:20:10 +0000 (17:20 +0300)]
LU-11492 tests: fix thread_sanity() defect

tmin, tmax, tstarted are not set if do_facet fails by some reason.
This leads to the following failure:
Assertion 28 failed: (($tstarted >= $tmin && $tstarted <= $tmax ))
   (expanded: ((16 >=  && 16 <= 16 )))
Patch sets variables equal to 0 for cases of failed do_facet, like
it is done for other similar cases.

Test-Parameters:trivial testlist=sanity envdefinitions=ONLY="53a 53b"
Signed-off-by: Elena Gryaznova <c17455@cray.com>
Cray-bug-id: LUS-5638
Reviewed-by: Alexander Boyko <c17825@cray.com>
Reviewed-by: Vitaly Fertman <c17818@cray.com>
Change-Id: If713ba20a0f71cb17208f776a9a4edd359c07c43
Reviewed-on: https://review.whamcloud.com/33335
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alexandr Boyko <c17825@cray.com>
Reviewed-by: James Nunez <jnunez@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11541 build: Adjust OFED check for DKMS enabled MLNX OFED. 96/33396/10
Ake Sandgren [Tue, 13 Nov 2018 17:48:22 +0000 (12:48 -0500)]
LU-11541 build: Adjust OFED check for DKMS enabled MLNX OFED.

The DKMS packaging of MLNX OFED, i.e. mlnx-ofed-kernel-dkms, (at least
v4.4 and newer), doesn't have /usr/src/ofa_kernel/default as part of
the package, it is created as a link during package installation.

Restore LB_USES_DPKG autoconf test that was removed since it is needed
in lustre-lnet.m4 so Debian / Ubuntu can build properly with external
infiniband stacks.

Test-Parameters: trivial
Signed-off-by: Ake Sandgren <ake.sandgren@hpc2n.umu.se>
Change-Id: I1739a67e16bc0dab8cf551b460b424441d81fc91
Reviewed-on: https://review.whamcloud.com/33396
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Li Dongyang <dongyangli@ddn.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-9906 clio: use pagevec_release for many pages 67/28667/15
Li Dongyang [Fri, 26 Oct 2018 09:09:26 +0000 (20:09 +1100)]
LU-9906 clio: use pagevec_release for many pages

When Lustre releases cached pages, it always uses
page_release, even when releasing many pages.

When clearing OST ldlm lock lrus in parallel with lots of
cached data, the ldlm_bl threads spend most of their time
contending for the zone lock taken by page_release.
Also, when osc_lru_reclaim kicks in when there's not enough
LRU slots during I/O, the contention on zone lock kills
I/O performance.

Switching to pagevec when we expect to actually release the
pages (discard_pages, truncate, lru reclaim) brings
significant performance benefits as shown below.

This patch introduces cl_pagevec_put() to release the pages
in batches using pagevec, which is essentially calling
release_pages().

  mpirun -np 48 ior -w -r -t 16m -b 16g -F -e -vv -o ... -i 1 [-B]

                mode         write (GB/s)    read (GB/s)
  master        O_DIRECT     20.8            21.8
  master+patch  O_DIRECT     20.7            22.2
  master        Buffered     11.6            12.3
  master+patch  Buffered     15.3            19.6

Also clean up the dead lovsub_page related code.

Signed-off-by: Patrick Farrell <paf@cray.com>
Signed-off-by: Li Dongyang <dongyangli@ddn.com>
Change-Id: I71447528db12858defb627c9c03b7193d116c935
Reviewed-on: https://review.whamcloud.com/28667
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alexey Lyashkov <c17817@cray.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-8777 mdt: add parameter to disable remote/striped dir 98/24498/16
Lai Siyao [Thu, 22 Dec 2016 15:46:40 +0000 (23:46 +0800)]
LU-8777 mdt: add parameter to disable remote/striped dir

Restore mdt_enable_remote_dir to enable/disable remote directory
feature, and also add mdt_enable_striped_dir and
mdt_enable_dir_migration for striped directory and directory
migration.

Enable remote directory, striped directory and directory migration
by default.

Add sanity.sh 417.

Signed-off-by: Lai Siyao <lai.siyao@whamcloud.com>
Change-Id: I583dbc5a5eb54de02c8a4459092d4a3f3b24b262
Reviewed-on: https://review.whamcloud.com/24498
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11596 tests: disable several sanity sub-tests for ARM 52/33652/4
Jian Yu [Thu, 15 Nov 2018 08:45:17 +0000 (00:45 -0800)]
LU-11596 tests: disable several sanity sub-tests for ARM

The following sanity sub-tests are consistently failing
on ARM clients:
- 42d, 42e, 63a, 63b, 64a, 64b and 64c (LU-11596)
- 45 (LU-11671)
- 101c (LU-11665)
- 103a (LU-11594)
- 317 (LU-11667)

This patch adds them to ALWAYS_EXCEPT list to exclude
the failures, so as to make ARM client test session pass.

They will be removed from the list and re-enabled in the
patches that fix the failures.

Test-Parameters: trivial

Change-Id: I1728dc665c8a52f0fd88de8173f88ccee0c8772d
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/33652
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Nunez <jnunez@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Nathaniel Clark <nclark@whamcloud.com>
5 years agoLU-11635 gss: proper gss build for client-only 08/33608/8
Sebastien Buisson [Thu, 8 Nov 2018 23:35:11 +0000 (18:35 -0500)]
LU-11635 gss: proper gss build for client-only

Fix gss build system for both rpms and debs in case of client-only
build.
Fix consists in passing along '--{enable,disable}-gss' option, and
including lgssc.conf file in case of client-only build.

Test-Parameters: trivial
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: Id884d282e312177c262b1f4725b8f19e2c14fd37
Reviewed-on: https://review.whamcloud.com/33608
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Li Dongyang <dongyangli@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11102 ldlm: don't skip bl_ast for local lock 58/33458/10
Mikhail Pershin [Tue, 18 Sep 2018 11:00:33 +0000 (14:00 +0300)]
LU-11102 ldlm: don't skip bl_ast for local lock

The previous commit 954cc675 skips bl_ast for local lock but
there are cases on MDT when local lock can become a client lock,
see mdt_intent_lock_replace(). In that case the client should be
notified if lock is a blocking lock.

Patch reverts commit 954cc675 and provides alternative solution.
During downgrade to COS the lock renews own blocking AST states
and start reprocessing. Any new lock conflict will cause new
blocking AST and related async commit as needed.

Test-Parameters: mdssizegb=20 testlist=racer,racer,racer
Signed-off-by: Mikhail Pershin <mpershin@whamcloud.com>
Change-Id: I41adab5c805a59fdbeade8ae3556556b779dc3c0
Reviewed-on: https://review.whamcloud.com/33458
Reviewed-by: Vitaly Fertman <c17818@cray.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-10626 test: create custom udev rule 43/33143/14
James Simmons [Tue, 16 Oct 2018 17:24:00 +0000 (13:24 -0400)]
LU-10626 test: create custom udev rule

Some lustre developer do all their testing from their lustre
source tree instead of installing it into an image. Since lustre
is not installed into the image the udev rule for lctl set_param
doesn't work since its not in /etc/udev/rules.d. Additonally udev
rules require using the absolute paths for executables. To handle
this setup create a special udev rule on the fly using $LCTL to
be placed into /etc/udev/rules.d.

Change-Id: I84c55450c866977650b3c6d4190e233a24eb03d8
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: https://review.whamcloud.com/33143
Reviewed-by: Nathaniel Clark <nclark@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-10335 test: enable sanity 130 tests for Ubuntu 59/33459/3
James Simmons [Tue, 23 Oct 2018 14:37:47 +0000 (10:37 -0400)]
LU-10335 test: enable sanity 130 tests for Ubuntu

The default e2fsprogs for Ubuntu 16 lacked the changes for fiemap.
This caused sanity test 130 to fail. Now with lustre using newer
e2fsprogs with the new Ubuntu server support this is no longer the
case. Lets re-enable sanity 130 test again.

Test-Parameters: clientdistro=ubuntu1604 trivial testlist=sanity envdefinitions=ONLY=130

Change-Id: Iad42e1f55855da904515b3fe00c8d047fa13b45c
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: https://review.whamcloud.com/33459
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Li Dongyang <dongyangli@ddn.com>
Reviewed-by: James Nunez <jnunez@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-2836 tests: Re-enable sanity-quota/3,6 for ZFS 56/32956/2
Nathaniel Clark [Tue, 7 Aug 2018 20:53:29 +0000 (16:53 -0400)]
LU-2836 tests: Re-enable sanity-quota/3,6 for ZFS

Given the amount of fixes in Quota for ZFS 0.7.x and since Lustre 2.4.
Also ZFS backend is now not nearly as slow so sleep timeouts that work
for ldiskfs should also work for ZFS.
Re-enable these tests as they should consistantly pass now.

Test-Parameters: trivial
Test-Parameters: ostfilesystemtype=zfs mdtfilesystemtype=zfs ostcount=2 testlist=sanity-quota,sanity-quota,sanity-quota,sanity-quota,sanity-quota
Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: I23714181a1aada7a32a540853cb2e0bd9d7211a2
Reviewed-on: https://review.whamcloud.com/32956
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Nunez <jnunez@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11020 osp: fix race during lov_objids update 67/32867/11
Alexey Lyashkov [Wed, 1 Aug 2018 15:52:28 +0000 (18:52 +0300)]
LU-11020 osp: fix race during lov_objids update

First thread can be delayed due to reading from disk, so it
will completed after second thread and overwrite the on-disk
lov_objids data with an older OID for that OST.

If the transaction commits during this window and then the
MDS crashes, it is possible that the stale lov_objids results
in an OST object being deleted during MDS->OSS recovery that
should have been kept.

Use a single buffer shared between threads to store lov_objids
so that even if multiple threads are updating the lov_objids
file at once, the latest OID will be written to disk even if
the threads commit their transactions out of order.

Cray-bug-id: LUS-5841
Change-Id: I0984e5f55d569260c1219bf87c82423cc5b8589b
Signed-off-by: Alexey Lyashkov <c17817@cray.com>
Reviewed-on: https://review.whamcloud.com/32867
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11654 mdd: check ucred before using it 38/33638/2
Jinshan Xiong [Sat, 10 Nov 2018 20:06:16 +0000 (12:06 -0800)]
LU-11654 mdd: check ucred before using it

On the code path of client eviction, lu_ucred in mdd_close() is not
initialized so we need to check it before trying to dereference it.

Signed-off-by: Jinshan Xiong <jinshan.xiong@uber.com>
Change-Id: I51b2a30e651761d66470fedf39da8e99b47ea6b4
Reviewed-on: https://review.whamcloud.com/33638
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11071 build: add files to .gitignore 26/33626/2
James Simmons [Thu, 8 Nov 2018 19:28:45 +0000 (14:28 -0500)]
LU-11071 build: add files to .gitignore

For the debian / Ubuntu build lustre-resource-agent is not ignored
with git status. Also llsom_sync should be ignored.

Change-Id: Ic4ce9b2e097f7ede60cc8dc4d4ed63cb5a9ad692
Test-Parameters: trivial
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: https://review.whamcloud.com/33626
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Nathaniel Clark <nclark@whamcloud.com>
5 years agoLU-11071 osd-ldiskfs: support bio integrity with Ubuntu 18 24/33624/3
James Simmons [Thu, 8 Nov 2018 18:12:06 +0000 (13:12 -0500)]
LU-11071 osd-ldiskfs: support bio integrity with Ubuntu 18

The recent landed for bio integrity broke building osd-ldisk for
both Ubuntu 18 and RHEL alt kernels. The reason is struct bio no
longer contains a struct block_devices. Instead we can get the
block device from the osd_device instead.

Change-Id: Ic72db4b29f7d0d1921fd97cb5df5c6c77908c92d
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: https://review.whamcloud.com/33624
Reviewed-by: Li Dongyang <dongyangli@ddn.com>
Reviewed-by: Li Xi <lixi@ddn.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-8602 gss: support OpenSSL 1.1 92/33592/4
Sebastien Buisson [Tue, 6 Nov 2018 15:31:43 +0000 (15:31 +0000)]
LU-8602 gss: support OpenSSL 1.1

Add support for OpenSSL 1.1, used by default on Ubuntu 18.04.

It mainly consists in changing the way variables of type DH
and HMAC_CTX are used.

Test-Parameters: testlist=sanity-sec envdefinitions=SHARED_KEY=true
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I1fc9b77fc44976f4b1fb3a58ae7db9c20a96b3e9
Reviewed-on: https://review.whamcloud.com/33592
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: John L. Hammond <jhammond@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-9795 gss: properly handle mgssec 57/33357/14
Sebastien Buisson [Thu, 11 Oct 2018 13:38:53 +0000 (22:38 +0900)]
LU-9795 gss: properly handle mgssec

Secured connection to MGS must have all 3 root, mds and oss flags set
by convention.

Also add regression tests for mgssec in sanity-sec.

Test-Parameters: testlist=sanity-sec envdefinitions=ONLY="32 33",SHARED_KEY=true
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I655913b15a551c205cdc3e16fffd48193c8da1fe
Reviewed-on: https://review.whamcloud.com/33357
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jeremy Filizetti <jeremy.filizetti@gmail.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11071 build: kernel update Ubuntu 18.04 22/33322/3
Li Dongyang [Tue, 9 Oct 2018 05:28:11 +0000 (16:28 +1100)]
LU-11071 build: kernel update Ubuntu 18.04

This enables ldiskfs support for kernels newer than
4.15.0-24.26

Signed-off-by: Li Dongyang <dongyangli@ddn.com>
Change-Id: I1d61534d7f5288495b0e26c3362211c10b9826dd
Reviewed-on: https://review.whamcloud.com/33322
Reviewed-by: Gu Zheng <gzheng@ddn.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-8066 lod: replace class_process_proc_param() 80/33180/9
James Simmons [Wed, 7 Nov 2018 16:37:47 +0000 (11:37 -0500)]
LU-8066 lod: replace class_process_proc_param()

With the move to sysfs for lod every lctl conf_param option will
send out a udev event. Replace class_process_proc_param() with
class_modify_config() so sysfs attributes can be set directly.

This patch exposed an error in stripecount_store() which doesn't
allow setting stripe count to -1 which is wrong.

Change-Id: I4eee8b2b0f3661ac69242ff7a1da6346153a56e8
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: https://review.whamcloud.com/33180
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-10965 doc: add mirror options to "lfs find" in lfs.1 01/32201/2
Jian Yu [Mon, 30 Apr 2018 04:06:12 +0000 (12:06 +0800)]
LU-10965 doc: add mirror options to "lfs find" in lfs.1

This patch adds the following mirror related search
options to "lfs find" command in lfs man page:

[[!] --mirror-count|-N [+-]n]
[[!] --mirror-state <[^]state>]

The usage of the options are explained in separate
"lfs find" man page.

Change-Id: I13c19be01cb050cd5035d9058bbd6fc7d2f50564
Signed-off-by: Jian Yu <jian.yu@intel.com>
Reviewed-on: https://review.whamcloud.com/32201
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
5 years agoLU-11483 ldlm ofd_lvbo_init() and mdt_lvbo_fill() create env 21/33321/6
Alex Zhuravlev [Tue, 9 Oct 2018 04:32:11 +0000 (07:32 +0300)]
LU-11483 ldlm ofd_lvbo_init() and mdt_lvbo_fill() create env

on demand as in very few cases it's called with env undefined.
it would be a very big patch to pass env through all the path
chains..

Change-Id: Ic6819215877891ad95f2937729941453abf981e7
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/33321
Tested-by: Jenkins
Reviewed-by: Patrick Farrell <paf@cray.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11527 tests: fix sanity 270a for ARM 33/33633/2
Andreas Dilger [Fri, 9 Nov 2018 21:13:52 +0000 (14:13 -0700)]
LU-11527 tests: fix sanity 270a for ARM

Fix sanity test_270a to work with ARM so that it does O_DIRECT
writes with a multiple of the local PAGE_SIZE (65536 bytes)
instead of 102400 bytes (which works fine on x64, but not ARM).

Generalize the test to use variables instead of precomputed values
so that it is clear why the particular values are used.

Test-Parameters: trivial envdefinitions=ONLY=270a
Test-Parameters: mdtfilesystemtype=zfs ostfilesystemtype=zfs testlist=sanity envdefinitions=ONLY=270a
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: Ic2a32215dc1423b0bbf1e5188a5e85420a3ebbe5
Reviewed-on: https://review.whamcloud.com/33633
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11597 tests: fix O_DIRECT test usage for ARM 36/33636/4
Andreas Dilger [Fri, 9 Nov 2018 22:13:31 +0000 (15:13 -0700)]
LU-11597 tests: fix O_DIRECT test usage for ARM

Fix cases where dd [io]flag=direct is used but the blocksize is
not a multiple of the client PAGE_SIZE, which is required for
Lustre.

Add a global PAGE_SIZE variable in init_test_env() and use that
in the tests, rather than having multiple local functions/calls
to re-determine the PAGE_SIZE value, which will not change for
the duration of the test.

Keep the get_page_size() function to initialize the global
PAGE_SIZE value and for the few cases where tests use the server
PAGE_SIZE (e.g. obdecho testing).

Test-Parameters: trivial
Test-Parameters: mdtfilesystemtype=zfs ostfilesystemtype=zfs testlist=sanity
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I0bb9efbcc743f6508180c8496fc50a67363ebbe5
Reviewed-on: https://review.whamcloud.com/33636
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11418 llog: refresh remote llog upon -ESTALE 01/33401/4
Lai Siyao [Wed, 17 Oct 2018 05:29:53 +0000 (13:29 +0800)]
LU-11418 llog: refresh remote llog upon -ESTALE

If a distributed transaction is aborted, it will invalidate all
objects involved, which include remote catalog and update logs.

So llog_cat_declare_add_rec() will refresh remote llog upon -ESTALE,
but it only does this for chd_current_log, not chd_next_log.

If an aborted transaction happens to invalidate catalog only, and
leave chd_current_log valid, which will cause subsequent operations
fail to create chd_next_log.

This patch prepares both current and next log of catalog before
declare_write in llog_cat_declare_add_rec().

Add sanity.sh 60g.

Signed-off-by: Lai Siyao <lai.siyao@whamcloud.com>
Change-Id: Ie2d37686e910676587baefa1687ebb607be3c3a1
Reviewed-on: https://review.whamcloud.com/33401
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Mike Pershin <mpershin@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11522 tests: sanity-sec/27 unable to remount client 89/33389/2
Elena Gryaznova [Wed, 17 Oct 2018 14:07:18 +0000 (17:07 +0300)]
LU-11522 tests: sanity-sec/27 unable to remount client

test_27() defect: test expects that lustre root is mounted on
$MOUNT which is not true if t-f runs witn FILESET set.

Patch fixes the test to have lustre root mounted before test
starts and restores the FILESET mount in the test cleanup.

Test-Parameters: trivial testlist=sanity-sec
Signed-off-by: Elena Gryaznova <c17455@cray.com>
Cray-bug-id: LUS-6560
Change-Id: I00cf50e00ed96d55552f010b5766a8bdab75a200
Reviewed-on: https://review.whamcloud.com/33389
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alexandr Boyko <c17825@cray.com>
Reviewed-by: Sergey Cheremencev <c17829@cray.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11489 tests: retry power off/on several times 32/33332/3
Elena Gryaznova [Wed, 10 Oct 2018 13:29:00 +0000 (16:29 +0300)]
LU-11489 tests: retry power off/on several times

Sometimes we have a BMC hangup for ~1 minute.
Patch improves ha.sh to try power off/on several
times with delay $ha_power_delay default 60 sec.

Test-Parameters:trivial
Signed-off-by: Elena Gryaznova <c17455@cray.com>
Cray-bug-id: LU-6486
Reviewed-by: Andrew Perepechko <c17827@cray.com>
Reviewed-by: Alexander Boyko <c17825@cray.com>
Change-Id: Id192e2a39a229979484b0d209fa8fdc5fafbbfc6
Reviewed-on: https://review.whamcloud.com/33332
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alexandr Boyko <c17825@cray.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11406 mdt: mdt_reint_setxattr() to check rr_eadata 73/33273/2
Alex Zhuravlev [Wed, 3 Oct 2018 04:49:25 +0000 (07:49 +0300)]
LU-11406 mdt: mdt_reint_setxattr() to check rr_eadata

when LMV EA is requested for removal mdt_reint_setxattr() shouldn't
try to access rr_eadata as it's NULL.

Change-Id: Iae2b6a96ba72ae54a3151f86c0f53af9517e3aad
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/33273
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11425 quota: support quota for DoM 57/33257/8
Hongchao Zhang [Sun, 14 Oct 2018 17:44:30 +0000 (13:44 -0400)]
LU-11425 quota: support quota for DoM

Support block quota enforcement on MDT to accommodate the data
writing introduced by DoM.

This patch adds a new qsd_instance on the OSD device at MDT to
implement the quota enforcement on block data, for there is only
one type of quota (meta data or block data) to be handled in one
qsd_instance in the current quota design of Lustre, it's much more
changes to adapt the qsd_instance to support more quota type than
to use a separated qsd_instance to enfore meta data on MDT.

Change-Id: I7c57f383d338cf0070e05ecc318d42586c39371e
Signed-off-by: Hongchao Zhang <hongchao@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/33257
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Wang Shilong <wshilong@ddn.com>
Reviewed-by: Mike Pershin <mpershin@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11390 quota: mark over-quota flag correctly 38/33238/7
Hongchao Zhang [Sun, 14 Oct 2018 02:37:21 +0000 (22:37 -0400)]
LU-11390 quota: mark over-quota flag correctly

Currently, if the current granted quota space is less than or
equal to the usage + pending_write + waiting_write, the over-quota
flag will be marked and sent back to OSC, it will damage the write
performance drastically. this patch will compare the current pending
and the waiting space to the threshold of over-quota check, and the
threshold will be taken into account only if the remain margin quota
space is larger than the threshold.

Test-Parameters: mdtfilesystemtype=zfs ostfilesystemtype=zfs \
testlist=sanity-quota,sanity-quota,sanity-quota,sanity-quota,sanity-quota

Change-Id: I0ecd134c3119ec1d86dbaa6e668091a68b7f5f54
Signed-off-by: Hongchao Zhang <hongchao@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/33238
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Wang Shilong <wshilong@ddn.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-8602 gss: get rid of cfs_crypto_hash_desc 93/33493/4
Sebastien Buisson [Tue, 16 Oct 2018 15:58:21 +0000 (00:58 +0900)]
LU-8602 gss: get rid of cfs_crypto_hash_desc

Get rid of cfs_crypto_hash_desc, and use ahash_request instead.

Test-Parameters: testlist=sanity-sec envdefinitions=SHARED_KEY=true
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: If47f5e66846459e8951779f4c6db22a9e4cf23a8
Reviewed-on: https://review.whamcloud.com/33493
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: John L. Hammond <jhammond@whamcloud.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-10030 hsm: make changelog flag argument an enum 12/32112/6
Andreas Dilger [Sat, 1 Sep 2018 07:51:29 +0000 (01:51 -0600)]
LU-10030 hsm: make changelog flag argument an enum

Since the changelog record flag is being stored on disk, pass it
around as an enum instead of a signed int.  Also make it clear at
the caller that only the low 12 bits of the flag are normally
being stored in the changelog records, since this isn't obvious
to the reader.  For open and close records, the bottom 32 bits
of open flags are recorded.

Test-Parameters: trivial testlist=sanity-hsm
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: Ie676fb6bfd3661645dde845fd9ca8bad283ebbe5
Reviewed-on: https://review.whamcloud.com/32112
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: John L. Hammond <jhammond@whamcloud.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-10876 lnet: peer deletion code may hide error 61/31861/6
Sonia Sharma [Tue, 3 Apr 2018 20:45:56 +0000 (13:45 -0700)]
LU-10876 lnet: peer deletion code may hide error

lnet_peer_ni_del_locked might return -EBUSY if the
NID to be deleted is a gateway.

Check for the return value of lnet_peer_ni_del_locked
in lnet_peer_del_nid.

Change-Id: I72f0d9355284bcc14b2827df82765b95a6d589f0
Test-Parameters: trivial
Signed-off-by: Sonia Sharma <sonia.sharma@intel.com>
Reviewed-on: https://review.whamcloud.com/31861
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Amir Shehata <ashehata@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-8602 gss: Properly port gss to newer crypto api. 09/28309/5
James Simmons [Tue, 1 Aug 2017 21:35:19 +0000 (17:35 -0400)]
LU-8602 gss: Properly port gss to newer crypto api.

In newer kernels the old crypto_hash_* was removed which
requires the gss layer to now user crypto_ahash_*. Pieces
of the port were done incorrectly which this patch addresses.
In the process cleanup some cases where data was leaked
in the case of the sg_tables.

Address the limitation of the gss keys in that they are hard
coded to u16 variables that are not guaranteed to be constant
and it will prove to be challenge in the future to add new crypto
algorithms.
Keep u16 representation of hash and crypto algorithms in Shared-Keys
as they are stored on disk, to not break compatibility with already
existing keys. But pass in to kernel space the name string
of the crypto algorithm we want to use.

Also deal with timer_setup and key.usage new format introduced in
newer kernels.

Test-Parameters: testlist=sanity-sec envdefinitions=SHARED_KEY=true
Change-Id: I90ef58104a1955ce12603173964a6878f60b601e
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-on: https://review.whamcloud.com/28309
Reviewed-by: John L. Hammond <jhammond@whamcloud.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-10937 mgc: restore mgc binding for sptlrpc 11/33311/7
James Simmons [Wed, 7 Nov 2018 14:08:30 +0000 (09:08 -0500)]
LU-10937 mgc: restore mgc binding for sptlrpc

The work for LU-9034 mapped config logs to separate mgc devices.
This change prevented the ability to configure sptlrpc. A later
work around was introduced in LU-9567. Recently it was reported
that the work around introduced can now cause a MGC failover
panic. This patch is the proper fix in that the sptlrpc is
properly bound to an mgc device.

The sptlrpc config record expects 2 pieces of data:

  *  [0]: fs_name/target_name,
  *  [1]: rule string

What was happening is that when you set cfg_instance it was used
to create a new instance name of the form fsname-%p. For sptlrpc
it expects it to only be fsname. The solution is to test if the
config record is for sptlrpc and in that can keep the first
record field as is. With this change we can drop cfg_obdname
which only sptlrpc used.

Test-Parameters: testlist=sanity-gss envdefinitions=ONLY=1,SHARED_KEY=true
Test-Parameters: testlist=sanity-sec envdefinitions=SHARED_KEY=true

Change-Id: I785f98264c6269f95c0d9a564b731d1b6ff0bcee
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: https://review.whamcloud.com/33311
Tested-by: Jenkins
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-9795 gss: fix gss-based integrity check for multi-rail 15/33415/4
Sebastien Buisson [Mon, 22 Oct 2018 15:08:15 +0000 (00:08 +0900)]
LU-9795 gss: fix gss-based integrity check for multi-rail

In case of multi-rail, rq_peer is not the NID from which request is
received, but primary NID of peer.
So gss_svc_upcall_handle_init() needs to pass rq_source, which
contains the NID actually in use, to lsvcgssd user-space daemon
in order to compute HMAC with correct key in handle_sk().

Test-Parameters: testlist=sanity-sec envdefinitions=ONLY=31,SHARED_KEY=true
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I70ee05355c3463a267a6faef724a5b7159ada014
Reviewed-on: https://review.whamcloud.com/33415
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Amir Shehata <ashehata@whamcloud.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-9795 mdt: only set groups if GID is not squashed 16/33316/11
Sebastien Buisson [Fri, 5 Oct 2018 11:51:57 +0000 (20:51 +0900)]
LU-9795 mdt: only set groups if GID is not squashed

In new_init_ucred(), only set groups for local client if GID is
not squashed. Otherwise, GID squashing would be by-passed.

Test-Parameters: testlist=sanity-sec envdefinitions=ONLY="17 18 19 20 21 22",SHARED_KEY=true
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I56961c62a93d99e6a62c72cca7b4fa6e9b3388b9
Reviewed-on: https://review.whamcloud.com/33316
Tested-by: Jenkins
Reviewed-by: John L. Hammond <jhammond@whamcloud.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-6142 fld: Fix style issues for fld_request.c 02/33602/3
Arshad Hussain [Fri, 2 Nov 2018 08:57:15 +0000 (14:27 +0530)]
LU-6142 fld: Fix style issues for fld_request.c

This patch fixes issues reported by checkpatch for file
lustre/fld/fld_request.c

Change-Id: I45fc242eccf17c33b2fa938e401f1a581b2b53ac
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.super@gmail.com>
Reviewed-on: https://review.whamcloud.com/33602
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Ben Evans <bevans@cray.com>
Reviewed-by: John L. Hammond <jhammond@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-6142 fld: Fix style issues for fld_index.c 01/33601/2
Arshad Hussain [Fri, 2 Nov 2018 08:13:29 +0000 (13:43 +0530)]
LU-6142 fld: Fix style issues for fld_index.c

This patch fixes issues reported by checkpatch for file
lustre/fld/fld_index.c

Change-Id: I8272a60035f69654f3c77748002e2bb0dcb87b3e
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.super@gmail.com>
Reviewed-on: https://review.whamcloud.com/33601
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Ben Evans <bevans@cray.com>
Reviewed-by: John L. Hammond <jhammond@whamcloud.com>
5 years agoLU-6142 fld: Fix style issues for fld_handler.c 00/33600/2
Arshad Hussain [Fri, 2 Nov 2018 06:56:39 +0000 (12:26 +0530)]
LU-6142 fld: Fix style issues for fld_handler.c

This patch fixes issues reported by checkpatch for file
lustre/fld/fld_handler.c

Change-Id: Ia546d6d6bf3387c656fbd138859710b834dd3a15
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.super@gmail.com>
Reviewed-on: https://review.whamcloud.com/33600
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Ben Evans <bevans@cray.com>
Reviewed-by: John L. Hammond <jhammond@whamcloud.com>
5 years agoLU-6142 ofd: Fix style issues for ofd_obd.c 67/33567/2
Arshad Hussain [Thu, 1 Nov 2018 15:19:01 +0000 (20:49 +0530)]
LU-6142 ofd: Fix style issues for ofd_obd.c

This patch fixes issues reported by checkpatch for file
lustre/ofd/ofd_obd.c

Change-Id: Iebe9ea44c1b3ca85e4eff1538af04daa3813e143
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.super@gmail.com>
Reviewed-on: https://review.whamcloud.com/33567
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <jhammond@whamcloud.com>
5 years agoLU-6142 lov: Fix style issues for lov_page.c 41/33541/2
Arshad Hussain [Sun, 21 Oct 2018 20:24:01 +0000 (01:54 +0530)]
LU-6142 lov: Fix style issues for lov_page.c

This patch fixes issues reported by checkpatch for file
lustre/lov/lov_page.c

Change-Id: I718e8080c8555be229823610fccc963f58a3aa93
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.super@gmail.com>
Reviewed-on: https://review.whamcloud.com/33541
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <jhammond@whamcloud.com>
5 years agoLU-6142 lov: Fix style issues for lov_lock.c 38/33538/2
Arshad Hussain [Sun, 21 Oct 2018 19:14:58 +0000 (00:44 +0530)]
LU-6142 lov: Fix style issues for lov_lock.c

This patch fixes issues reported by checkpatch for file
lustre/lov/lov_lock.c

Change-Id: I6285406d113b70ba878d7513469d40ba65f5bdad
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.super@gmail.com>
Reviewed-on: https://review.whamcloud.com/33538
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Ben Evans <bevans@cray.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <jhammond@whamcloud.com>
5 years agoLU-6142 lov: Fix style issues for lov_io.c 36/33536/2
Arshad Hussain [Sun, 21 Oct 2018 19:01:46 +0000 (00:31 +0530)]
LU-6142 lov: Fix style issues for lov_io.c

This patch fixes issues reported by checkpatch for file
lustre/lov/lov_io.c

Change-Id: Id7c96c9af1c85836b124961b24001b1620db7325
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.super@gmail.com>
Reviewed-on: https://review.whamcloud.com/33536
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <jhammond@whamcloud.com>
5 years agoLU-6142 obdclass: Fix style issues for idmap.c 33/33533/2
Arshad Hussain [Sun, 21 Oct 2018 14:57:23 +0000 (20:27 +0530)]
LU-6142 obdclass: Fix style issues for idmap.c

This patch fixes issues reported by checkpatch for file
lustre/obdclass/idmap.c

Change-Id: I237327727d2338207e65cbcef458a5f45af88beb
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.super@gmail.com>
Reviewed-on: https://review.whamcloud.com/33533
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <jhammond@whamcloud.com>
5 years agoLU-6142 obdclass: Fix style issues for llog_swab.c 02/33502/3
Arshad Hussain [Sun, 21 Oct 2018 03:54:20 +0000 (09:24 +0530)]
LU-6142 obdclass: Fix style issues for llog_swab.c

This patch fixes issues reported by checkpatch for file
lustre/obdclass/llog_swab.c

Change-Id: Id7f12c7901213b2cbc4d64ed967c6942bcfcb767
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.super@gmail.com>
Reviewed-on: https://review.whamcloud.com/33502
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Ben Evans <bevans@cray.com>
Reviewed-by: John L. Hammond <jhammond@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-6142 obdclass: Fix style issues for lprocfs_status.c 00/33500/3
Arshad Hussain [Sun, 21 Oct 2018 02:47:43 +0000 (08:17 +0530)]
LU-6142 obdclass: Fix style issues for lprocfs_status.c

This patch fixes issues reported by checkpatch for file
lustre/obdclass/lprocfs_status.c

Change-Id: I45ab1c3f88182ea65da8644016593cbbf5ddd378
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.super@gmail.com>
Reviewed-on: https://review.whamcloud.com/33500
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <jhammond@whamcloud.com>
5 years agoLU-11130 osd-ldiskfs: create non-empty local agent symlinks 97/32797/9
Alexander Zarochentsev [Sat, 7 Jul 2018 21:21:36 +0000 (00:21 +0300)]
LU-11130 osd-ldiskfs: create non-empty local agent symlinks

e2fsck doesn't like zero-sized symlink inodes created by
osd_create_local_agent_inode().  Store the FID of the remote
inode as the symlink target so that it is possible to debug
where this symlink comes from in case there is some problem
in the future.

It would be better to just migrate the whole symlink instead
of creating a remote symlink, in the very common case where
there is not a hard link to the symlink (which POSIX allows,
but is extremely uncommon).  For the short term, we store
keep the remote symlinks to ensure on-disk consistency with
this simple patch, until the migration code can be fixed.

Cray-bug-id: LUS-6189
Change-Id: Ida43616c51b6903f0a51aeec05a9a2dd189efe31
Signed-off-by: Alexander Zarochentsev <c17826@cray.com>
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/32797
Tested-by: Jenkins
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
5 years agoLU-10406 mdt: invalidate cache upon LDLM lock 94/31194/33
Alex Zhuravlev [Wed, 7 Feb 2018 08:51:54 +0000 (11:51 +0300)]
LU-10406 mdt: invalidate cache upon LDLM lock

given new components (like LFSCK) can access storage w/o LDLM
locking, it's possible to find cache stale. so MDT should
invalidate local cache explicitly once LDLM lock is granted.

also, OSP should invdalite any state requested before invalidation
request as LDLM lock and request can be handled in different
order on the target and source MDTs. for example, get_attr was
sent first, the target MDT serviced it first, but the reply got
delayed for a reason. in the meantime LDLM lock was requested,
granted and received by the source MDT before reply for get_attr.
IOW, we get a state with old (potentially stale) state and LDLM
lock granted.

Change-Id: I7b96465d98960617c96a45accfb30dbfbd0e1576
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: https://review.whamcloud.com/31194
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11525 kernel: new kernel [RHEL7.6 3.10.0-957.el7] 28/33528/11
Jian Yu [Thu, 8 Nov 2018 07:31:31 +0000 (23:31 -0800)]
LU-11525 kernel: new kernel [RHEL7.6 3.10.0-957.el7]

This patch makes changes to support new RHEL 7.6 release.

Test-Parameters: clientdistro=el7.6 ossdistro=el7.6 mdsdistro=el7.6

Change-Id: I7b7e46c9f04a64b32e815fce5193e32016809187
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/33528
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Li Dongyang <dongyangli@ddn.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11611 mdt: incorrect return value in mdt_reint_unlink 77/33577/2
Lai Siyao [Sat, 20 Oct 2018 04:33:03 +0000 (12:33 +0800)]
LU-11611 mdt: incorrect return value in mdt_reint_unlink

An incorrect return value may be set in mdt_reint_unlink().

Signed-off-by: Lai Siyao <lai.siyao@whamcloud.com>
Change-Id: I6a15c4058c6265d6e014c4afa3caa54aa6e517a4
Reviewed-on: https://review.whamcloud.com/33577
Tested-by: Jenkins
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
5 years agoLU-11561 ofd: return attr syncjournal to sync_journal 82/33582/4
James Nunez [Mon, 5 Nov 2018 19:07:43 +0000 (12:07 -0700)]
LU-11561 ofd: return attr syncjournal to sync_journal

The move of the ofd module from using proc to sysfs
changed sync_journal to syncjournal. We want to return
to using sync_journal to allow for interoperability
between old and new versions of Lustre and Lustre tests.

Test-Parameters: trivial testlist=replay-single

Signed-off-by: James Nunez <jnunez@whamcloud.com>
Change-Id: I6c9c61d64110bd7f3274aba0c831d5f6df0ab1f3
Reviewed-on: https://review.whamcloud.com/33582
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Sonia Sharma <sharmaso@whamcloud.com>
5 years agoLU-11570 lnet: update changelog 78/33578/3
Amir Shehata [Mon, 5 Nov 2018 15:58:40 +0000 (07:58 -0800)]
LU-11570 lnet: update changelog

Updated changelog to indicate OFED/MOFED support, socklnd support as
well as new features added in this version of LNet.

Test-Parameters: trivial
Signed-off-by: Amir Shehata <ashehata@whamcloud.com>
Change-Id: I26f0b0db699aefeaca55e7661c6b8c197f85c4ec
Reviewed-on: https://review.whamcloud.com/33578
Tested-by: Jenkins
Reviewed-by: Sonia Sharma <sharmaso@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
5 years agoLU-9538 utils: update description of ldiskfs xattrs 65/33565/2
Andreas Dilger [Sat, 3 Nov 2018 04:22:56 +0000 (22:22 -0600)]
LU-9538 utils: update description of ldiskfs xattrs

Update the description of the ldiskfs xattrs on the MDT
to account for the "som" xattr added for lazy size-on-MDT.

Add a description of the xattrs on the OST.

Test-Parameters: trivial
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: Iffd49d224b0247c0a1c719994a1355d5793ebbe5
Reviewed-on: https://review.whamcloud.com/33565
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11599 ldlm: printing negative time on logs for recovery 54/33554/2
Qian Yingjin [Fri, 2 Nov 2018 08:39:37 +0000 (16:39 +0800)]
LU-11599 ldlm: printing negative time on logs for recovery

At Lustre recovery, it prints a negative time which is wrong.
"Denying connection for new client ..., waiting for 33 known
clients (32 recovered, 0 in progress, and 0 evicted) to recover
in -1:-11"
This patch adds a judgement whether the recovery deadline has
already passed.

Signed-off-by: Qian Yingjin <qian@ddn.com>
Change-Id: Id832d8dbad694d241cc08156179afedf86c8aac2
Reviewed-on: https://review.whamcloud.com/33554
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
5 years agoLU-11445 obd: remove portals handle from OBD import 50/33250/4
John L. Hammond [Fri, 28 Sep 2018 15:56:29 +0000 (10:56 -0500)]
LU-11445 obd: remove portals handle from OBD import

OBD imports are never looked up using the portals handle (imp_handle)
they contain, so remove it. Also remove the unused functions
class_conn2obd() and class_conn2cliimp().

Signed-off-by: John L. Hammond <jhammond@whamcloud.com>
Change-Id: Ib05f91f6dabbd4249769560d443ba69819fc1157
Reviewed-on: https://review.whamcloud.com/33250
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Mike Pershin <mpershin@whamcloud.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11380 mdc: move empty xattr handling to mdc layer 98/33198/4
John L. Hammond [Mon, 17 Sep 2018 21:42:28 +0000 (16:42 -0500)]
LU-11380 mdc: move empty xattr handling to mdc layer

Extract duplicated logic around empty xattr handling from several
places in llite and consolidate it in mdc_getxattr().

Signed-off-by: John L. Hammond <jhammond@whamcloud.com>
Change-Id: I55b9653375a3cf2e6d9d3903743f2aa50ca2e322
Reviewed-on: https://review.whamcloud.com/33198
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Mike Pershin <mpershin@whamcloud.com>
Reviewed-by: Emoly Liu <emoly@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-6142 quota: Fix style issues for qsd_lock.c 64/33564/2
Arshad Hussain [Thu, 1 Nov 2018 13:42:33 +0000 (19:12 +0530)]
LU-6142 quota: Fix style issues for qsd_lock.c

This patch fixes issues reported by checkpatch for file
lustre/quota/qsd_lock.c

Change-Id: If6bd59204b05741878436d46de06aec0728d91f2
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.super@gmail.com>
Reviewed-on: https://review.whamcloud.com/33564
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Ben Evans <bevans@cray.com>
Reviewed-by: John L. Hammond <jhammond@whamcloud.com>
5 years agoLU-6142 lov: Fix style issues for lov_ea.c 35/33535/3
Arshad Hussain [Sun, 21 Oct 2018 18:16:30 +0000 (23:46 +0530)]
LU-6142 lov: Fix style issues for lov_ea.c

This patch fixes issues reported by checkpatch for file
lustre/lov/lov_ea.c

Change-Id: Iaaba150663e980d1d9d8f06b8c41731b90b84c77
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.super@gmail.com>
Reviewed-on: https://review.whamcloud.com/33535
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Ben Evans <bevans@cray.com>
Reviewed-by: John L. Hammond <jhammond@whamcloud.com>
5 years agoLU-11468 lnet: set recovery interval from lnetctl 98/33498/4
Amir Shehata [Fri, 26 Oct 2018 18:18:10 +0000 (11:18 -0700)]
LU-11468 lnet: set recovery interval from lnetctl

Configure lnet_recovery_interval from lnetctl

Test-Parameters: trivial
Signed-off-by: Amir Shehata <ashehata@whamcloud.com>
Change-Id: I75e3e40ea1eb87bcd6599caa4707f53cc33abea4
Reviewed-on: https://review.whamcloud.com/33498
Tested-by: Jenkins
Reviewed-by: Doug Oucharek <dougso@me.com>
Reviewed-by: Sonia Sharma <sharmaso@whamcloud.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11508 mdt: reject DoM file migration 94/33394/7
Lai Siyao [Tue, 16 Oct 2018 21:57:30 +0000 (05:57 +0800)]
LU-11508 mdt: reject DoM file migration

Now that DoM file migration between MDTs is not suppoted, reject
it to avoid data loss.

Add sanity.sh 230j.

Signed-off-by: Lai Siyao <lai.siyao@whamcloud.com>
Signed-off-by: Peter Jones <pjones@whamcloud.com>
Change-Id: I029446918692f911c29d2409e1398e1b147737c3
Reviewed-on: https://review.whamcloud.com/33394
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Mike Pershin <mpershin@whamcloud.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoRevert "LU-8130 ptlrpc: convert conn_hash to rhashtable" 95/33595/5
Andreas Dilger [Tue, 6 Nov 2018 17:53:02 +0000 (17:53 +0000)]
Revert "LU-8130 ptlrpc: convert conn_hash to rhashtable"

This reverts commit 7b3f9e5d6c509fabcec3cbd71e541a84987db2ff
due to crashes being seen on the MDS during client mount,
as described in LU-11624.

Change-Id: I3b39363ad1e41dee60f31466aa23d555ebe5135d
Reviewed-on: https://review.whamcloud.com/33595
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Shuichi Ihara <sihara@ddn.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Patrick Farrell <paf@cray.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoRevert "LU-6142 obdclass: Fix style issues for obd_mount.c" 15/33615/3
John L. Hammond [Wed, 7 Nov 2018 18:45:13 +0000 (12:45 -0600)]
Revert "LU-6142 obdclass: Fix style issues for obd_mount.c"

This reverts commit cbcfb4f7ff81ce1887cb57c674b8e9d5da498dcf.

Test-Parameters: trivial
Test Parameters: ostfilesystemtype=ldiskfs mdtfilesystemtype=ldiskfs clientcount=2 mdscount=2 mdtcount=2 osscount=1 ostcount=8 testlist=ost-pools
Test-Parameters: ostfilesystemtype=zfs mdtfilesystemtype=zfs clientcount=2 mdscount=2 mdtcount=2 osscount=1 ostcount=8 testlist=ost-pools

Signed-off-by: John L. Hammond <jhammond@whamcloud.com>
Change-Id: Ib05e1ebe22b7460c39ac0da0d9ab3ab5372c64ec
Reviewed-on: https://review.whamcloud.com/33615
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Andreas Dilger <adilger@whamcloud.com>
5 years agoLU-11553 build: add download 7.5alternate for MOFED 27/33527/6
Minh Diep [Wed, 31 Oct 2018 18:49:38 +0000 (11:49 -0700)]
LU-11553 build: add download 7.5alternate for MOFED

Mellanox download file name for aarch64 need to use
rhel7.5alternate as distro

Rename target file to be more precise which minor version
we are using

Change-Id: I02a31afa2a7803b3e78d975829a36a97eb64f021
Signed-off-by: Minh Diep <mdiep@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/33527
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Nathaniel Clark <nclark@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-10472 osd-ldiskfs: T10PI between RPC and BIO 66/32266/15
Li Xi [Sun, 8 Apr 2018 12:21:13 +0000 (08:21 -0400)]
LU-10472 osd-ldiskfs: T10PI between RPC and BIO

When OST recieves bulk write RPC, the T10PI guard tag will be
generated during the process of calculating RPC checksum with
T10PI type. Guard tags of each sector will be copied to the
BIO integrity payload to avoid recalculating of guard tags.

When OST reads data from disk, the T10PI guard tags will be
copied from BIO integrity payload. These guard tags will be
reused for calculation the RPC checksum with T10PI type, thus
no recalcuating of guard tags is needed either.

However, if the data that the client is reading is cached
in memory, the guard tags need to be calculated based on the
cached data, since there is no place to plug the guard tags
to the page cache on OSS.

Some modification to Linux kernel is needed:

1) We can pass “struct bio *” and  to the integrity
generate/verify methods, and struct blk_integrity_exchg
has bi_idx which is the current bio_vec index.

2) bio_integrity_prep accepts optional pointers to integrity
generation/verification methods. The optional methods take
priority over the ones registered by the device.

These two modification enable Lustre (and other file systems) to
integrate with BIO for integrity verification/generation. Any private
data need during data integrity generation/verification process can
be attached to bio->bi_private. Instead of calculating guard tags,
Lustre generation method will copy the guard tags from existing
buffer. And instead of (or besides of) data integrity verification,
Lustre verification method will copy the guard tags to internal
buffer for further usage.

Besides of these changes, two Linux kernel patches are applied:

1) The first problem is that bio_integrity_verify() doesn't verify
the data integrity at all. In that function, after reading the data,
bio->bi_idx will be equal to bio->bi_vcnt because of bio_advance(),
so bio_for_each_segment_all() should be used, not
bio_for_each_segment(). And also, bio_advance() should not change
the integrity data bio_integrity_advance() unless the BIO is being
trimmed.
Linux-commit: 63573e359d052e506d305c263576499f06355985

2) The second patch fixes a problem of the sd_dif_complete(). When
sector offset is larger then 2^32, the mapping from physical
reference tag to the virtual values expected by block layer will be
wrong.
Linux-commit: c611529e7cd3465ec0eada0f44200e8420c38908

Signed-off-by: Li Xi <lixi@ddn.com>
Signed-off-by: Li Dongyang <dongyangli@ddn.com>
Change-Id: Ia6c1d586284b0d9884116e1a753fd88e066366fe
Reviewed-on: https://review.whamcloud.com/32266
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Peter Jones <pjones@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11430 tests: get MDC stats by index 90/33490/4
Mikhail Pershin [Fri, 26 Oct 2018 09:07:04 +0000 (12:07 +0300)]
LU-11430 tests: get MDC stats by index

Fix test groups 270 and 271 in sanity.sh and
100 in sanityn.sh to get MDC stats using particular
MDC index to prevent multiline output before 'awk'.
In some cases use just 'grep -c' for simpler checks.

Signed-off-by: Mikhail Pershin <mpershin@whamcloud.com>
Change-Id: I6bd36192ab800418e3ddb745e128b5ea4d5e20c4
Reviewed-on: https://review.whamcloud.com/33490
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11563 build: Only add l_tunedisk udev rule to server 66/33466/3
Nathaniel Clark [Wed, 24 Oct 2018 19:49:39 +0000 (15:49 -0400)]
LU-11563 build: Only add l_tunedisk udev rule to server

Split LU-9551 patch off into server only udev rules.
It just spits errors on the client since l_tunedisk is a server-side
only tool.

Test-Parameters: trivial
Signed-off-by: Nathaniel Clark <nclark@whamcloud.com>
Change-Id: Iee426588bcce611dc913cf89a4bcb733c364482b
Reviewed-on: https://review.whamcloud.com/33466
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <jhammond@whamcloud.com>
Reviewed-by: Jay J Lan <jay.j.lan@nasa.gov>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-10695 tests: fix sanity-lfsck test_23c 07/33407/7
Andreas Dilger [Fri, 19 Oct 2018 23:13:05 +0000 (17:13 -0600)]
LU-10695 tests: fix sanity-lfsck test_23c

sanity-lfsck test_23c fails intermittently with "(8) unexpected size"
while introducing the required corruption to the filesystem to run
the test.

It appears that in these cases, LFSCK has actually fixed the file
before it can be "further corrupted" as part of the test.  In
this case, the test failure is actually a sign that LFSCK is working
correctly, so it should not be considered a test failure.

Add a check that the file was repaired correctly (contains original
data) and consider the test a pass.

Test-Parameters: trivial testlist=sanity-lfsck,sanity-lfsck,sanity-lfsck mdtfilesystemtype=zfs ostfilesystemtype=zfs
Test-Parameters: testlist=sanity-lfsck,sanity-lfsck,sanity-lfsck mdtfilesystemtype=zfs ostfilesystemtype=zfs
Test-Parameters: testlist=sanity-lfsck,sanity-lfsck,sanity-lfsck mdtfilesystemtype=zfs ostfilesystemtype=zfs
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I9d92cd8e471426cc544293e1149ad556a33ebbe5
Reviewed-on: https://review.whamcloud.com/33407
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Hongchao Zhang <hongchao@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11514 lnet: separate ni state from recovery 61/33361/3
Amir Shehata [Fri, 12 Oct 2018 18:30:34 +0000 (11:30 -0700)]
LU-11514 lnet: separate ni state from recovery

To make the code more readable we make the ni_state an
enumerated type, and create a separate bit filed to track
the recovery state. Both of these are protected by the
lnet_ni_lock()

Signed-off-by: Amir Shehata <ashehata@whamcloud.com>
Change-Id: I5acfccecffd5dbb07c9ad3b1c7651cf291b85cb8
Reviewed-on: https://review.whamcloud.com/33361
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Sonia Sharma <sharmaso@whamcloud.com>
Reviewed-by: Doug Oucharek <dougso@me.com>
Reviewed-by: Olaf Weber <olaf.weber@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11469 lnet: fix "debug recovery" output 10/33310/8
Amir Shehata [Thu, 4 Oct 2018 00:17:03 +0000 (17:17 -0700)]
LU-11469 lnet: fix "debug recovery" output

Don't print out anything from

lnetctl debug recovery [--local|--peer]

if there are no NIs on the recovery queues.

Test-Parameters: trivial
Signed-off-by: Amir Shehata <ashehata@whamcloud.com>
Change-Id: Icf4d5e2f1e3eefafce81dcc73525a4dd9a36d009
Reviewed-on: https://review.whamcloud.com/33310
Reviewed-by: Doug Oucharek <dougso@me.com>
Reviewed-by: Sonia Sharma <sharmaso@whamcloud.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Olaf Weber <olaf.weber@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-11423 osc: Do not walk full extent list 27/33227/4
Patrick Farrell [Tue, 25 Sep 2018 15:19:27 +0000 (10:19 -0500)]
LU-11423 osc: Do not walk full extent list

It is only possible to merge with the extent immediately
before or immediately after the one we are trying to add,
so do not continue to walk the extent list after passing
that extent.

This has a significant impact when writing large sparse
files, where most writes create a new extent, and many
extents are too distant to be merged with their neighbors.

Writing 2 GiB of data randomly 4K at a time, we see an
improvement of about 15% with this patch.

mpirun -n 1 $IOR -w -t 4K -b 2G -o ./file -z
w/o patch:
write         285.86 MiB/s
w/patch:
write         324.03 MiB/s

Cray-bug-id: LUS-6523
Signed-off-by: Patrick Farrell <paf@cray.com>
Change-Id: I3da224762638aa71714cfc6dd1f0abac42e1f358
Reviewed-on: https://review.whamcloud.com/33227
Reviewed-by: Jinshan Xiong <jinshan.xiong@gmail.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-8066 llite: Move all remaining procfs entries to debugfs 17/32517/6
James Simmons [Sat, 13 Oct 2018 19:24:46 +0000 (15:24 -0400)]
LU-8066 llite: Move all remaining procfs entries to debugfs

This moves all remaining procfs handling in llite layer to debugfs.

This is a modified version of

Linux-commit : ae7c0f4833a65b7648cceaf1a60503a89e057f0f

Change-Id: Id5c411d21a660a17a015ca9976b857e6b088c28a
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: https://review.whamcloud.com/32517
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Ben Evans <bevans@cray.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
5 years agoLU-6142 lov: Fix style issues for lovsub_object.c 44/33544/2
Arshad Hussain [Sun, 21 Oct 2018 21:14:26 +0000 (02:44 +0530)]
LU-6142 lov: Fix style issues for lovsub_object.c

This patch fixes issues reported by checkpatch for file
lustre/lov/lovsub_object.c

Change-Id: Ia35e926c780787f168fb62a95ed79fa1a35ac6c0
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.super@gmail.com>
Reviewed-on: https://review.whamcloud.com/33544
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Ben Evans <bevans@cray.com>
5 years agoLU-6142 lov: Fix style issues for lovsub_dev.c 43/33543/2
Arshad Hussain [Sun, 21 Oct 2018 20:53:21 +0000 (02:23 +0530)]
LU-6142 lov: Fix style issues for lovsub_dev.c

This patch fixes issues reported by checkpatch for file
lustre/lov/lovsub_dev.c

Change-Id: Ideacff81ab326602f9889ef48be123851950ae8e
Test-Parameters: trivial
Signed-off-by: Arshad Hussain <arshad.super@gmail.com>
Reviewed-on: https://review.whamcloud.com/33543
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Ben Evans <bevans@cray.com>