Whamcloud - gitweb
fs/lustre-release.git
7 years agoLU-8636 build: prevent src download at the same time 39/22939/7
Minh Diep [Tue, 4 Oct 2016 22:11:36 +0000 (15:11 -0700)]
LU-8636 build: prevent src download at the same time

If the lbuild kernelsrc/kernelrpm directory is shared
among the builders, we need to keep them from using
it while it's being downloaded

Test-Parameters: trivial

Change-Id: I240996c84ea541f5985b8d6ec73e3c6a56d2d805
Signed-off-by: Minh Diep <minh.diep@intel.com>
Reviewed-on: http://review.whamcloud.com/22939
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8660 mgs: handle return code of server_make_name() 67/22867/3
James Simmons [Tue, 4 Oct 2016 13:44:45 +0000 (09:44 -0400)]
LU-8660 mgs: handle return code of server_make_name()

Make sure server_make_name() actually succeeded when
called in mkfs_lustre utility and mgs_set_index().

Change-Id: I218351f0f3dd98e1b928664f872c1702a419a7cc
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/22867
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7501 utils: keep lfs arguments consistent 81/22581/7
Yang Sheng [Sun, 18 Sep 2016 11:33:17 +0000 (19:33 +0800)]
LU-7501 utils: keep lfs arguments consistent

lfs getstripe use -m and deprecate -M to match lfs setstripe

lfs setstripe use --ost to match lfs find and deprecate --ost-list

lfs find add --mdt-index to match lfs setstripe

lfs getstripe and migrate add --mdt to match lfs find

lfs setdirstripe add --mdt-count|-c, --mdt-index|-m, --mdt-hash as
    aliases for the existing --count|-c and --index|-i and
    --hash-type|-t options

Signed-off-by: Yang Sheng <yang.sheng@intel.com>
Change-Id: I8983b7438e7046657a087e97d9fbc467242c9dd8
Reviewed-on: http://review.whamcloud.com/22581
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8239 utils: llanalyze drops useful logs 41/20641/6
Artem Blagodarenko [Mon, 6 Jun 2016 14:55:42 +0000 (17:55 +0300)]
LU-8239 utils: llanalyze drops useful logs

llanalyze should not execute entering_rpc and
leaving_rpc if no rpctrace option set, otherwise wrong
pid is set and usefull logs are skipped.

This patch executes entering_rpc and leaving_rpc
only if rpctrace is set.

Test-Parameters: trivial
Signed-off-by: Artem Blagodarenko <artem.blagodarenko@seagate.com>
Change-Id: I4676b0ca80f8ed314716e9368558489b64825ffa
Reviewed-on: http://review.whamcloud.com/20641
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
7 years agoLU-8239 utils: llanalyze logs parser fix 32/20632/9
Artem Blagodarenko [Mon, 6 Jun 2016 11:19:31 +0000 (14:19 +0300)]
LU-8239 utils: llanalyze logs parser fix

llanalyze looks to be broken:
- thread PID parsed not correctly;
- competition and blocking upcalls start and finish message is parsed
wrong way.

This patch fixes problems with logs parsing.

Test-Parameters: trivial
Signed-off-by: Artem Blagodarenko <artem.blagodarenko@seagate.com>
Change-Id: I412120a2c7e877ba5374178a6a246984e2dcca08
Reviewed-on: http://review.whamcloud.com/20632
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
7 years agoLU-8289 utils: add ll_decode_linkea tool 44/20444/15
Li Xi [Thu, 6 Oct 2016 23:13:47 +0000 (19:13 -0400)]
LU-8289 utils: add ll_decode_linkea tool

A MDT recovered by fsck might contain some files under lost+found
directory of ldiskfs. And in order to get the right path to move
them to, the xattr of trusted.link could be used to extract the
parent FIDs.

This path adds an new tool ll_decode_linkea to dump the parent FIDs
of a file.

Test-Parameters: trivial
Signed-off-by: Li Xi <lixi@ddn.com>
Signed-off-by: Qian Yingjin <qian@ddn.com>
Change-Id: I1da6ea78ab2f9e2db8fbdfdcfb8690c57e9eb2b0
Reviewed-on: http://review.whamcloud.com/20444
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-6635 lfsck: block replacing the OST-object for test 46/18146/4
Fan Yong [Fri, 17 Jun 2016 03:20:39 +0000 (11:20 +0800)]
LU-6635 lfsck: block replacing the OST-object for test

For sanity-lfsck test_18e, sometimes, before the client wirte
happened, the layout LFSCK has already gone into the phase2
and replaced the new created OST-object with the old orphan
OST-object, then cause the subsequent check failure.

To resolve such trouble, we will hold the layout LFSCK when
replacing the new created OST-object until the client write
happened.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Ia5be2cd2ea920fa02bb281ca5c59d8d252f3fd7b
Reviewed-on: http://review.whamcloud.com/18146
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>
7 years agoLU-8645 ptlrpc: update imp_known_replied_xid on resend-replay 76/22776/3
Niu Yawei [Wed, 28 Sep 2016 02:40:33 +0000 (22:40 -0400)]
LU-8645 ptlrpc: update imp_known_replied_xid on resend-replay

The imp_known_replied_xid should be updated when try to resend
an already replied replay request, because the xid of this replay
request could be less than current imp_known_replied_xid.

Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: Iaafcb187efb24cc88dc96b30a63083fac83a9078
Reviewed-on: http://review.whamcloud.com/22776
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Tested-by: Jenkins
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8569 lfsck: cleanup lfsck requests list before exit 23/22723/5
Fan Yong [Sat, 16 Jul 2016 21:42:03 +0000 (05:42 +0800)]
LU-8569 lfsck: cleanup lfsck requests list before exit

When the lfsck assistant thread hits some failure and exit
at the second stage scanning, it does not cleanup the requests
list 'lfsck_assistant_data::lad_req_list', that may cause the
lfsck main engine hit "LASSERT(list_empty(&lad->lad_req_list))"
when handles double scan.

This patch unifies the assistant thread exit process: before
cleanup the list 'lfsck_assistant_data::lad_req_list' set the
thread as "stopping" to prevent more lfsck requests being added,
then cleanup the list 'lfsck_assistant_data::lad_req_list'.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I7facd20e2742c7ad5d4fbee1c975dacd8f6ea363
Reviewed-on: http://review.whamcloud.com/22723
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@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>
7 years agoLU-3289 ssk: fix SK_IV_REV_START on 32-bit systems 89/23089/3
Andreas Dilger [Tue, 11 Oct 2016 17:43:07 +0000 (11:43 -0600)]
LU-3289 ssk: fix SK_IV_REV_START on 32-bit systems

Use a 64-bit constant for SK_IV_REV_START so that it doesn't
overflow on 32-bit systems.

Test-Parameters: trivial testlist=sanity-sec
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: Ie790f7ea438847b18e7b83689e3816ceffe2ddd7
Reviewed-on: http://review.whamcloud.com/23089
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-3289 gss: Fix issues with SK privacy and integrity mode 22/21922/8
Jeremy Filizetti [Tue, 9 Aug 2016 23:19:43 +0000 (19:19 -0400)]
LU-3289 gss: Fix issues with SK privacy and integrity mode

This patch has several fixes for skpi:

1. The original SK patches failed to account for out of order
handling of RPCs and bulk pages during encryption.  As a result
clients would be out of sync with the IV used for decryption.
This patches moves the encryption to a format similar to RFC3686
to handle these RPCs and bulk pages.

2. A header was added to the SK mode RPCs to allow versioning and
send the unencrypted IV used for an RPC.  The versioning will allow
for future protocol changes.

3. Several changes to fix or impove security of the implementation
based on a security review from Matthew Wood at Intel:
- Derive a unique key for integrity modes instead of using the
  shared secret key (ska, ski, and skpi modes).  This helps prevent
  replays.
- Use PBKDF2 instead of HMAC to derive keys for integrity and
  encryption.
- Have the server side pass a random value (like the client) and
  incorporate this value into the key binding information.

Signed-off-by: Jeremy Filizetti <jeremy.filizetti@gmail.com>
Change-Id: I247187ecbd8cb23c602cec6a92eca938f135e564
Reviewed-on: http://review.whamcloud.com/21922
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8429 gnilnd: Option to not reconnect after conn timeout 59/21459/4
Chuck Fossen [Fri, 15 Apr 2016 13:42:27 +0000 (13:42 +0000)]
LU-8429 gnilnd: Option to not reconnect after conn timeout

When routers time out a client connection during a catastrophic
network disturbance like a cabinet EPO, there still may be
traffic from the file system that is using the router for the
return path to the client. This will cause a new connection to try
to be formed before the network has quiesced causing multiple failed
connection attempts which need to be put in purgatory since they could
possibly connect in the future. This can cause the gart space to be
consumed with registrations.

To avoid this, add a module parameter to_reconn_disable which when set
will change the state of the peer that has timed out to PEER_TIMED_OUT
which will act just like PEER_DOWN so that no traffic will be
attempted to a peer in this state.

