LU-5069 mds: check if the object exist before subdir check

In mdt_rename_sanity, it should check whether the object exist
before mdo_is_subdir, otherwise the un-exist object will cause
LBUG in mdd_is_subdir.

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: I862392ca6a758bcf63406b2a8df9306d0c531aa5
Reviewed-on: http://review.whamcloud.com/10340
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-3469 osp: osp_sync() to flush pending changes synchronously

also a test added to sanity to verify this.

Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Iab153ec5ff1e9031a721530c5eee10a1f01adf7a
Reviewed-on: http://review.whamcloud.com/10046
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
LU-5093 test: dir_remote.sh change stripe count

dir_remote.sh currently creates only directories with
$MDTCOUNT stripes. This patch makes it create directories
with from 1 to $MDTCOUNT stripes, which also creates
non-striped remote directories (stripe_count = 1).

Signed-off-by: Patrick Farrell <paf@cray.com>
Change-Id: I8334661b40620c1e0ecc03dd29756fb607e3e3ca
Reviewed-on: http://review.whamcloud.com/10390
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>
LU-3696 mdd: decref volatile object after creation

Drop the nlink count on a volatile file after it is created.
It is created with a single reference and then added to the PENDING
directory, which adds a second reference to the inode.  When it is
closed it is left with an nlink count=1 and not unlinked as it should
be.

Do not insert volatile files into the ChangeLog, since they are
intended to be temporary files that cannot be accessed after creation
and should not be synched to a backup filesystem.

If llapi_create_volatile_idx() is used on a non-Lustre filesystem then
it should also unlink the temporary filename after opening it, so that
the behaviour is the same.  Improve the comments for this function.

Minor cleanups of related functions found during investigation.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I4bd37395a8eff94458e62414a5a4e7206b76d32d
Reviewed-on: http://review.whamcloud.com/10179
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Aurelien Degremont <aurelien.degremont@cea.fr>
Reviewed-by: Faccini Bruno <bruno.faccini@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-4582 mgc: replace hard-coded MGC_ENQUEUE_LIMIT value

During client mount, the client will send an LDLM_ENQUEUE request to
MGS with send delay set to MGC_ENQUEUE_LIMIT, which is hard coded to
50 seconds. On the other hand, the interval for pinger is deduced from
obd_timeout. When obd_timeout is configured for a longer period of
time, so does the pinger. We know that connecting to the secondary MGS
node is triggered by the pinger. Now that we have a longer interval,
the pinger will not be able to try the secondary before the
LDLM_ENQUEUE request fails the mount using the same delay limit.

This code change will replace the hard-coded send delay being
mentioned above with a value that is long enough to give the client a
chance to connect to the secondary MGS if exists.

Xyratex-bug-id: MRP-1516
Signed-off-by: Cheng Shao <cheng_shao@xyratex.com>
Change-Id: I256c533ca80a93e547afa21c4722d628911ae919
Reviewed-on: http://review.whamcloud.com/9217
Reviewed-by: Ryan Haasken <haasken@cray.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-4441 test: improve run-llog.sh to print more information

Improve run-llog.sh script so that it can print more useful
information when "Module llog_test is in use" happens again.

Signed-off-by: Emoly Liu <emoly.liu@intel.com>
Change-Id: Id07e253a6f22b6a7235ab6d41a30fe701286f8d7
Reviewed-on: http://review.whamcloud.com/9966
Tested-by: Jenkins
Reviewed-by: Jian Yu <jian.yu@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-4970 tests: EXCEPT sanity-lfsck/14 for ZFS

Due to sanity-lfsck/14 recurrent failures, EXCEPT it until it can be
better root-caused, to allow review-zfs to be enforced.

Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: I7d267169fe7080c9702ccd9b8f5697fb8b63121f
Reviewed-on: http://review.whamcloud.com/10473
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
LU-5090 tests: disable MPI tests for Phi build

MPI tests are not supported for Phi build. So, disable them.
Fix configure messages and caching result of check.

Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Change-Id: I1fab50500883e6d155c8f324a98bed01e5d96397
Reviewed-on: http://review.whamcloud.com/10508
Tested-by: Jenkins
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-4423 lnet: don't open-code kernel_recvmsg()

Upstream commit from Al Viro. b2f42cfeeb0452ca3e004c3014cda99b53554d47

Change-Id: Ide4efaab18268d3a69790231b9efa3b8b3e6f928
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: James Simmons <uja.ornl@gmail.com>
Reviewed-on: http://review.whamcloud.com/10124
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Liang Zhen <liang.zhen@intel.com>
Reviewed-by: Isaac Huang <he.huang@intel.com>
LU-4423 lnet: switch to kernel_sendmsg()

Upstream commit by Al Viro:
lustre: switch to kernel_sendmsg()
(casts are due to misannotations in lustre; it uses iovec where kvec
would be correct type; too much noise to properly annotate right now).

Linux-commit: 480f40de91e74190281309fd0ecb2d0414603c2e

Change-Id: I1f6e27cd158bd3e15d06b88d3e973dc7f99a5e60
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: James Simmons <uja.ornl@gmail.com>
Reviewed-on: http://review.whamcloud.com/10125
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Liang Zhen <liang.zhen@intel.com>
Reviewed-by: Isaac Huang <he.huang@intel.com>
LU-4416 osd-ldiskfs: vfs structs use fully typed uid/gid

Since Linux 3.5, struct inode and iattr have used type kuid_t
and kgid_t for uids and gids. There was a compatibility mode
to avoid build failures with older code but it was removed in
3.14. Furthermode, SLES12 builds with UIDGID_STRICT_TYPE_CHECKS
enabled, and needs to use the shim interfaces to build.

This patch provides the shims for older releases without them.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: James Simmons <uja.ornl@gmail.com>
Change-Id: If4c70b10b4bc13aa90d729d56b25edbe1f52fa98
Reviewed-on: http://review.whamcloud.com/10161
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Peng Tao <bergwolf@gmail.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-4416 osd-ldiskfs: remove unused 'optional_mutex' argument

osd_ldiskfs_map_inode_pages doesn't actually use the
optional_mutex argument. Removing it now makes it easier to
integrate the ext4_map_blocks changes.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: James Simmons <uja.ornl@gmail.com>
Change-Id: Ic87114b8d7adadf386a0794c2e6ece79c83601b4
Reviewed-on: http://review.whamcloud.com/10162
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
LU-2675 mdt: add mbo_ prefix to members of struct mdt_body

Rename each member of struct mdt_body, adding the prefix mbo_.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: If229b803a5ccdb27378f6fc44445c1c9bf120d8b
Reviewed-on: http://review.whamcloud.com/10202
Tested-by: Jenkins
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
LU-5120 Don't really need the default-base rpm

The kernel-default-base is not actually needed to build Lustre
on SLES11 so get rid of it.
Clean up the fetching of needed packages.

Signed-off-by: Brian J. Murrell <brian.murrell@intel.com>
Change-Id: Ieee2b01f9a8c280de5d2cc4c43ff672539eea7ef
Reviewed-on: http://review.whamcloud.com/10485
Tested-by: Jenkins
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Minh Diep <minh.diep@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-5102 utils: Look for modules in $LUSTRE/utils/.libs

This allows locally built lustre utils to look for files outside of
the normal libdir location, and thus be tested without a full install.

Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: I0f3c3446ddc9aed3cf494c597f4c0a4c432478de
Reviewed-on: http://review.whamcloud.com/10468
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-4438 utils: handle ct_setup() errors

Problem has been encountered causing sanity-hsm/test_402 errors
because copytool threads were found still alive after MDCs
deactivation. This appears to be due to no ct_setup() error
handling with continuing+unnecessary startup actions to occur.
Also, now that copytool will exit earlier, HSMTOOL_NOERROR variable
has been added to allow errors in copytool_setup().

Signed-off-by: Bruno Faccini <bruno.faccini@intel.com>
Change-Id: I108ea679faf2731f2a64fb08d2f8fba9db01c71f
Reviewed-on: http://review.whamcloud.com/9853
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-4957 ofd: convert FID to OSTID before put it on wire

For the compatible purpose, OFD has to convert the FID(IDIF)
to ost_id before reply to MDT(in ofd_create_hdl), because the
old MDT(<2.6) can not deal with IDIF, but only ostid.

Do not LASSERT for comparing OFD precreate fids with local
used FID, instead it will just return -ESTALE.

Change-Id: Ic35cca7a78bff2e4ca24f507a2c32666ab032579
Signed-off-by: Wang Di <di.wang@intel.com>
Reviewed-on: http://review.whamcloud.com/10580
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
LU-5151 lnet: return +ve for blocked lnet messsage

returned value of lnet_post_send_locked and
lnet_post_routed_recv_locked are changed to -ve by:
http://review.whamcloud.com/#/c/9369/

this is wrong because callers rely on +ve to identify blocked
message which is not a failure.

To respect linux kernel coding style and not use positive error
code, this patch adds two macros as non-error returned values of
these functions:
  LNET_CREDIT_OK	has credit for message
  LNET_CREDIT_WAIT	no credit and message is blocked

both these functions will return these two values instead of 0
and EAGAIN

Signed-off-by: Liang Zhen <liang.zhen@intel.com>
Signed-off-by: James Simmons <uja.ornl@gmail.com>
Change-Id: Id809e4fa6e22780a0bd9ad9c0f0ef96b2c9aa879
Reviewed-on: http://review.whamcloud.com/10625
Tested-by: Jenkins
Reviewed-by: Chris Horn <hornc@cray.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-4214 target: LWP failover should create new export

Upon reconnection from new NID LWP client need to create new
export and destroy old one like that is done for MDS connection

Signed-off-by: Mikhail Pershin <mike.pershin@intel.com>
Change-Id: Id21a742a978f629e2324bc568a1a50c2922fe3cc
Reviewed-on: http://review.whamcloud.com/8465
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Johann Lombardi <johann.lombardi@intel.com>
LU-4793 clio: Reduce memory overhead of per-page allocation

A page in clio used to occupy 584 bytes, which will use size-1024
slab cache. This patch reduces the per-page overhead to 512 bytes
so it can use size-512 instead.

Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: I54d7ed7b64d5987ddaafbf16edafa5cdf491b0a1
Reviewed-on: http://review.whamcloud.com/10070
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bobi Jam <bobijam@gmail.com>