When the network recovers, the client will form a new connection and
the state will change back to PEER_UP.

Changed gnp_down to gnp_state and GNILND_RCA_NODE_* to GNILND_PEER_*.

To add this option to routers, update /etc/modprobe.conf.local with:
options kgnilnd to_reconn_disable=1

To dynamically add this parameter to a booted node:
echo 1 > /sys/module/kgnilnd/parameters/to_reconn_disable

Tested functionality with both timing out a connection and bringing
down nodes to check the proper states are entered.

Test-Parameters: trivial
Signed-off-by: Chris Horn <hornc@cray.com>
Change-Id: I19cebab401208133d94e29c603eb340f77354684
Reviewed-on: http://review.whamcloud.com/21459
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Chuck Fossen <chuckf@cray.com>
Reviewed-by: James Shimek <jshimek@cray.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-6387 tests: fix lp_utils build issues on Power8 41/22941/2
James Simmons [Tue, 4 Oct 2016 23:07:42 +0000 (19:07 -0400)]
LU-6387 tests: fix lp_utils build issues on Power8

With the latest RHEL7 image for power8 some compile
issues have surfaced. Currently the issue is with
begin() and end() inline functions for the lp_util
code. The solution appears to not make the functions
inline.

Change-Id: I8f11ed488890407c117f13ebc741d7140702c647
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/22941
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8575 lod: clear ost usable flag to avoid striping. 67/22367/3
Jadhav Vikram [Fri, 5 Feb 2016 04:07:07 +0000 (09:37 +0530)]
LU-8575 lod: clear ost usable flag to avoid striping.

clear ost->ltd_qos.ltq_usable before checking
OBD_FAIL_MDS_OSC_PRECREATE param and some other flags in
lod_alloc_qos() while finding all ost's which are valid stripe
candidates. Call to lod_alloc_qos before setting this flag/param
sets ost->ltd_qos.ltq_usable to 1 for all valid ost but after
setting this flag/param ost->ltd_qos.ltq_usable not getting
cleared so there is need to clear it so that it will not get added
into stripe array.

Also in test_27u corrects problem where log file gets created in
lustre mount directory instead of /tmp. This make sures TLOG file
will not get created on ost0.

Seagate-bug-id: MRP-2847

Signed-off-by: Jadhav Vikram <jadhav.vikram@seagate.com>
Change-Id: I6dd16c44b331b09a0ffee530b3eb8508bde64294
Reviewed-on: http://es-gerrit.xyus.xyratex.com:8080/9757
Tested-by: Jenkins
Reviewed-by: Ujjwal Lanjewar <ujjwal.lanjewar@seagate.com>
Reviewed-by: Vladimir Saveliev <vladimir.saveliev@seagate.com>
Tested-by: Elena V. Gryaznova <elena.gryaznova@seagate.com>
Reviewed-on: http://review.whamcloud.com/22367
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7903 ptlrpc: leaked rs on difficult reply 96/22696/4
Niu Yawei [Fri, 23 Sep 2016 04:06:25 +0000 (00:06 -0400)]
LU-7903 ptlrpc: leaked rs on difficult reply

reply_out_callback() should call ptlrpc_schedule_difficult_reply()
to finalize the rs if it's already not on uncommitted list, otherwise,
the rs and the export held by rs could be leaked:

- target_send_reply() sends a difficult reply before the transaction
  committed, the reply is linked to scp_rep_active;

- export gets disconnected by umount or whatever reason,
  server_disconnect_export() is called to complete all outstanding
  replies, which will calls into ptlrpc_handle_rs() to dispose of
  the rs, so the rs is removed from the uncommitted list and
  LNetMDUnlink() is called to unlink the reply buffer and generate
  an unlink event;

- reply_out_callback() is called to process above unlink event,
  ptlrpc_schedule_difficult_reply() is supposed to be called to
  dispose of the rs finally. However, it could be skipped because of
  following flawed code snippet:

  if (!rs->rs_no_ack ||
      rs->rs_transno <= rs->rs_export->exp_obd->obd_last_committed)
          ptlrpc_schedule_difficult_reply(rs);

  The intention of above code is: if rs_no_ack is true (COS enabled),
  and transaction is not committed, we should rely on commit callback
  to release the rs. However, it overlooked the situation that rs
  could have been removed from the uncommitted list by disconnecting
  export.

Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: I76d1a9e08c94340520fb731e8671b7b9205e0eb1
Reviewed-on: http://review.whamcloud.com/22696
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>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8592 mdt: hold mdt_device::mdt_md_root until service stop 38/22438/10
Fan Yong [Mon, 18 Jul 2016 04:39:47 +0000 (12:39 +0800)]
LU-8592 mdt: hold mdt_device::mdt_md_root until service stop

Otherwise, if someone is using such object, it may trigger
object reference ASSERTION(atomic_read(&o->lo_header->loh_ref) > 0).

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Ifd7adbce9a68da537f592c64117f4ecafb0a9ec4
Reviewed-on: http://review.whamcloud.com/22438
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8668 tests: print more information about dd failure 90/22990/2
Andreas Dilger [Thu, 6 Oct 2016 20:10:42 +0000 (14:10 -0600)]
LU-8668 tests: print more information about dd failure

Don't drop the dd output so that we can see why this is failing.

Test-Parameters: trivial testlist=sanityn,sanityn,sanityn,sanityn
Test-Parameters: trivial testlist=sanityn,sanityn,sanityn,sanityn
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I3364bca75817ee4d0128079744e4b01a3ac938a0
Reviewed-on: http://review.whamcloud.com/22990
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-3289 gss: Change the handling of keys for SK 26/22626/3
Jeremy Filizetti [Tue, 6 Sep 2016 01:49:33 +0000 (21:49 -0400)]
LU-3289 gss: Change the handling of keys for SK

Servers were automatically loading keys of the client type to allow
server to server communication to work by only including a path
to the --skpath option of mount.lustre.  However, this has multiple
issues due to ordering with multiple keys and can be unpredictable.
Instead keys that will be used for server to server communication
must be loaded manually or by a pre-mount script using lgss_sk
and specifiying the client type.

In addition client's should only load a single key with --skpath so
a check is added to not allow directories on the client.

Signed-off-by: Jeremy Filizetti <jeremy.filizetti@gmail.com>
Change-Id: I239753fa1a2bff19bed598e6d2a073e8567d1002
Reviewed-on: http://review.whamcloud.com/22626
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>
7 years agoLU-8658 ptlrpc: Suppress error for flock requests 56/22856/2
Patrick Farrell [Fri, 30 Sep 2016 19:12:53 +0000 (14:12 -0500)]
LU-8658 ptlrpc: Suppress error for flock requests

-EAGAIN is a normal return when requesting POSIX flocks.
We can't recognize exactly that case here, but it's the
only case that should result in -EAGAIN on LDLM_ENQUEUE, so
don't print to console in that case.

Signed-off-by: Patrick Farrell <paf@cray.com>
Change-Id: Idfbaf671023ac2c3dc84ddd62d2e547427b1f50b
Reviewed-on: http://review.whamcloud.com/22856
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8648 all: remove all Sun license and URL references 00/22800/4
James Simmons [Sat, 1 Oct 2016 01:07:22 +0000 (21:07 -0400)]
LU-8648 all: remove all Sun license and URL references

The link to the GPL license at Sun is no longer there.
Also Sun Inc is gone so lets remove all references to
it in our source code.

Test-Parameters: trivial

Change-Id: Ib47d07dcef49a1ef624d0d8a4a91b9731f486278
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/22800
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
7 years agoLU-7111 revert: b=22386 disallow wrong conf_param options 12/21112/6
Nathaniel Clark [Thu, 30 Jun 2016 19:09:47 +0000 (15:09 -0400)]
LU-7111 revert: b=22386 disallow wrong conf_param options

Don't fail mount if there are unrecognized parameters.  They may
change or be retired over time.

This reverts commit 12b6a5593a1d876ca1be91303da85a93ef6a92ca.

Change-Id: I806fd2345b854c8464632125210f84c7a029b78d
Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Reviewed-on: http://review.whamcloud.com/21112
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Parinay Kondekar <parinay.kondekar@seagate.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8226 tests: Change check_catastrophe() to check_node_health() 39/20539/5
Parinay Kondekar [Thu, 29 Sep 2016 07:20:28 +0000 (12:50 +0530)]
LU-8226 tests: Change check_catastrophe() to check_node_health()

Change check_catastrophe() to check_node_health() and take care of
following,
    - whether the remote node was running,
    - whether there was an LBUG/LASSERT

and print a proper error message in both case for particular
node.

Seagate-bug-id: MRP-3380
Change-Id: Ia42600ab6e6ee3925d3bda9ac9561149d60d8d72
Signed-off-by: Parinay Kondekar <parinay.kondekar@seagate.com>
Reviewed-on: http://review.whamcloud.com/20539
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7988 hsm: make mdt_hsm_cdt_start a static function 04/22704/5
Frank Zago [Thu, 22 Sep 2016 19:52:24 +0000 (15:52 -0400)]
LU-7988 hsm: make mdt_hsm_cdt_start a static function

It's only used in the file it's declared in.

Test-Parameters: trivial
Signed-off-by: Frank Zago <fzago@cray.com>
Change-Id: Ic0b3af0c18cfb09f2f94efbac814429f0c43cb4b
Reviewed-on: http://review.whamcloud.com/22704
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Vinayak <vinayakswami.hariharmath@seagate.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-6245 libcfs: remove cfs_fs_time handling 57/22857/4
James Simmons [Tue, 4 Oct 2016 00:52:28 +0000 (20:52 -0400)]
LU-6245 libcfs: remove cfs_fs_time handling

Only the mdd layer uses cfs_fs_time handling. We can
easily convert it to the standard linux kernel time
keeping api in the latest kernels. Besides this change
the handling of time in 64 bits to avoid the 2038
limit is introduced.

Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Change-Id: I0bac2020d078c2d91347f5a3a68e99d25ba97575
Reviewed-on: http://review.whamcloud.com/22857
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-6245 libcfs: remove last of types abstractions 32/22732/3
James Simmons [Thu, 29 Sep 2016 21:17:48 +0000 (17:17 -0400)]
LU-6245 libcfs: remove last of types abstractions

With the complete removal of the types abstraction
in the lustre kernel code we can now remove the
types.h header in libcfs.

Change-Id: I59a4dfbf546db72154d2cb461ee25517c6bd6015
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/22732
Reviewed-by: Frank Zago <fzago@cray.com>
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-4931 ofd: use thread buffer for ladvise 89/22489/4
Li Xi [Wed, 14 Sep 2016 03:16:08 +0000 (23:16 -0400)]
LU-4931 ofd: use thread buffer for ladvise

A buffer is allocated everytime when handling willread advice.
This is not efficient, so replace it by using thread buffer
instead.

Signed-off-by: Li Xi <lixi@ddn.com>
Change-Id: I34015ea0658cb116b3348f8cab67128645718cac
Reviewed-on: http://review.whamcloud.com/22489
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>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8209 ldlm: engage ELC for all ldlm enqueue req 39/21739/6
Hongchao Zhang [Wed, 20 Jul 2016 00:31:39 +0000 (08:31 +0800)]
LU-8209 ldlm: engage ELC for all ldlm enqueue req

If there is no request passed into ldlm_cli_enqueue, the enqueue
request will not engage ELC to drop unneeded locks. currently,
this kind of request is mainly related to EXTENT locks enqueue
requests (except for glimpse EXTENT lock for it has an intent).

Change-Id: Ibb34117cbec6764f643457d9b0af142393263608
Signed-off-by: Hongchao Zhang <hongchao.zhang@intel.com>
Reviewed-on: http://review.whamcloud.com/21739
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Vitaly Fertman <vitaly.fertman@seagate.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7919 mount: Buffer overflow issue while parsing mount 58/19158/21
Lokesh Nagappa Jaliminche [Thu, 22 Sep 2016 07:53:40 +0000 (13:23 +0530)]
LU-7919 mount: Buffer overflow issue while parsing mount

check is added in parse_options, parse_ldd, add_mgsnids,
parse_ldd and main function to avoid buffer overflow
while parsing mount options.

Seagate-bug-id: MRP-2384
Change-Id: I1af9db4221ccdf1fd64a9a565063e5948cd5ba16
Signed-off-by: Lokesh Nagappa Jaliminche <lokesh.jaliminche@seagate.com>
Reviewed-on: http://review.whamcloud.com/19158
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8630 build: Fix definition of KMP_MODDIR 63/22663/3
Nathaniel Clark [Wed, 21 Sep 2016 17:28:45 +0000 (13:28 -0400)]
LU-8630 build: Fix definition of KMP_MODDIR

Without KMP_MODDIR defined, it won't be correctly replaced in
dkms.mkconf, thus causing dkms install of lustre to fail

Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: Ie671ede26b6cdf28aebeb80e131ff8506b9c05df
Reviewed-on: http://review.whamcloud.com/22663
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Minh Diep <minh.diep@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8519 build: make SLES use lbuild kernel-devel 84/22484/6
Minh Diep [Tue, 13 Sep 2016 22:42:59 +0000 (15:42 -0700)]
LU-8519 build: make SLES use lbuild kernel-devel

SLES %kernel_module_package assume kernel-devel installed
in standard location /usr/src/. However, lbuild extracts
kernel-devel into its location; so we need to change
%kernel_module_package macros to use lbuild's kernel obj

Create a cleanup_rpmmacros to remove the change afterward

Test-parameters: trivial

Change-Id: I8f1d8ac50436455be23e15b0a277afb6c7def7c3
Signed-off-by: Minh Diep <minh.diep@intel.com>
Reviewed-on: http://review.whamcloud.com/22484
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-1882 llite: Adding timed wait in ll_umount_begin 61/20061/7
Rahul Deshmukh [Thu, 8 Sep 2016 19:29:57 +0000 (00:59 +0530)]
LU-1882 llite: Adding timed wait in ll_umount_begin

There exists timing race between umount and other
thread which will increment the reference count on
mnt e.g. getattr. If umount thread lose the race
then umount fails with EBUSY error. To avoid this
timed wait is added so that umount thread will wait
for user to decrement the mnt reference count.

This patch also fixes below two problems
1.the fail_loc code in conf-sanity test 45 to
OR with the OBD_FAIL_ONCE (0x80000000) to prevent
the fail_loc from looping forever.

2.fixes the fail_loc code name from
OBD_FAIL_PTLRPC_LONG_UNLINK to
OBD_FAIL_PTLRPC_LONG_REPL_UNLINK.

Signed-off-by: Rahul Deshmukh <rahul.deshmukh@seagate.com>
Signed-off-by: Lokesh Nagappa Jaliminche <lokesh.jaliminche@seagate.com>
Signed-off-by: Jian Yu <jian.yu@intel.com>
Change-Id: Icab9b560cadcb8623c8592bfc4c5a842277ad266
Seagate-bug-id: MRP-1192
Reviewed-on: http://review.whamcloud.com/20061
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>
7 years agoLU-8654 obd: access ocd_connect_flags2 only when present 37/22837/2
John L. Hammond [Fri, 30 Sep 2016 13:57:07 +0000 (08:57 -0500)]
LU-8654 obd: access ocd_connect_flags2 only when present

Before 2.7.50 clients will send a struct obd_connect_data_v1 rather
than a full struct obd_connect_data. So check for OBD_CONNECT_FLAGS2
before accessing the ocd_connect_flags2 member of struct
obd_connect_data.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: Ic1c2b54be9b3cbaec9af894f204663c74fa41213
Reviewed-on: http://review.whamcloud.com/22837
Tested-by: Jenkins
Reviewed-by: Fan Yong <fan.yong@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>
7 years agoLU-8527 osd: ot_credits must be 32bit 82/22782/3
Alex Zhuravlev [Wed, 28 Sep 2016 12:01:46 +0000 (15:01 +0300)]
LU-8527 osd: ot_credits must be 32bit

ot_credits used to calculate journal credits must be 32bit,
otherwise it can overflow by huge transactions (e.g. 1K striped dirs)

Change-Id: I53545989fd3653e72b5227281fc2ec6b2ccd309d
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/22782
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoNew tag 2.8.59 2.8.59 v2_8_59 v2_8_59_0
Oleg Drokin [Fri, 7 Oct 2016 21:38:50 +0000 (17:38 -0400)]
New tag 2.8.59

Change-Id: Id6d5c22072d86addabc6a968f1c8d986970ba81e
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-4931 doc: update ladvise man page 10/22910/3
Andreas Dilger [Mon, 3 Oct 2016 23:50:19 +0000 (17:50 -0600)]
LU-4931 doc: update ladvise man page

Add documentation for the willread and dontneed advice types.

Test-Parameters: trivial
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I624aea124322e3cd105e9b8aa7d40106a1301e56
Reviewed-on: http://review.whamcloud.com/22910
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Patrick Farrell <paf@cray.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-3289 gss: don't build SSK if libssl-1.0+ not available 06/22806/5
Andreas Dilger [Thu, 29 Sep 2016 06:34:24 +0000 (00:34 -0600)]
LU-3289 gss: don't build SSK if libssl-1.0+ not available

The SSK functionality depends on libssl 1.0 or newer to have the
proper HMAC support.  If that is not available (e.g. SLES11) then
don't try to build this feature at all.

Rename the configure check to be OPENSSL_SSK since this is used in
several places, and is more clear than HAVE_INT_OPENSSL_HMAC_FUNCS.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I3b15f819bba421539664e629a4017599e23ebbe5
Reviewed-on: http://review.whamcloud.com/22806
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Minh Diep <minh.diep@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8327 ldiskfs: release bh in make_indexed_dir 38/22738/2
Yang Sheng [Mon, 26 Sep 2016 18:25:45 +0000 (02:25 +0800)]
LU-8327 ldiskfs: release bh in make_indexed_dir

RHEL7.2 ext4 code leak to release bh in make_indexed_dir.
It was cause by upstream 6050d47adcadbb53582434d919ed7f038d936712

Signed-off-by: Yang Sheng <yang.sheng@intel.com>
Change-Id: Ie27225cfbfb2e43f1ee48799a9836f873fefacc9
Reviewed-on: http://review.whamcloud.com/22738
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8561 osd-zfs: make smatch happy 45/22245/2
Jinshan Xiong [Wed, 31 Aug 2016 04:44:50 +0000 (21:44 -0700)]
LU-8561 osd-zfs: make smatch happy

By removing the check of null pointer and call dmu_objset_disown()
directly.

Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: I3e6e684968946a923ec4b1a59ea881145f3bdede
Reviewed-on: http://review.whamcloud.com/22245
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8509 llite: drop_caches hangs in cl_inode_fini() 45/22745/4
Andrew Perepechko [Mon, 26 Sep 2016 20:42:41 +0000 (23:42 +0300)]
LU-8509 llite: drop_caches hangs in cl_inode_fini()

This patch releases cl_pages on error in ll_write_begin()
to avoid memory and object reference leaks. Also, it
reuses per-cpu lu_env in ll_invalidatepage() in the same
way as done in ll_releasepage().

Change-Id: I11a658941aff4dacd3cc83685ae3df67f28093a2
Signed-off-by: Andrew Perepechko <andrew.perepechko@seagate.com>
Seagate-bug-id: MRP-3504
Reviewed-on: http://review.whamcloud.com/22745
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8637 obdclass: LWP callback hold export reference 24/22724/2
Fan Yong [Fri, 15 Jul 2016 05:33:01 +0000 (13:33 +0800)]
LU-8637 obdclass: LWP callback hold export reference

The lwp_notify_main thread itself needs to hold the 'exp'
reference to prevent 'exp' being freed during LWP callback.

On the other hand, there is race condition between the
lustre_register_lwp_item() and lustre_notify_lwp_list():

When lustre_register_lwp_item() (call it as thread1) adds
'lwp_register_item' into the 'lwp_register_list', the
"*lri_exp" is NULL. After that, the thread1 releases the
'lwp_register_list_lock', then the LWP notify thread (call
it as thread2) assigns the "lri::lri_exp" via the
'lustre_notify_lwp_list()' by race. That will cause thread1
to trigger the 'lri::lri_cb_func'. At the same time, thread2
will also trigger the 'lri::lri_cb_func'. Then the callback
are called repeatedly.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I9eb5407931149a818b620a393fdc70fec0d0d099
Reviewed-on: http://review.whamcloud.com/22724
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8612 mdt: maintain Sync-on-Lock-Cancel locks per target 90/22490/2
Lai Siyao [Wed, 14 Sep 2016 10:11:56 +0000 (18:11 +0800)]
LU-8612 mdt: maintain Sync-on-Lock-Cancel locks per target

Sync-on-Lock-Cancel locks should be maintained per target, so that
if there are more than one target(MDT) on one server, transaction
commit on different target won't interfere with each other.

Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Change-Id: Ib2834c64089f18fb9d2e06d64f770ddaf9c2e2d3
Reviewed-on: http://review.whamcloud.com/22490
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-4185 llite: Revise create with no open optimization 57/8257/10
Bobi Jam [Wed, 13 Nov 2013 07:56:25 +0000 (15:56 +0800)]
LU-4185 llite: Revise create with no open optimization

Currently ll_lookup_nd just returns a negative when we are trying
to create something with no open (read mkdir). This is all fine most
of the cases, except if the directory where we are trying to do is
not writeable by us. In that case vfs_create would return EPERM
seeing as how a negative dentry means the create cannot proceed.
But in reality if there is an existing name there that we just did
not have cached, the proper return is EEXIST that could only happen
if we did do the lookup.

So amend the optimization to only take place if the directory is
writeable by us, otherwise do the full lookup.

Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: I1480320bd56431a2e47ae686450678324ca17633
Reviewed-on: http://review.whamcloud.com/8257
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
7 years agoLU-8340 tests: in sanity-sec 25 client nodemap must be admin 50/22750/3
Kit Westneat [Tue, 27 Sep 2016 02:30:02 +0000 (22:30 -0400)]
LU-8340 tests: in sanity-sec 25 client nodemap must be admin

If the ENABLE_QUOTA is set, then cleanup_and_setup_lustre will use
the client node to setup quota, which requires admin privileges on
the nodemap. This patch enables admin privileges on all clients
before calling cleanup_and_setup_lustre.

Test-Parameters: envdefinitions=ENABLE_QUOTA=yes
Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Change-Id: If8d92d20aaa8cf75e3d443d1a81ff2f201d118cc
Reviewed-on: http://review.whamcloud.com/22750
Tested-by: Jenkins
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: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-5718 lnet: add offset for selftest brw 96/12496/6
Liang Zhen [Wed, 21 Sep 2016 03:15:07 +0000 (23:15 -0400)]
LU-5718 lnet: add offset for selftest brw

In current lnet selftest, both client and server side bulk have
no offset and we can only test page aligned IO, this patch changed
this:

- user can set brw offset by lst add_test ... brw off=OFFSET ...
- offset is only effective on client side so far
- to simply implementation, offset needs to be eight bytes aligned

Signed-off-by: Liang Zhen <liang.zhen@intel.com>
Change-Id: I34690d2c8fbb627b827291afcd46d7aa59831a3f
Reviewed-on: http://review.whamcloud.com/12496
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8413 llite: specify READA debug mask for sanity_101f 53/22753/4
Bobi Jam [Tue, 27 Sep 2016 01:22:20 +0000 (09:22 +0800)]
LU-8413 llite: specify READA debug mask for sanity_101f

So that debug log only contains relevant messages for debugging
purpose.

Test-Parameters: trivial
Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: Ia02e6ed41a3a2166dcf6b04441027517594bb35d
Reviewed-on: http://review.whamcloud.com/22753
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8632 osc: remove of usage removed 'page_count' local variable 54/22654/2
Dmitry Eremin [Wed, 21 Sep 2016 11:29:29 +0000 (14:29 +0300)]
LU-8632 osc: remove of usage removed 'page_count' local variable

Address of function 'page_count' is used instead of a local variable
which was removed in commit 7f2aae8d80a73de7408668bbe569d5f4d8553efe.

Test-Parameters: trivial

Change-Id: I92626b27b21c291101299b52b46287262d27a4bd
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/22654
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
7 years agoLU-8579 osd-ldiskfs: code cleanup for osd_ldiskfs_add_entry 07/22307/6
Fan Yong [Thu, 7 Jul 2016 21:30:25 +0000 (05:30 +0800)]
LU-8579 osd-ldiskfs: code cleanup for osd_ldiskfs_add_entry

Commit 07660ad33a7d1 can give more warning message when directory
size exceeds limitation. But some variables that are allocated
on stack are unnecessary and may cause overflow.

Further more, the "osd_thread_info::oti_dev" is obsolete, should
not be used any more. The fid_seq_is_mdt0() is used against zero
FID, will be replaced by checking whether the device is for MDT0.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Idfe2a4546535b3863e84ce5753b8a86c369dadae
Reviewed-on: http://review.whamcloud.com/22307
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: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-6401 header: remove assert from interval_set() 22/22522/5
James Simmons [Wed, 21 Sep 2016 13:58:24 +0000 (09:58 -0400)]
LU-6401 header: remove assert from interval_set()

Currently interval_tree.h is used by user land and
kernel space. To unwind libcfs.h from user space
we need to remove LASSERT from the uapi headers.
In the case of interval_tree.h only interval_set()
uses LASSERT which is removed in this patch and
interval_set() instead reports a real error.

Change-Id: Iac716f61542eb6e1a6e060e2810e6b7a175b25d9
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/22522
Tested-by: Jenkins
Reviewed-by: Frank Zago <fzago@cray.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>
7 years agoLU-3888 utils: print lmm_fid as part of getstripe 65/10465/33
Andreas Dilger [Sat, 24 Sep 2016 05:32:39 +0000 (11:02 +0530)]
LU-3888 utils: print lmm_fid as part of getstripe

Print the lmm_fid in the standard DFID format in addition to the older
lmm_object_id and lmm_seq fields when using "lfs getstripe -v".  This
is still a bit of a hack, since lmm_mds_md_{v1,v3} do not store a
proper FID in the header, so the fields need to be parsed separately
instead of using lmm_oi_seq() and lmm_oi_id(), but at least userspace
can start using this output in scripts instead of needing to call
path2fid separately.

In the future, new layout formats should use proper FIDs instead of
ost_id fields.

Add "lfs getstripe -F" to print the lmm_fid of a file.  This should
match the inode FID from "lfs fid2path" for 2.x-created files.

Document "lfs getstripe -g" option in lfs.1 and usage message.

Fix lfs_fid2path() to not complain on the MDS if an invalid FID is
requested, since an error is returned to the application anyway.
Don't print errors in llapi_fid2path(), there is already one being
printed in lfs_fid2path().

Rename VERBOSE_ALL to VERBOSE_DEFAULT to make it more clear what this
is for, since it didn't actually print all of the components.

Add PFL VERBOSE_COMP_* flags to lustreapi.h to avoid future conflicts.

Test-Parameters: trivial
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Signed-off-by: Lokesh Nagappa Jaliminche <lokesh.jaliminche@seagate.com>
Change-Id: I4e27797ec3905327ea0a88911b1c75193d500c1e
Reviewed-on: http://review.whamcloud.com/10465
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
7 years agoLU-4474 osd: Add nodelalloc to ldiskfs mount options 81/21181/6
Artem Blagodarenko [Thu, 7 Jul 2016 11:27:11 +0000 (14:27 +0300)]
LU-4474 osd: Add nodelalloc to ldiskfs mount options

If vfs_mount failed mount, process hangs during osd_mount cleanup.
Mutex sb->s_umount cause of this hang. During cleanup
ldiskfs_quota_off() is executed and if delalloc option is set,
then sync_filesystem executed, but only after taking of s_umount
mutex. We can't exlude this mutex here or move to another place,
because there are some code pathes there ldiskfs_quota_off
executed without s_umount mutex.

This patch disable the delalloc option.

Signed-off-by: Artem Blagodarenko <artem.blagodarenko@seagate.com>
Seagate-bug-id: MRP-3225
Change-Id: Ib68d1c424f4a99eb7df5c373e9775aeafe8505b4
Reviewed-on: http://review.whamcloud.com/21181
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Faccini Bruno <bruno.faccini@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-6910 osp: add procfs values for OST reserved size 56/17656/10
Alexander Boyko [Mon, 10 Aug 2015 11:40:28 +0000 (14:40 +0300)]
LU-6910 osp: add procfs values for OST reserved size

osp_pre_status=-ENOSPC is used to skip OST from object allocation.
The error was set when OST available space is less than 0.1% of total
OST size. This value is not configurable, so procfs files was
added:
reserved_mb_low - low watermark, if available space is less
  than it, object allocation is stopped.
reserved_mb_high - highw watermark, if available space is more
   than it, object allocation is enabled.

By default ~0.1% is reserved as low watermark. The high watermark
is twice bigger than the low by default.
High and low watermark could be changed by:
lctl set_param osp.lustre-OST0000-osc-MDT0000.reserved_mb_high=1024

When object allocation is disabled, a clients could appened to
existing files. And 0.1% is too low for them. For example, OST size
is 8TB, 0.1% is 8GB, if cluster has 1k clients, reserved space is
~8MB per client. The main reason of the patch is ability to increase
reserved space.

Signed-off-by: Alexander Boyko <alexander.boyko@seagate.com>
Seagate-bug-id: MRP-2606
Test-Parameters: testlist=sanity,sanity,sanity,sanity,sanity,sanity envdefinitions=ONLY=253
Change-Id: Idd759352cec30a6039c228695f753465fbccc75f
Reviewed-on: http://review.whamcloud.com/17656
Tested-by: Jenkins
Reviewed-by: Alexander Zarochentsev <alexander.zarochentsev@seagate.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8446 llite: clear inode timestamps after losing UPDATE lock 23/22623/3
Niu Yawei [Tue, 20 Sep 2016 07:50:42 +0000 (03:50 -0400)]
LU-8446 llite: clear inode timestamps after losing UPDATE lock

Otherwise, those leftovers would interfere with new timestamps
especially when the timestamps are set back in time on the other
clients.

Test-Parameters: alwaysuploadlogs mdtfilesystemtype=ldiskfs mdsfilesystemtype=ldiskfs ostfilesystemtype=ldiskfs mdtcount=1 testlist=metadata-updates,metadata-updates
Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: If4d385c82b2035c08276b9dd5cd8edd029a8c027
Reviewed-on: http://review.whamcloud.com/22623
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8544 test: using lfs df in client_up 59/22459/4
Hongchao Zhang [Sun, 17 Jul 2016 02:29:47 +0000 (10:29 +0800)]
LU-8544 test: using lfs df in client_up

With the patch http://review.whamcloud.com/#/c/19195/,
the LL_SBI_LAZYSTATFS option will be used during statfs call,
the "client_up" and "clients_up" in test-framework.sh should
be updated to use "lfs df" to determine the UP state of clients

Change-Id: I124e3ecc288f04b32dfd286f48e0ab75b1385a29
Signed-off-by: Hongchao Zhang <hongchao.zhang@intel.com>
Reviewed-on: http://review.whamcloud.com/22459
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8581 osd: misuse of RCU in osd xattr cache 44/22344/6
Lai Siyao [Wed, 7 Sep 2016 08:20:10 +0000 (16:20 +0800)]
LU-8581 osd: misuse of RCU in osd xattr cache

In osd xattr cache implementation several list operations didn't
consider RCU concurrency.

Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Change-Id: If4f91353fda5aca829f8e5ef327d9c06536f625d
Reviewed-on: http://review.whamcloud.com/22344
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8615 kernel: kernel update RHEL7.2 [3.10.0-327.36.1.el7] 08/22608/2
Bob Glossman [Wed, 14 Sep 2016 17:25:14 +0000 (10:25 -0700)]
LU-8615 kernel: kernel update RHEL7.2 [3.10.0-327.36.1.el7]

Update RHEL7.2 kernel to 3.10.0-327.36.1.el7

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: Iaa93f7b110569dfb86cee502680cc786f7e688cd
Reviewed-on: http://review.whamcloud.com/22608
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Minh Diep <minh.diep@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8547 test: Skip ost-pools test_24 for older MDS version 33/22533/6
Saurabh Tandan [Thu, 15 Sep 2016 19:24:38 +0000 (12:24 -0700)]
LU-8547 test: Skip ost-pools test_24 for older MDS version

Skipping ost-pools test_24 if server version is less than 2.8.56

Test-Parameters: trivial testlist=ost-pools,ost-pools,ost-pools,ost-pools
Signed-off-by: Saurabh Tandan <saurabh.tandan@intel.com>
Change-Id: Id93490606c50a0528d4576f64c808e11255ff01d
Reviewed-on: http://review.whamcloud.com/22533
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-4315 doc: split lctl-network.8 man page from lctl.8 24/22324/2
Andreas Dilger [Tue, 6 Sep 2016 08:42:11 +0000 (02:42 -0600)]
LU-4315 doc: split lctl-network.8 man page from lctl.8

Split the lctl-network.8 man page from lctl.8 so that it can have a
more complete description and usage messages.

Test-Parameters: trivial
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I5c3b94fca277c53b249d09ac9e65266a8b8ad322
Reviewed-on: http://review.whamcloud.com/22324
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8535 lod: RR policy should not allocate on same ost 90/22090/3
Rahul Deshmkuh [Wed, 24 Aug 2016 05:28:21 +0000 (10:58 +0530)]
LU-8535 lod: RR policy should not allocate on same ost

Problem: With Round Robin (RR) policy we should not allowed
to create objects on same ost but currently it is possible.

Solution: lod_check_and_reserve_ost() skips a check for
already used OST when speed=0 i.e. at the first round of
object allocation. Enabling the check unconditionally to
fix above mention problem.

This patch contains both re-producer and the fix.

Signed-off-by: Rahul Deshmukh <rahul.deshmukh@seagate.com>
Signed-off-by: Alexander Zarochentsev <alexander.zarochentsev@seagate.com>
Seagate-bug-id: MRP-3480
Change-Id: I80895f8d7cc0a146a098869842bbc256152e6c2e
Reviewed-on: http://review.whamcloud.com/22090
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-6638 test: wait for grace delay in sanity-hsm test_37() 84/21284/5
John L. Hammond [Wed, 13 Jul 2016 16:31:42 +0000 (11:31 -0500)]
LU-6638 test: wait for grace delay in sanity-hsm test_37()

In sanity-hsm test_37(), allow the previous archive request to expire
from the actions log by calling wait_for_grace_delay().

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I42fe4eec44734a9afd59f67d4532c1fe23402269
Reviewed-on: http://review.whamcloud.com/21284
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8625 tests: replay-single test_87 renamed to test_87a 91/22591/3
Chennaiah Palla [Mon, 19 Sep 2016 11:59:56 +0000 (17:29 +0530)]
LU-8625 tests: replay-single test_87 renamed to test_87a

test_87() renamed as to test_87a() to be run separately from test_87b.

Seagate-bug-id: MRP-3820
Signed-off-by: Chennaiah Palla <chennaiah.palla@seagate.com>
Change-Id: I22db42eef396f9021b974f4fdb5c76614d4405f5
Reviewed-on: http://review.whamcloud.com/22591
Tested-by: Jenkins
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
7 years agoLU-8454 mountconf: delay FS default stripe config setting 80/22580/2
Lai Siyao [Sun, 18 Sep 2016 07:36:05 +0000 (15:36 +0800)]
LU-8454 mountconf: delay FS default stripe config setting

Previously http://review.whamcloud.com/21612 disabled filesystem
default stripe config setting after 2.10, this is too aggressive,
now delay this feature till > 2.13.53.

Also #ifdef more unused functions in this feature.

Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Change-Id: Ic4d8c9abc837f4d9c9c7992b1f297dbb361beb47
Reviewed-on: http://review.whamcloud.com/22580
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>
7 years agoLU-8619 osd: define DN_MAX_BONUSLEN 23/22523/4
Alex Zhuravlev [Thu, 15 Sep 2016 17:05:45 +0000 (20:05 +0300)]
LU-8619 osd: define DN_MAX_BONUSLEN

ZFS master doesn't define DN_MAX_BONUSLEN which is still used
by osd-zfs - define it as DN_OLD_MAX_BONUSLEN.

Change-Id: Ieec310ee4d368cae7c5c93808caddb0db0b08fc7
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/22523
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8018 lov: ld_target could be NULL 11/21411/7
Bobi Jam [Tue, 19 Jul 2016 00:25:01 +0000 (08:25 +0800)]
LU-8018 lov: ld_target could be NULL

lov_device::ld_target[ost_idx] could be NULL if the OST target is
not filled in lov_device::ld_lov::lov_tgt_desc[ost_idx] yet.

Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: I1eddb49b3c3518828c531af568b851465ccdffa3
Reviewed-on: http://review.whamcloud.com/21411
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-6245 server: remove types abstraction from quota/target/nodemap code 87/21187/12
James Simmons [Sat, 10 Sep 2016 15:01:31 +0000 (11:01 -0400)]
LU-6245 server: remove types abstraction from quota/target/nodemap code

Originally when lustre code was built for userland we needed
a proper way to handle 32 bit and 64 bit platforms when
reporting unsigned longs. Now that this code is only built
for kernel space and the kernel has it own special string
handling functions we don't need this abstraction anymore.
Remove this abstraction from the quota/target/nodemap code.

Change-Id: Ie3d4fa79dc687fc85296c3a4b21655001d0c7081
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/21187
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7428 test: remove test 84 from ALWAYS_EXCEPT 94/20194/8
Hongchao Zhang [Wed, 3 Feb 2016 14:34:39 +0000 (22:34 +0800)]
LU-7428 test: remove test 84 from ALWAYS_EXCEPT

Debug patch to remove the test 84 from ALWAYS_EXCEPT in conf-sanity
temporarily to verify the problem is really fixed.

Test-Parameters: trivial testlist=conf-sanity,conf-sanity,conf-sanity,conf-sanity
Test-Parameters: testlist=conf-sanity,conf-sanity,conf-sanity,conf-sanity
Change-Id: I1d2dd16f33f0713a5e11d243708865b45ec283cb
Signed-off-by: Hongchao Zhang <hongchao.zhang@intel.com>
Reviewed-on: http://review.whamcloud.com/20194
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-6245 libcfs: remove byteorder.h 16/16916/8
James Simmons [Fri, 16 Sep 2016 15:02:15 +0000 (11:02 -0400)]
LU-6245 libcfs: remove byteorder.h

With the cleanup of userland with libcfs we no longer
need the special byte ordering macros. Kernel space
can just use what is provided by the kernel already.

Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Change-Id: Ic154005a24ffae6d6773d4664a6e75d3ead346af
Reviewed-on: http://review.whamcloud.com/16916
Reviewed-by: Frank Zago <fzago@cray.com>
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
7 years agoLU-8472 scrub: try to avoid recovery during OI scrub 18/21918/4
Fan Yong [Tue, 21 Jun 2016 19:12:26 +0000 (03:12 +0800)]
LU-8472 scrub: try to avoid recovery during OI scrub

It is known issue that FID based operation will hit -EINPROGRESS
or -EREMCHG failure if related OI mapping is invalid (most cases
because file-level backup/restore).

On the other hand, the recovery for cross-MDTs modifications will
trigger FID based operation(s) before OI scrub rebuilding related
OI mappings.

So during sanity-scrub tests, the scripts should avoid cross-MDTs
recovery via sync all transactions before file-level backup.

More warning message about the recovery failure if because of bad
OI mappings.

Another fix is about setting LOC_F_NEW flag for the object to be
created via out_create().

Test-Parameters: mdtfilesystemtype=ldiskfs mdsfilesystemtype=ldiskfs ostfilesystemtype=ldiskfs mdscount=2 mdtcount=4 testlist=sanity-scrub,sanity-scrub,sanity-scrub
Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I6e8bc9c5d587be72ecd7e33fa7e9959fe5b34006
Reviewed-on: http://review.whamcloud.com/21918
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8301 lfsck: handle ROOT fid properly 69/20869/4
Fan Yong [Fri, 13 May 2016 15:51:33 +0000 (23:51 +0800)]
LU-8301 lfsck: handle ROOT fid properly

It is found that the lfsck_find_mdt_idx_by_fid() will return
failure for "ROOT" object. That is incorrect. In fact "ROOT"
is always on the MDT0.

Test-Paramenters: trivial testlist=sanity-scrub,sanity-lfsck

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I4a1b796ffc574f8f11611d1b329ce79ad2135eb7
Reviewed-on: http://review.whamcloud.com/20869
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>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8599 utils: restore lshowmount utility 93/17593/13
Andreas Dilger [Wed, 14 Sep 2016 17:49:55 +0000 (01:49 +0800)]
LU-8599 utils: restore lshowmount utility

The lshowmount utility was removed in commit b5a7260ae8f as being
obsolete, but it was not as unused as previously thought.

Restore lshowmount.c, lshowmount.8, nidlist.c, and nidlist.h  from
history, with minor updates to the Makefiles and .gitignore to avoid
conflicts in context.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Signed-off-by: Yang Sheng <yang.sheng@intel.com>
Change-Id: Ibf6f72684d4dcaa95e0366b4fde74386893ebbe5
Reviewed-on: http://review.whamcloud.com/17593
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Thomas Stibor <t.stibor@gsi.de>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8629 obdclass: Fix error exit loop in cl_env_percpu_init 35/22635/4
Sandhya Bankar [Tue, 20 Sep 2016 16:03:42 +0000 (12:03 -0400)]
LU-8629 obdclass: Fix error exit loop in cl_env_percpu_init

Clearly we should be using the loop counter j, not loop bound i
in the cleanup loop there.

Change-Id: I84a682846e7bdfc93786ab47ea3c0603f2849860
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/22635
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
7 years agoLU-8499 wireshark: fix packet-lustre so it compiles 74/22074/3
Kit Westneat [Tue, 23 Aug 2016 16:40:28 +0000 (12:40 -0400)]
LU-8499 wireshark: fix packet-lustre so it compiles

This patch removes a duplicate function definition for
lustre_dissect_struct_capa, and adds a definition for
ett_lustre_ladvise, which is referenced in
lustre_dissect_struct_lu_ladvise, but wasn't defined previously.

Test-Parameters: trivial

Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Change-Id: I700e2388175130d7274f4e3fac332cf069afbdcb
Reviewed-on: http://review.whamcloud.com/22074
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Amir Shehata <amir.shehata@intel.com>
7 years agoLU-8300 lfsck: pass LOC_F_NEW when create new object 68/20868/3
Fan Yong [Fri, 13 May 2016 15:44:35 +0000 (23:44 +0800)]
LU-8300 lfsck: pass LOC_F_NEW when create new object

For lfsck_create_lpf() case, we know that the target object of
'.lustre/lost+found/MDTxxxx' does not exist, need to pass the
lu_object_conf parameter 'LOC_F_NEW' to the lower layer, then
the OSD will not return -115 to the LFSCK if OI files lost.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I0c348dea99e7ff98f432e09a9664c6ba46567f11
Reviewed-on: http://review.whamcloud.com/20868
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@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>
7 years agoLU-8218 osd: handle stale OI mapping for non-restore case 59/20659/8
Fan Yong [Fri, 13 May 2016 15:44:20 +0000 (23:44 +0800)]
LU-8218 osd: handle stale OI mapping for non-restore case

Sometimes, the user may removes the MDT-object under ldiskfs mode
directly but leaves related OI mapping there. Such case also can
happen if the MDT-object lost because of disk corruption. Under
such case, the OSD ldiskfs should has the ability to distinguish
it from the case of MDT file-level backup/restore; otherwise, the
up layer user will get -EREMCHG (78) when locating such MDT-object
with the FID.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Iede2542968c21755158637089d20a694f12b309e
Reviewed-on: http://review.whamcloud.com/20659
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@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>
7 years agoLU-6245 server: remove types abstraction from MDS/MGS code 71/22371/4
James Simmons [Fri, 9 Sep 2016 16:19:43 +0000 (12:19 -0400)]
LU-6245 server: remove types abstraction from MDS/MGS code

Originally when lustre code was built for userland we needed
a proper way to handle 32 bit and 64 bit platforms when
reporting unsigned longs. Now that this code is only built
for kernel space and the kernel has it own special string
handling functions we don't need this abstraction anymore.
Remove this abstraction from the MGS/MDS server side code.

Change-Id: I963ab240abbc650289040ee14f267f344c9f4124
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/22371
Reviewed-by: Frank Zago <fzago@cray.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-6245 server: remove types abstraction from lfsck and OSS code 70/22370/4
James Simmons [Sat, 10 Sep 2016 15:06:26 +0000 (11:06 -0400)]
LU-6245 server: remove types abstraction from lfsck and OSS code

Originally when lustre code was built for userland we needed
a proper way to handle 32 bit and 64 bit platforms when
reporting unsigned longs. Now that this code is only built
for kernel space and the kernel has it own special string
handling functions we don't need this abstraction anymore.
Remove this abstraction from the lfsck and OSS related code.

Change-Id: I7663c953d47866fe75644676f581c5074c775fdc
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/22370
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8021 tests: Add leading $ to "DEBUGSAVE_SERVER" 86/22586/3
Emoly Liu [Mon, 19 Sep 2016 06:13:16 +0000 (14:13 +0800)]
LU-8021 tests: Add leading $ to "DEBUGSAVE_SERVER"

Add leading $ to "DEBUGSAVE_SERVER", otherwise the check is always
true and the code tries to restore an empty string and it produces
a lot of spurious error messages in the test logs.

Test-Parameters: trivial
Signed-off-by: Emoly Liu <emoly.liu@intel.com>
Change-Id: I4e9206bc312af22fea22bf6ab634469439008003
Reviewed-on: http://review.whamcloud.com/22586
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Parinay Kondekar <parinay.kondekar@seagate.com>
7 years agoLU-5050 libcfs: default CPT matches NUMA topology 77/22377/3
Dmitry Eremin [Thu, 8 Sep 2016 06:50:59 +0000 (09:50 +0300)]
LU-5050 libcfs: default CPT matches NUMA topology

Change default value of CPT pattern and make it match NUMA topology

Signed-off-by: Liang Zhen <liang.zhen@intel.com>
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Change-Id: Iea76deec2face42a01e4aeda690e277be31325a9
Reviewed-on: http://review.whamcloud.com/22377
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Olaf Weber <olaf@sgi.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7949 osd: Move assignment below LASSERT() 28/22428/2
Arshad Hussain [Fri, 2 Sep 2016 23:12:18 +0000 (04:42 +0530)]
LU-7949 osd: Move assignment below LASSERT()

This patch moves osd_dt_dev() call and assignment of
qsd_instance below LASSERT() under function osd_declare_qid().
This avoids a case of dereferencing osd_thandle parameter
when passed as NULL. Although osd_dt_dev() does its own
checking it is better to move it below LASSERT(). Patch
also adds LASSERT() after osd_dt_dev() call.

Signed-off-by: Arshad Hussain <arshad.hussain@seagate.com>
Change-Id: I80922d372ee768c42d5d34be8222fd5e089bbda5
Reviewed-on: http://review.whamcloud.com/22428
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>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8135 osc: limits the number of chunks in write RPC 69/22369/7
Jinshan Xiong [Mon, 12 Sep 2016 18:17:10 +0000 (11:17 -0700)]
LU-8135 osc: limits the number of chunks in write RPC

OSC has to make sure that it won't issue write RPCs with too many
chunks otherwise it will casue ZFS to create transactions much
bigger than DMU_MAX_ACCESS in size, which will end up with write
failure.

Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: Ib68b09afca35c253ef0a6b569f64f555e08bd11b
Reviewed-on: http://review.whamcloud.com/22369
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>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8549 test: optimize restore_and_check_size() in sanity-hsm 45/22145/3
Li Xi [Mon, 22 Aug 2016 07:40:56 +0000 (15:40 +0800)]
LU-8549 test: optimize restore_and_check_size() in sanity-hsm

Optimize restore_and_check_size() in sanity-hsm so that time won't
be wasted when waiting.

Change-Id: Ie683953670c618a1790b71b8ab55f24f61198073
Signed-off-by: Gu Zheng <gzheng@ddn.com>
Reviewed-on: http://review.whamcloud.com/22145
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Wang Shilong <wshilong@ddn.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8551 test: Use mds1 rather than mds to operate on MDT0000 47/22147/2
Li Xi [Mon, 22 Aug 2016 10:17:18 +0000 (18:17 +0800)]
LU-8551 test: Use mds1 rather than mds to operate on MDT0000

Use mds1 rather than mds to operate on MDT0000, fixed following cases:
conf-sanity.sh: test_43, test_58, test_62
sanityn.sh: test_54, test_55.

Test-Parameters: testlist=conf-sanity
Test-Parameters: testlist=sanityn

Change-Id: Ibe0b419f837e4478610d61b8efb54af93662a45e
Signed-off-by: Gu Zheng <gzheng@ddn.com>
Reviewed-on: http://review.whamcloud.com/22147
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Wang Shilong <wshilong@ddn.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8529 config: Print clear message when ldiskfs series not found 84/22084/3
Christopher J. Morrone [Tue, 23 Aug 2016 22:25:01 +0000 (15:25 -0700)]
LU-8529 config: Print clear message when ldiskfs series not found

Add a clear AC_MSG_RESULT failure messages when an ldiskfs series
is not successfully identified in the LDISKFS_LINUX_SERIES macro.

Change-Id: If4a0350e67cd625a5b2a8fc549e341ca4c339ff9
Signed-off-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-on: http://review.whamcloud.com/22084
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: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-4444 test: Re-enable conf-sanity/69 for ZFS 43/21543/5
Nathaniel Clark [Wed, 27 Jul 2016 14:46:08 +0000 (10:46 -0400)]
LU-4444 test: Re-enable conf-sanity/69 for ZFS

Enable conf-sanity/69 for ZFS now that ZFS is faster.
Fix zpool import for conf-sanity/50i, should be mds2 not ost1.

Test-Parameters: trivial testlist=conf-sanity mdsfilesystemtype=zfs mdtfilesystemtype=zfs ostfilesystemtype=zfs envdefinitions=SLOW=yes
Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: I4a367e217ec05ab4f678f58f0ffae95d84e33cc6
Reviewed-on: http://review.whamcloud.com/21543
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Saurabh Tandan <saurabh.tandan@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-5473 tests: sanity/51b Account for ZFS inode size 21/21821/6
Nathaniel Clark [Mon, 8 Aug 2016 20:35:00 +0000 (16:35 -0400)]
LU-5473 tests: sanity/51b Account for ZFS inode size

Account for inode size for 11KB for ZFS (and 4KB for LDISKFS) when
checking space on MDC during sanity test_51b.
Do lfs df and lfs df -i on completion of sanity/test_51b.  This helps
determine the correct inode size accounting.

Test-Parameters: trivial mdsfilesystemtype=zfs mdtfilesystemtype=zfs ostfilesystemtype=zfs testlist=sanity envdefinitions=SLOW=yes mdscount=1
Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: Icd8e0d55a89d8e3d22bbb1b2ff206e238a7262ac
Reviewed-on: http://review.whamcloud.com/21821
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8100 tests: Test the correctness of target_obd 46/20546/15
Giuseppe Di Natale [Wed, 1 Jun 2016 15:34:47 +0000 (08:34 -0700)]
LU-8100 tests: Test the correctness of target_obd

The target_obd proc file is what is used by lfs to list mdts
of a lustre file system. Added a conf-sanity test to ensure
correctness of lfs mdts output.

Test-Parameters: trivial mdtfilesystemtype=ldiskfs mdsfilesystemtype=ldiskfs ostfilesystemtype=ldiskfs mdtcount=1 testlist=conf-sanity
Test-Parameters: trivial mdtfilesystemtype=ldiskfs mdsfilesystemtype=ldiskfs ostfilesystemtype=ldiskfs mdtcount=2 mdtcount=4 testlist=conf-sanity
Test-Parameters: trivial mdtfilesystemtype=zfs mdsfilesystemtype=zfs ostfilesystemtype=zfs mdtcount=1 testlist=conf-sanity

Signed-off-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Change-Id: Ia876ed456b95570b90bc90f05d8b7b97e1aa71af
Reviewed-on: http://review.whamcloud.com/20546
Reviewed-by: Jian Yu <jian.yu@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
7 years agoLU-6142 lnet: replace white spaces with tabs for LNet core 75/19975/10
James Simmons [Tue, 13 Sep 2016 17:34:51 +0000 (13:34 -0400)]
LU-6142 lnet: replace white spaces with tabs for LNet core

This work converts all the remaining white spaces left
in the LNet layer to the proper tab format. Fixed all
space prohibited warnings reported by checkpatch. Any
other space issues reported by checkpatch are also
addressed for the code that was retabbed.

Test-Parameters: trivial

Change-Id: I12589439c9532d1d3989deee00aa68c29f84db85
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/19975
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoNew tag 2.8.58 2.8.58 v2_8_58 v2_8_58_0
Oleg Drokin [Tue, 20 Sep 2016 16:00:57 +0000 (12:00 -0400)]
New tag 2.8.58

Change-Id: I7891ad025b041e318a96e35a5adaa13dc324fae4
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8508 nodemap: improve object handling in cache saving 04/22004/7
Kit Westneat [Thu, 18 Aug 2016 15:00:35 +0000 (11:00 -0400)]
LU-8508 nodemap: improve object handling in cache saving

Saving cache files requires that the old cache be removed. This means
that the config object reference needs to change to point to the new
file. Previously this was done in a number of different places and
was more opaque. This patch hopefully makes it more transparent.

This patch also fixes a problem on MDTs/OSTs when creating a new
config. Previously all initial config creates would assume an MGS
context. A side-effect of the improved object handling is that a
target context is handled correctly.

Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Change-Id: Iee33a423b76f30eba849288c746e6528ecefa7c6
Reviewed-on: http://review.whamcloud.com/22004
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-4931 ladvise: Add dontneed advice support for ladvise 03/20203/8
Li Xi [Tue, 14 Jun 2016 05:15:04 +0000 (13:15 +0800)]
LU-4931 ladvise: Add dontneed advice support for ladvise

This patch addds DONTNEED advice to ladvise framework. OSS will
cleanup the page cache of the file when this hint is provided.

Signed-off-by: Li Xi <lixi@ddn.com>
Signed-off-by: Gu Zheng <gzheng@ddn.com>
Change-Id: If5cf7f3193924ca7cccb96d8d841c0d889469393
Reviewed-on: http://review.whamcloud.com/20203
Reviewed-by: Wang Shilong <wshilong@ddn.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-930 misc: update README path to git hooks 28/13428/4
Olaf Faaland [Tue, 25 Aug 2015 00:41:26 +0000 (17:41 -0700)]
LU-930 misc: update README path to git hooks

Update the README file so that the paths given to the git hooks stored
in contrib are current.

Signed-off-by: Olaf Faaland <faaland1@llnl.gov>
Change-Id: If864751d88ad54de629a1cda9d1ba6f2089ecd69
Reviewed-on: http://review.whamcloud.com/13428
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
7 years agoLU-8340 nodemap: debug patch 07/21907/5
Kit Westneat [Fri, 12 Aug 2016 15:50:09 +0000 (11:50 -0400)]
LU-8340 nodemap: debug patch

Add some debugging info to the sanity-sec test to figure out why
setquota is failing.

Run the 'full' test group and sanity-sec multiple times.

Test-Parameters: trivial envdefinitions=SLOW=yes testlist=sanity-sec,sanity-sec,sanity-sec,sanity-sec,sanity-sec,sanity-sec,sanity-sec

Test-Parameters: trivial envdefinitions=SLOW=yes testgroup=full

Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Change-Id: I2202b9acc006f8f35c65b8c56e6c3c5c6a3852f0
Reviewed-on: http://review.whamcloud.com/21907
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Andreas Dilger <andreas.dilger@intel.com>
7 years agoLU-8537 kernel: kernel update RHEL6.8 [2.6.32-642.4.2.el6] 94/22194/4
Bob Glossman [Sat, 27 Aug 2016 22:06:46 +0000 (15:06 -0700)]
LU-8537 kernel: kernel update RHEL6.8 [2.6.32-642.4.2.el6]

Update RHEL6.8 kernel to 2.6.32-642.4.2.el6

Test-Parameters: clientdistro=el6.8 mdsdistro=el6.8 ossdistro=el6.8 \
  mdsfilesystemtype=ldiskfs mdtfilesystemtype=ldiskfs \
  ostfilesystemtype=ldiskfs testgroup=review-ldiskfs

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: Idce534b52b69fab8564fbfb6de57cd30d74c84eb
Reviewed-on: http://review.whamcloud.com/22194
Reviewed-by: Minh Diep <minh.diep@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7310 clio: sync write should update mtime 63/21063/6
Niu Yawei [Wed, 29 Jun 2016 12:57:22 +0000 (08:57 -0400)]
LU-7310 clio: sync write should update mtime

Sync write should update m/ctime promptly, otherwise, stale m/ctime
could be updated on the OST object by the sync write RPC.

Added sanityn test_39d to verify this.

Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: I9c7e1d75f610a3104c163df9d68c33442d8fe3f4
Reviewed-on: http://review.whamcloud.com/21063
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7950 osp: Remove assigned but not used variable 24/21024/4
Arshad Hussain [Fri, 24 Jun 2016 10:15:08 +0000 (15:45 +0530)]
LU-7950 osp: Remove assigned but not used variable

This patch removes import variable which were assigned but
were not used within function
1. lwp_device_fini() under lustre/osp/lwp_dev.c
2. osp_device_fini() under lustre/osp/osp_dev.c

Signed-off-by: Arshad Hussain <arshad.hussain@seagate.com>
Change-Id: If37bc78060aaf97127802c0fcbf50bc5483977fc
Reviewed-on: http://review.whamcloud.com/21024
Tested-by: Jenkins
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-6441 ptlrpc: fix sanity 224c for different RPC sizes 03/22403/3
Jinshan Xiong [Fri, 9 Sep 2016 04:31:34 +0000 (21:31 -0700)]
LU-6441 ptlrpc: fix sanity 224c for different RPC sizes

- fail_loc should be set on the OST side;
- an RPC can have 16 bulk descriptors at most, make the test case
  usable even with smaller RPC size.

Patch http://review.whamcloud.com/14399 added sanity.sh test_224c
to verify correct handling of failures with bulk transfers over 1MB,
but did not correctly handle the different transfer sizes possible.

Test-Parameters: trivial
Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: I9d0bc0c523cb71d95c6165066e666878c2a380cc
Reviewed-on: http://review.whamcloud.com/22403
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8560 libcfs: handle page_cache_*() removal in newer kernels 85/22385/3
James Simmons [Thu, 8 Sep 2016 16:39:14 +0000 (12:39 -0400)]
LU-8560 libcfs: handle page_cache_*() removal in newer kernels

Since page cache handling never was handled differently than
normal pages the page_cache_*() macros have been removed
starting with linux kernel 4.6. Now put_page() and get_page()
need to be used instead.

Second change is that get_user_page dropped the first two
arguments in linux kernel version 4.6. We handle this change
as well in libcfs.

Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Change-Id: I84c347a55c45e0794b913134f1abdd45926c24e8
Reviewed-on: http://review.whamcloud.com/22385
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
7 years agoLU-8284 osd-ldisksf: need lock around i_size update 03/22103/3
Bobi Jam [Wed, 24 Aug 2016 15:33:07 +0000 (09:33 -0600)]
LU-8284 osd-ldisksf: need lock around i_size update

In OSD layer i_size_write() needs protection.

Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: Ia893679129cb1335cdf612ec7f38492435d19db4
Reviewed-on: http://review.whamcloud.com/22103
Tested-by: Jenkins
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-6808 ptlrpc: properly set "rq_xid" for 4MB IO 73/22373/5
Fan Yong [Mon, 4 Jul 2016 20:41:59 +0000 (04:41 +0800)]
LU-6808 ptlrpc: properly set "rq_xid" for 4MB IO

The commit d099fdd6 replaced the "rq_xid" with "rq_mbits" as
the matchbits of bulk data transferring. To be interoperable
with old servers, it introduced the new connection flag:
OBD_CONNECT_BULK_MBITS. If the server does not support such
feature, then the "rq_xid" would be set the same value as
"rq_mbits". Unfortunately, it forgot to handle multiple bulk
operations, for example 4MB IO. If the new client wants to
make 4MB IO with old server, it may send a small "rq_xid" to
the old server, as to the old server will regard it as an 1MB
IO or 2MB IO. So the data transfer will not complete because
of only part of data transferred. Then the client will timeout
failure and retry again and again.

Test-Parameters: alwaysuploadlogs testlist=sanity envdefinitions=ONLY=224c ossjob=lustre-b2_7_fe mdsjob=lustre-b2_7_fe ossbuildno=95 mdsbuildno=95 mdsdistro=el6.7 ossdistro=el6.7
Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I9b1c0de13674f16443bef2b454c491e6c72b8ab3
Reviewed-on: http://review.whamcloud.com/22373
Tested-by: Jenkins
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Liang Zhen <liang.zhen@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-7809 lod: stop recovery before destory dtrq list 51/18651/8
Di Wang [Thu, 16 Jun 2016 23:23:21 +0000 (19:23 -0400)]
LU-7809 lod: stop recovery before destory dtrq list

Let's stop the recovery thread before destroying
update recovery list, which might cause race
especially when doing umount during recovery.

Signed-off-by: Di Wang <di.wang@intel.com>
Change-Id: I96fd2dd09caadb458723001f535d53f1d468394b
Reviewed-on: http://review.whamcloud.com/18651
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
7 years agoLU-8600 tests: ignore error if running in vm for sanity 399 27/22427/2
Jinshan Xiong [Sat, 10 Sep 2016 01:50:37 +0000 (18:50 -0700)]
LU-8600 tests: ignore error if running in vm for sanity 399

Performance in vm is not reliable. Define a new function
error_not_in_vm() to handle this common case.

Test-Parameters: trivial
Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: I792ec7531564cbc2d80504e77fb3273b79c7ab96
Reviewed-on: http://review.whamcloud.com/22427
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>