Whamcloud - gitweb
fs/lustre-release.git
8 years agoLU-7354 osd: avoid NULL pointer in osd_obj_update_entry 10/17010/3
Fan Yong [Sun, 13 Sep 2015 09:41:13 +0000 (17:41 +0800)]
LU-7354 osd: avoid NULL pointer in osd_obj_update_entry

In osd_obj_update_entry(), the variable @oi_fid may be NULL.
We need to check such case before further using it to avoid
accessing invalid RAM.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Ibf47e949d69f0b9e5657a6dce2007fe4f6f1a9f6
Reviewed-on: http://review.whamcloud.com/17010
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7243 misc: update Intel copyright messages 2015 58/16758/3
Andreas Dilger [Tue, 6 Oct 2015 23:25:40 +0000 (17:25 -0600)]
LU-7243 misc: update Intel copyright messages 2015

Update copyright messages in files modified by Intel employees
in 2015 by non-trivial patches.  Exclude patches that are only
deleting code, renaming functions, or adding or removing whitespace.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I70fe6a346790e15d23606a3f380e7ef8fb8b84a0
Reviewed-on: http://review.whamcloud.com/16758
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7230 llite: clear dir stripe md in ll_iget 77/16677/15
Di Wang [Thu, 8 Oct 2015 07:51:16 +0000 (00:51 -0700)]
LU-7230 llite: clear dir stripe md in ll_iget

If ll_iget fails during inode initialization, especially
during striped directory lookup after creation failed,
then it should clear stripe MD before make_bad_inode(),
because make_bad_inode() will reset the i_mode, which
can cause ll_clear_inode() skip freeing those stripe MD.

Remove the name entry from the directory, once creation
failed. Note: this will not rollback all of local
operation, and LFSCK will take care of the orphan object.

Add sanity.sh 300p to verify the case.

And also enable lfs rm_entry for local object as well,
because sometimes it is quite possible to create the
local corrupted striped directory, and we might need
use "lfs rm_entry" to delete the corrupted striped dir.

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: I892c52117b83c8348aa0ceb888e73c84e79ffe46
Reviewed-on: http://review.whamcloud.com/16677
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>
8 years agoLU-6634 llog: destroy plain llog if init fails 27/16427/15
Alex Zhuravlev [Tue, 15 Sep 2015 09:36:35 +0000 (12:36 +0300)]
LU-6634 llog: destroy plain llog if init fails

llog_cat_add_rec() should destroy the plain llog
in the same transaction if initialization of that
failed. also, llog_osd_write_rec() should check
the object still exists as it's possible that
another thread failed to initialize and destroyed
the llog.

Change-Id: I7b823d34b32b5caaf0cc17b4cfe278a07a78ec15
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/16427
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7277 lod: keep trying to get remote update log 86/16786/2
Di Wang [Thu, 8 Oct 2015 08:09:04 +0000 (01:09 -0700)]
LU-7277 lod: keep trying to get remote update log

Because the remote MDT might be in recovery at the same
time, let's Keep trying to get remote update log until
the recovery is abort.

Signed-off-by: Di Wang <di.wang@intel.com>
Change-Id: Id9543201ce543be730e73f9f51f3f7a0d10d3dfc
Reviewed-on: http://review.whamcloud.com/16786
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6992 test: wait device to be registered 81/16781/5
Hongchao Zhang [Thu, 22 Oct 2015 19:26:45 +0000 (03:26 +0800)]
LU-6992 test: wait device to be registered

in mount_facet, the device label can only be used after the device
registered to MGS and it was rewritten.

Change-Id: I9ed65631391f2be84e484e409fbfe59020d982be
Signed-off-by: Hongchao Zhang <hongchao.zhang@intel.com>
Reviewed-on: http://review.whamcloud.com/16781
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@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>
8 years agoLU-6627 mdc: quiet console message for known -EINTR 11/14911/11
Andreas Dilger [Thu, 21 May 2015 17:58:03 +0000 (11:58 -0600)]
LU-6627 mdc: quiet console message for known -EINTR

If a user process is waiting for MDS recovery during close, but the
process is interrupted, the file is still closed but it prints a
message on the console.  Quiet the console message for -EINTR, since
this is expected behaviour.

Fix code style issues in this function.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I3bc7284bb7014dbaeb9bfb27a4e98a8abb4a54b6
Reviewed-on: http://review.whamcloud.com/14911
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-5187 ofd: Fix precreate console warning 67/10767/4
Nathaniel Clark [Fri, 20 Jun 2014 14:37:42 +0000 (10:37 -0400)]
LU-5187 ofd: Fix precreate console warning

Alter console warning to be more explanitory.  Also add debug log
message to save developer centric info.

Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: Ib1192562f75b1e2a2c8c9f4ee476da54ebeb1a9a
Reviewed-on: http://review.whamcloud.com/10767
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-5472 tests: export UMOUNT to avoid SLES12 issue 45/16445/10
Yang Sheng [Fri, 23 Oct 2015 18:32:33 +0000 (02:32 +0800)]
LU-5472 tests: export UMOUNT to avoid SLES12 issue

sles12 umount command has issue with '-d' option.
it will report error while a absolute pathname
of mountpoint present with '-d'. So we export
UMOUNT to avoid such problem. In fact, loopdev
can be free automaticly. So '-d' needn't given
explicity.  But consider compatibility we still
keep it.
Also include http://review.whamcloud.com/#/c/14799/
port patch to master.
In SLES12, umount command will run statfs() on the
filesystem, which will cause unmounting Lustre client
hang when OST is unavailable. This patch adds "-f"
option to zconf_umount in conf-sanity.sh to avoid the
issue.

Test-Parameters: alwaysuploadlogs envdefinitions=ONLY=32 clientdistro=sles12 mdtcount=1 testlist=sanity
Test-Parameters: alwaysuploadlogs envdefinitions=SLOW=yes clientdistro=sles12 mdtcount=1 testlist=conf-sanity
Signed-off-by: Yang Sheng <yang.sheng@intel.com>
Change-Id: If466c2101e0db52b5ec1f7273a846dc2497cfb84
Reviewed-on: http://review.whamcloud.com/16445
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Jenkins
Reviewed-by: Jian Yu <jian.yu@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-5770 osd: find bufsize in declare_xattr_set 12/12412/11
Alexander Zarochentsev [Fri, 24 Oct 2014 03:42:27 +0000 (07:42 +0400)]
LU-5770 osd: find bufsize in declare_xattr_set

mdd_link/mdd_unlink need to know LINKEA buffer size before
transaction start for correct estimation of tx credits.
In case if xattr size not known, make a call to osd_xattr_set()
to find correct buffer size.

Xyratex-bug-id: MRP-2093
Signed-off-by: Alexander Zarochentsev <alexander.zarochentsev@seagate.com>
Change-Id: I890e8182bd2d191a0322d25f0684f2a220873546
Reviewed-on: http://review.whamcloud.com/12412
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Faccini Bruno <bruno.faccini@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7039 llog: skip to next chunk for corrupt record 40/16740/3
Di Wang [Mon, 5 Oct 2015 03:34:41 +0000 (20:34 -0700)]
LU-7039 llog: skip to next chunk for corrupt record

Skip to next chunk if current record is corrupted.

Signed-off-by: Di Wang <di.wang@intel.com>
Change-Id: I7729ca1b10646fa796a3f94aabe39d8d36cf613a
Reviewed-on: http://review.whamcloud.com/16740
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>
8 years agoLU-7325 ldiskfs: use correct types for inode num 13/16913/4
Alexander Zarochentsev [Thu, 22 Oct 2015 12:49:00 +0000 (15:49 +0300)]
LU-7325 ldiskfs: use correct types for inode num

using signed integer for inode numbers in large EA code
resulting incorrect inode numbers when casting to
unsigned long in ext4_iget() call.

Seagate-bug-id: MRP-3025
Signed-off-by: Alexey Lyashkov <alexey.lyashkov@seagate.com>
Signed-off-by: Alexander Zarochentsev <alexander.zarochentsev@seagate.com>
Change-Id: I49e578a87c4d0f0274a9a42151675822f57c1c5f
Reviewed-on: http://review.whamcloud.com/16913
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6385 tests: sync I/O in obdfilter-survey 42/16942/2
Nathaniel Clark [Mon, 26 Oct 2015 16:14:49 +0000 (12:14 -0400)]
LU-6385 tests: sync I/O in obdfilter-survey

This ensures I/O is synced before each test.  Previous patch
http://review.whamcloud.com/14143 works only with the Lustre test
framework.  This will ensure I/O is always sysnced.

Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: Ib19a9e4afd8ca83deceb78fe8fdb4d231da0bc40
Reviewed-on: http://review.whamcloud.com/16942
Tested-by: Jenkins
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@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>
8 years agoLU-6215 kernel: report 4.2.1 kernel support 69/16769/4
James Simmons [Wed, 28 Oct 2015 19:45:30 +0000 (15:45 -0400)]
LU-6215 kernel: report 4.2.1 kernel support

Add to the Lustre ChangeLog file support for 4.2.1 linux
kernels for clients and servers in the case of using the
latest ZFS backend.

Change-Id: If126c6c1dc8e46e0485f04090590759dc2eb1587
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/16769
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7040 test: skip sanity-hsm 12q for old MDSs 83/16683/2
John L. Hammond [Wed, 30 Sep 2015 14:52:48 +0000 (09:52 -0500)]
LU-7040 test: skip sanity-hsm 12q for old MDSs

Before 2.7.58 MDSs do not set OBD_MD_TSTATE in some of the cases that
they should. So skip sanity-hsm test_12q when running against these
servers.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I2ebe1b24e28bd4a0f5c03eace1c74678c7442c5f
Reviewed-on: http://review.whamcloud.com/16683
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Faccini Bruno <bruno.faccini@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
8 years agoLU-1032 build: DKMS RPM for Lustre Client modules 47/12347/22
Bruno Faccini [Mon, 20 Oct 2014 14:00:01 +0000 (16:00 +0200)]
LU-1032 build: DKMS RPM for Lustre Client modules

Permit Lustre Client (only) modules DKMS RPM creation.

This patch is a follow on to the first set of patches for LU-1032
that only allowed for the creation of Lustre Server (zfs only)
modules DKMS RPM.

It also changes original behavior by allowing to dynamically
modify dkms.conf on-target. This particularly helps to change
configure and list of modules to be built/installed list, like
to configure with gss to build ptlrpc_gss.ko module when
krb5_devel is present instead to have it been a mandatory
required dependency.

Also implements feature of DKMS RPM creation from Makefile
(thanks to mjmac), now in 2 separate SRPM/RPM steps and for both
Client and Server versions.

Also use an auto-increment (Array[${#Array[@]}]=) operator in
dkms.conf modules declarations to help for future changes when
there will be a need to add/delete modules.

Change in lustre/utils Makefile has been required to allow
building of ptlrpc_gss module with --enable-gss and without the
need to specify --enable-utils which was causing an unexpected
zfs user-land dependency for DKMS Server build.

To satisfy lustre rpm requirement of a package providing
lustre-osd, provides has been added to DKMS Server RPM since
it does actually generate osd-zfs module.

Signed-off-by: Michael MacDonald <michael.macdonald@intel.com>
Signed-off-by: Bruno Faccini <bruno.faccini@intel.com>
Change-Id: I278d50307a17fe49a06392351890946b7dd3557a
Reviewed-on: http://review.whamcloud.com/12347
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>
8 years agoLU-6889 kernel: new kerrnel [SLES11 SP4 3.0.101-65] 32/15832/19
Bob Glossman [Wed, 8 Jul 2015 17:35:47 +0000 (10:35 -0700)]
LU-6889 kernel: new kerrnel [SLES11 SP4 3.0.101-65]

add target and config files for SLES11 SP4

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

Test-Parameters: envdefinitions=ONLY=205 \
  testlist=sanity,sanity,sanity,sanity,sanity,sanity \
  clientdistro=sles11sp4 mdsdistro=sles11sp4 ossdistro=sles11sp4

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: Iba96fbbc834df76fbc1af019c5e67c4ca0282272
Reviewed-on: http://review.whamcloud.com/15832
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Minh Diep <minh.diep@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7299 utils: allow mkfs.lustre --index to specify in hex/dec 31/16831/6
Thomas Stibor [Thu, 15 Oct 2015 11:07:00 +0000 (13:07 +0200)]
LU-7299 utils: allow mkfs.lustre --index to specify in hex/dec

The mkfs.lustre --index argument should be able to handle hex
index values as well as decimal values, especially since the
OSTxxxx identifiers are printed in hexadecimal as well.

Signed-off-by: Thomas Stibor <t.stibor@gsi.de>
Change-Id: I9f7564e3d674353fbebef18bde1598c01bb5bb2c
Reviewed-on: http://review.whamcloud.com/16831
Tested-by: Jenkins
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
8 years agoLU-7186 lod: do not propagate size if stripeless 43/16743/6
Alex Zhuravlev [Wed, 7 Oct 2015 08:21:03 +0000 (11:21 +0300)]
LU-7186 lod: do not propagate size if stripeless

if a file has no stripes, but the size isn't zero,
then do not try to propagate this size to stripes.

Change-Id: I25401bcc41e3ea84a2b9158120f1e907af47fafa
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/16743
Reviewed-by: Frank Zago <fzago@cray.com>
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7086 tests: resolve /sbin symlink in test-framework.sh 06/16606/3
Emoly Liu [Wed, 23 Sep 2015 09:02:46 +0000 (17:02 +0800)]
LU-7086 tests: resolve /sbin symlink in test-framework.sh

In rhel7 and other new distros, /sbin is linked to /usr/sbin, so
the mount check in load_modules_local() is not matched anymore.
To avoid multiple bind mounts, this patch checks /sbin symlink
before using it directly.

Signed-off-by: Emoly Liu <emoly.liu@intel.com>
Change-Id: I287ccd81ae4187a381a7f94dee30338d20dd6155
Reviewed-on: http://review.whamcloud.com/16606
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7109 lfsck: update OST-index in IDIF inside OSD 82/16282/3
Fan Yong [Mon, 27 Jul 2015 01:02:57 +0000 (09:02 +0800)]
LU-7109 lfsck: update OST-index in IDIF inside OSD

Old IDIF used "0" as the OST index, that may cause compatibility
issues when update. There is switch inside osd-ldiskfs for controlling
whether convert old IDIF to new one. Once the real OST index became
part of the IDIF and stored on disk (in LMA EA), then the OST cannot
be downgraded.

Because the conversion switch is inside osd-ldiskfs, the LFSCK should
not update the IDIF-in-LMA, instead, leave it to be handled by OSD to
avoid downgrading trouble.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I9fee60ffabf732c0ab0734b1184e4e49638c9e88
Reviewed-on: http://review.whamcloud.com/16282
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6920 test: add some slack to jobstats expiry in test_205 53/16753/8
Bob Glossman [Wed, 7 Oct 2015 20:09:18 +0000 (13:09 -0700)]
LU-6920 test: add some slack to jobstats expiry in test_205

Add a tiny fudge factor to the time allowed for jobstats
to expire before checking on them.

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: Iff2c70e2522b0da0e9c2080cadde49b96a9af60a
Reviewed-on: http://review.whamcloud.com/16753
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Minh Diep <minh.diep@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6443 tests: add debugging to mmp.sh test 42/14442/3
Andreas Dilger [Fri, 10 Apr 2015 22:05:56 +0000 (16:05 -0600)]
LU-6443 tests: add debugging to mmp.sh test

Print out information about MMP intervals to help debug problems
in the mmp.sh tests.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I6865f1c4a59c83f0dc9e46953b9d7ac7cc3ebbe5
Reviewed-on: http://review.whamcloud.com/14442
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7245 socklnd: Bind peers to a specific CPT 10/16710/4
James Simmons [Tue, 6 Oct 2015 02:54:27 +0000 (22:54 -0400)]
LU-7245 socklnd: Bind peers to a specific CPT

Currently the socklnd driver doesn't support
CPT affinity for its peers. Binding peers to
a specific CPT and memory allocated to the
NUMA node belonging to the CPT should give a
performance boost.

Change-Id: I1cc418dc4ba6269e346a4aa1454de79e580e1fba
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/16710
Tested-by: Jenkins
Reviewed-by: Olaf Weber <olaf@sgi.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Amir Shehata <amir.shehata@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7232 statahead: lock leaks if statahead file recreated 41/16841/3
Lai Siyao [Fri, 16 Oct 2015 03:30:59 +0000 (11:30 +0800)]
LU-7232 statahead: lock leaks if statahead file recreated

During statahead file may be recreated, though this is rare case,
current code will leak the lock, this patch will release lock in
this case.

Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Change-Id: Ifc1fee0fe5a0f377badc3fdf6dc2a6950a26cff6
Reviewed-on: http://review.whamcloud.com/16841
Tested-by: Jenkins
Reviewed-by: Fan Yong <fan.yong@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>
8 years agoLU-6895 lfsck: conflict lu_dirent_attrs members 21/16821/4
Fan Yong [Sat, 29 Aug 2015 00:15:55 +0000 (08:15 +0800)]
LU-6895 lfsck: conflict lu_dirent_attrs members

It is by wrong that the LUDA_UNKNOWN is defined the same value as
LUDA_UPGRADE.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I4067d7852166fab77df69736b3a160e9f67a6abc
Reviewed-on: http://review.whamcloud.com/16821
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7263 mdt: put mnew in mdt_reint_rename_internal() 51/16751/3
John L. Hammond [Wed, 7 Oct 2015 18:11:52 +0000 (13:11 -0500)]
LU-7263 mdt: put mnew in mdt_reint_rename_internal()

In mdt_reint_rename_internal() if the mnew object is remote then put
it before returning.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I7a380f2d54d6546a9009c062ead7c77b8c8a88ee
Reviewed-on: http://review.whamcloud.com/16751
Tested-by: Jenkins
Reviewed-by: wangdi <di.wang@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7091 mdd: refresh nlink after update linkea 36/16236/13
Di Wang [Wed, 7 Oct 2015 04:31:53 +0000 (21:31 -0700)]
LU-7091 mdd: refresh nlink after update linkea

It should refresh nlink after update linkea, because
it might decrease the nlink of source object,
otherwise it might try to delete the stripeEA with
wrong nlink.

And also before migration, it should check if all
of the parents of the migrating object are in the
target MDT, only checking if these parents parent
are remote is not enough.

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: Icfb4ffc666855f0c7f35f004ecc864c422610135
Reviewed-on: http://review.whamcloud.com/16236
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7039 tgt: Delete txn_callback correctly in tgt_init() 97/16797/3
Di Wang [Thu, 8 Oct 2015 23:15:29 +0000 (16:15 -0700)]
LU-7039 tgt: Delete txn_callback correctly in tgt_init()

txn_callback should only be deleted after initialization.

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: Ifdfabe6439c1413d02782d0dfe7a14d6b82ed0df
Reviewed-on: http://review.whamcloud.com/16797
Tested-by: Jenkins
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoNew tag 2.7.62 2.7.62 v2_7_62 v2_7_62_0
Oleg Drokin [Mon, 26 Oct 2015 14:54:23 +0000 (10:54 -0400)]
New tag 2.7.62

Change-Id: Icf66ec576577b7054046d889335ee019e4853351
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7285 update: update next transno only if recovery succeeds 99/16799/3
Di Wang [Thu, 8 Oct 2015 23:58:35 +0000 (16:58 -0700)]
LU-7285 update: update next transno only if recovery succeeds

Update obd_next_recovery_transno only if update recovery
succeeds, otherwise if client send replay request with the
same transno, it will cause panic in check_for_next_transno()

LustreError: 4529:0:(ldlm_lib.c:1826:check_for_next_transno())
ASSERTION( req_transno >= next_transno ) failed: req_transno:
1404455952555, next_transno: 1404455952556

LustreError: 4529:0:(ldlm_lib.c:1826:check_for_next_transno()) LBUG
Call Trace:
[<ffffffffa074c875>] libcfs_debug_dumpstack+0x55/0x80 [libcfs]
[<ffffffffa074ce77>] lbug_with_loc+0x47/0xb0 [libcfs]
[<ffffffffa0a8640c>] check_for_next_transno+0x68c/0x6d0 [ptlrpc]
[<ffffffffa089a6ed>] ? keys_fini+0x16d/0x240 [obdclass]
[<ffffffffa0a85d80>] ? check_for_next_transno+0x0/0x6d0 [ptlrpc]
[<ffffffffa0a82883>] target_recovery_overseer+0x93/0x320 [ptlrpc]
[<ffffffffa0a81000>] ? exp_req_replay_healthy+0x0/0x30 [ptlrpc]
[<ffffffffa0a89510>] target_recovery_thread+0x6d0/0x2380 [ptlrpc]
[<ffffffffa0a88e40>] ? target_recovery_thread+0x0/0x2380 [ptlrpc]
[<ffffffff8109e78e>] kthread+0x9e/0xc0

Add replay-single.sh 71a to verify double MDTs failover.

Signed-off-by: Di Wang <di.wang@intel.com>
Change-Id: Id74768a851985a1cec53e6bce28a0bf00b3fc1c7
Reviewed-on: http://review.whamcloud.com/16799
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6271 osc: faulty assertion in osc_object_prune() 27/16727/5
Jinshan Xiong [Tue, 6 Oct 2015 00:45:36 +0000 (17:45 -0700)]
LU-6271 osc: faulty assertion in osc_object_prune()

There may exist freeing pages in object's radix tree at
the time of osc_object_prune(), which causes failure at
the assertion of (osc->oo_npages == 0). This is a safe
race.

This problem is introduced in change at:
Lustre-commit: e8b421531c166b91ab5c1f417570c544bcdd050c
Lustre-change: http://review.whamcloud.com/16456

Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: I7d4e59bccfb012b870a2e8fa7ab99774def57349
Reviewed-on: http://review.whamcloud.com/16727
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7195 jobstats: Allow setting static content for jobid_var 98/16598/7
Oleg Drokin [Mon, 12 Oct 2015 15:33:34 +0000 (11:33 -0400)]
LU-7195 jobstats: Allow setting static content for jobid_var

When enabling jobstats a ten percent performance was observed
when running any job. This was due to the expense of the kernel
acquiring the process environment state. Create a alternative
way to setting jobid_var besides meddling directly in process
environment variables (which is also not possible on certain
platforms due to not exported  symbols), create jobid_name
proc file to represent this info (to be filled by job scheduler
epilogue). Is this based on the upstream commit

Linux-commit : 76133e66b1417a73c0950d0716219d09ee21d595

except it doesn't remove the process environment probing to
allow backwards compatiblity. This patch doesn't notify the
admins that using old jobstat proc method has a heavy cost.

Change-Id: If81733e549222a7ab31b24673f0e9b8401541130
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
CC: Andreas Dilger <andreas.dilger@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-on: http://review.whamcloud.com/16598
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>
8 years agoLU-7261 ldiskfs: fix large_xattr overwrite 77/16777/4
Alexey Lyashkov [Fri, 9 Oct 2015 06:23:47 +0000 (00:23 -0600)]
LU-7261 ldiskfs: fix large_xattr overwrite

Handle the case where a large (external inode) xattr is being replaced
correctly.  The special case for this in ext4_set_xattr() was
incorrectly setting the offset of the xattr data within the inode
when it shouldn't have.

Add an e2fsck check of the large_xattr filesystem in conf-sanity
test_61 to verify this is working correctly.

Signed-off-by: Alexey Lyashkov <alexey.lyashkov@seagate.com>
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I27123d7985eff0538b6f64139cebc2f0f1806260
Reviewed-on: http://review.whamcloud.com/16777
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6921 test: failed to operate on TBF rules 05/16305/3
vinayakswami hariharmath [Tue, 8 Sep 2015 06:20:25 +0000 (11:50 +0530)]
LU-6921 test: failed to operate on TBF rules

Operate tbf rules on ost1 rather than ost0.
ost0 looks to be wrong target since OSTCOUNT starts from 1.

Signed-off-by: vinayakswami hariharmath <vinayakswami.hariharmath@seagate.com>
Change-Id: I57b4e1d09411638ba35b37473421c747958620cf
Reviewed-on: http://review.whamcloud.com/16305
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Li Xi <lixi@ddn.com>
8 years agoLU-6868 mdd: add changelog for migration 45/16645/7
wang di [Thu, 24 Sep 2015 07:35:33 +0000 (00:35 -0700)]
LU-6868 mdd: add changelog for migration

Add changelog for migration, so robinhood policy engine
can handle the migration command.

Add test_160d to verify the migration changelog

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: Iaa33dee607fcd79285f59bd3131d70b7e5329622
Reviewed-on: http://review.whamcloud.com/16645
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: Henri Doreau <henri.doreau@cea.fr>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7295 osp: do not warn on uncommitted changes 17/16817/2
Alex Zhuravlev [Wed, 14 Oct 2015 10:07:53 +0000 (13:07 +0300)]
LU-7295 osp: do not warn on uncommitted changes

there is no need to warn about uncommitted changes at umount.

Change-Id: I7a5578d7ea044553fa8a9544e1ee6998468842b4
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/16817
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6746 ptlrpc: Move IT_* definitions to lustre_idl.h 28/16228/7
Ben Evans [Mon, 12 Oct 2015 23:06:04 +0000 (19:06 -0400)]
LU-6746 ptlrpc: Move IT_* definitions to lustre_idl.h

Put IT_* definitions into an enum, as they're sent over the wire,
adjust calls, print statements, etc. to use the new enum.

Signed-off-by: Ben Evans <bevans@cray.com>
Change-Id: Ie6ad700ac185459ace72ea67563864e43c548ec3
Reviewed-on: http://review.whamcloud.com/16228
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6556 obdclass: re-allow catalog to wrap around 12/14912/28
Bruno Faccini [Thu, 21 May 2015 18:02:50 +0000 (20:02 +0200)]
LU-6556 obdclass: re-allow catalog to wrap around

Since patch for LU-4528 a LLOG catalog is no longer allowed to
wrap around. This is a regression and it can also cause catalog
corruption (grow behind max-size/records) upon upgrading if
catalog has already wrap around.

This patch reintroduces catalog wrap around capability, and also
introduces a new test to extensively check it.

Signed-off-by: Bruno Faccini <bruno.faccini@intel.com>
Change-Id: Ife9a452199895ed9d9f43eb9fdeeac15322e272a
Reviewed-on: http://review.whamcloud.com/14912
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-4341 test: skip failing sanity test 170 46/16146/5
Bob Glossman [Mon, 31 Aug 2015 19:22:32 +0000 (12:22 -0700)]
LU-4341 test: skip failing sanity test 170

Since sanity.sh, test_170 always fails in sles11 testing
add it to ALWAYS_EXCEPT when testing on sles11.
This can be removed when we have a real fix for the test.

Test-Parameters: mdsdistro=sles11sp3 ossdistro=sles11sp3 \
  clientdistro=sles11sp3 mdsfilesystemtype=ldiskfs \
  mdtfilesystemtype=ldiskfs ostfilesystemtype=ldiskfs \
  testlist=sanity

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I76a2bfaad2bff8786ea832a4c9cabb11a71c11e4
Reviewed-on: http://review.whamcloud.com/16146
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
8 years agoLU-7153 build: Update SPL/ZFS to 0.6.5.2 99/16399/9
Nathaniel Clark [Mon, 14 Sep 2015 16:51:48 +0000 (12:51 -0400)]
LU-7153 build: Update SPL/ZFS to 0.6.5.2

ZFS/SPL 0.6.5.2

Bug Fixes
* Init script fixes zfsonlinux/zfs#3816
* Fix uioskip crash when skip to end zfsonlinux/zfs#3806
  zfsonlinux/zfs#3850
* Userspace can trigger an assertion zfsonlinux/zfs#3792
* Fix quota userused underflow bug zfsonlinux/zfs#3789
* Fix performance regression from unwanted synchronous I/O
  zfsonlinux/zfs#3780
* Fix deadlock during ARC reclaim zfsonlinux/zfs#3808
  zfsonlinux/zfs#3834
* Fix deadlock with zfs receive and clamscan zfsonlinux/zfs#3719
* Allow NFS activity to defer snapshot unmounts zfsonlinux/zfs#3794
* Linux 4.3 compatibility zfsonlinux/zfs#3799
* Zed reload fixes zfsonlinux/zfs#3773
* Fix PAX Patch/Grsec SLAB_USERCOPY panic zfsonlinux/zfs#3796
* Always remove during dkms uninstall/update zfsonlinux/spl#476

ZFS/SPL 0.6.5.1

Bug Fixes

* Fix zvol corruption with TRIM/discard zfsonlinux/zfs#3798
* Fix NULL as mount(2) syscall data parameter zfsonlinux/zfs#3804
* Fix xattr=sa dataset property not honored zfsonlinux/zfs#3787

ZFS/SPL 0.6.5

Supported Kernels

* Compatible with 2.6.32 - 4.2 Linux kernels.

New Functionality

* Support for temporary mount options.
* Support for accessing the .zfs/snapshot over NFS.
* Support for estimating send stream size when source is a bookmark.
* Administrative commands are allowed to use reserved space improving
  robustness.
* New notify ZEDLETs support email and pushbullet notifications.
* New keyword 'slot' for vdev_id.conf to control what is use for the
  slot number.
* New zpool export -a option unmounts and exports all imported pools.
* New zpool iostat -y omits the first report with statistics since
  boot.
* New zdb can now open the root dataset.
* New zdb can print the numbers of ganged blocks.
* New zdb -ddddd can print details of block pointer objects.
* New zdb -b performance improved.
* New zstreamdump -d prints contents of blocks.

New Feature Flags

* large_blocks - This feature allows the record size on a dataset to
be set larger than 128KB. We currently support block sizes from 512
bytes to 16MB. The benefits of larger blocks, and thus larger IO, need
to be weighed against the cost of COWing a giant block to modify one
byte. Additionally, very large blocks can have an impact on I/O
latency, and also potentially on the memory allocator. Therefore, we
do not allow the record size to be set larger than zfs_max_recordsize
(default 1MB). Larger blocks can be created by changing this tuning,
pools with larger blocks can always be imported and used, regardless
of this setting.

* filesystem_limits - This feature enables filesystem and snapshot
limits. These limits can be used to control how many filesystems
and/or snapshots can be created at the point in the tree on which the
limits are set.

*Performance*

* Improved zvol performance on all kernels (>50% higher throughput,
  >20% lower latency)
* Improved zil performance on Linux 2.6.39 and earlier kernels (10x
  lower latency)
* Improved allocation behavior on mostly full SSD/file pools (5% to
  10% improvement on 90% full pools)
* Improved performance when removing large files.
* Caching improvements (ARC):
** Better cached read performance due to reduced lock contention.
** Smarter heuristics for managing the total size of the cache and the
   distribution of data/metadata.
** Faster release of cached buffers due to unexpected memory pressure.

*Changes in Behavior*

* Default reserved space was increased from 1.6% to 3.3% of total pool
capacity. This default percentage can be controlled through the new
spa_slop_shift module option, setting it to 6 will restore the
previous percentage.

* Loading of the ZFS module stack is now handled by systemd or the
sysv init scripts. Invoking the zfs/zpool commands will not cause the
modules to be automatically loaded. The previous behavior can be
restored by setting the ZFS_MODULE_LOADING=yes environment variable
but this functionality will be removed in a future release.

* Unified SYSV and Gentoo OpenRC initialization scripts. The previous
functionality has been split in to zfs-import, zfs-mount, zfs-share,
and zfs-zed scripts. This allows for independent control of the
services and is consistent with the unit files provided for a systemd
based system. Complete details of the functionality provided by the
updated scripts can be found here.

* Task queues are now dynamic and worker threads will be created and
destroyed as needed. This allows the system to automatically tune
itself to ensure the optimal number of threads are used for the active
workload which can result in a performance improvement.

* Task queue thread priorities were correctly aligned with the default
Linux file system thread priorities. This allows ZFS to compete fairly
with other active Linux file systems when the system is under heavy
load.

* When compression=on the default compression algorithm will be lz4 as
long as the feature is enabled. Otherwise the default remains lzjb.
Similarly lz4 is now the preferred method for compressing meta data
when available.

* The use of mkdir/rmdir/mv in the .zfs/snapshot directory has been
disabled by default both locally and via NFS clients. The
zfs_admin_snapshot module option can be used to re-enable this
functionality.

* LBA weighting is automatically disabled on files and SSDs ensuring
the entire device is used fairly.
* iostat accounting on zvols running on kernels older than Linux 3.19
is no longer supported.

* The known issues preventing swap on zvols for Linux 3.9 and newer
kernels have been resolved. However, deadlocks are still possible for
older kernels.

Module Options

* Changed zfs_arc_c_min default from 4M to 32M to accommodate large
  blocks.
* Added metaslab_aliquot to control how many bytes are written to a
  top-level vdev before moving on to the next one. Increasing this may
  be helpful when using blocks larger than 1M.
* Added spa_slop_shift, see 'reserved space' comment in the 'changes
  to behavior' section.
* Added zfs_admin_snapshot, enable/disable the use of mkdir/rmdir/mv
  in .zfs/snapshot directory.
* Added zfs_arc_lotsfree_percent, throttle I/O when free system
  memory drops below this percentage.
* Added zfs_arc_num_sublists_per_state, used to allow more
  fine-grained locking.
* Added zfs_arc_p_min_shift, used to set a floor on arc_p.
* Added zfs_arc_sys_free, the target number of bytes the ARC should
  leave as free.
* Added zfs_dbgmsg_enable, used to enable the 'dbgmsg' kstat.
* Added zfs_dbgmsg_maxsize, sets the maximum size of the dbgmsg
  buffer.
* Added zfs_max_recordsize, used to control the maximum allowed
  record size.
* Added zfs_arc_meta_strategy, used to select the preferred ARC
  reclaim strategy.
* Removed metaslab_min_alloc_size, it was unused internally due to
  prior changes.
* Removed zfs_arc_memory_throttle_disable, replaced by
  zfs_arc_lotsfree_percent.
* Removed zvol_threads, zvols no longer require a dedicated task
  queue.
* See zfs-module-parameters(5) for complete details on available
  module options.

Bug Fixes

* Improved documentation with many updates, corrections, and
  additions.
* Improved sysv, systemd, initramfs, and dracut support.
* Improved block pointer validation before issuing IO.
* Improved scrub pause heuristics.
* Improved test coverage.
* Improved heuristics for automatic repair when zfs_recover=1 module
  option is set.
* Improved debugging infrastructure via 'dbgmsg' kstat.
* Improved zpool import performance.
* Fixed deadlocks in direct memory reclaim.
* Fixed deadlock on db_mtx and dn_holds.
* Fixed deadlock in dmu_objset_find_dp().
* Fixed deadlock during zfs rollback.
* Fixed kernel panic due to tsd_exit() in ZFS_EXIT.
* Fixed kernel panic when adding a duplicate dbuf to dn_dbufs.
* Fixed kernel panic due to security / ACL creation failure.
* Fixed kernel panic on unmount due to iput taskq.
* Fixed panic due to corrupt nvlist when running utilities.
* Fixed panic on unmount due to not waiting for all znodes to be
  released.
* Fixed panic with zfs clone from different source and target pools.
* Fixed NULL pointer dereference in dsl_prop_get_ds().
* Fixed NULL pointer dereference in dsl_prop_notify_all_cb().
* Fixed NULL pointer dereference in zfsdev_getminor().
* Fixed I/Os are now aggregated across ZIO priority classes.
* Fixed .zfs/snapshot auto-mounting for all supported kernels.
* Fixed 3-digit octal escapes by changing to 4-digit which
  disambiguate the output.
* Fixed hard lockup due to infinite loop in zfs_zget().
* Fixed misreported 'alloc' value for cache devices.
* Fixed spurious hung task watchdog stack traces.
* Fixed direct memory reclaim deadlocks.
* Fixed module loading in zfs import systemd service.
* Fixed intermittent libzfs_init() failure to open /dev/zfs.
* Fixed hot-disk sparing for disk vdevs
* Fixed system spinning during ARC reclaim.
* Fixed formatting errors in {{zfs(8)}}
* Fixed zio pipeline stall by having callers invoke next stage.
* Fixed assertion failed in zrl_tryenter().
* Fixed memory leak in make_root_vdev().
* Fixed memory leak in zpool_in_use().
* Fixed memory leak in libzfs when doing rollback.
* Fixed hold leak in dmu_recv_end_check().
* Fixed refcount leak in bpobj_iterate_impl().
* Fixed misuse of input argument in traverse_visitbp().
* Fixed missing missing mutex_destroy() calls.
* Fixed integer overflows in dmu_read/dmu_write.
* Fixed verify() failure in zio_done().
* Fixed zio_checksum_error() to only include info for ECKSUM errors.
* Fixed -ESTALE to force lookup on missing NFS file handles.
* Fixed spurious failures from dsl_dataset_hold_obj().
* Fixed zfs compressratio when using with 4k sector size.
* Fixed spurious watchdog warnings in prefetch thread.
* Fixed unfair disk space allocation when vdevs are of unequal size.
* Fixed ashift accounting error writing to cache devices.
* Fixed zdb -d has false positive warning when
  feature@large_blocks=disabled.
* Fixed zdb -h | -i seg fault.
* Fixed force-received full stream into a dataset if it has a
  snapshot.
* Fixed snapshot error handling.
* Fixed 'hangs' while deleting large files.
* Fixed lock contention (rrw_exit) while running a read only load.
* Fixed error message when creating a pool to include all problematic
  devices.
* Fixed Xen virtual block device detection, partitions are now
  created.
* Fixed missing E2BIG error handling in zfs_setprop_error().
* Fixed zpool import assertion in libzfs_import.c.
* Fixed zfs send -nv output to stderr.
* Fixed idle pool potentially running itself out of space.
* Fixed narrow race which allowed read(2) to access beyond fstat(2)'s
  reported end-of-file.
* Fixed support for VPATH builds.
* Fixed double counting of HDR_L2ONLY_SIZE in ARC.
* Fixed 'BUG: Bad page state' warning from kernel due to writeback
  flag.
* Fixed arc_available_memory() to check freemem.
* Fixed arc_memory_throttle() to check pageout.
* Fixed'zpool create warning when using zvols in debug builds.
* Fixed loop devices layered on ZFS with 4.1 kernels.
* Fixed zvol contribution to kernel entropy pool.
* Fixed handling of compression flags in arc header.
* Substantial changes to realign code base with illumos.
* Many additional bug fixes.

Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: I87c012aec9ec581b10a417d699dafc7d415abf63
Reviewed-on: http://review.whamcloud.com/16399
Tested-by: Jenkins
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
8 years agoLU-6155 osd-zfs: dbuf_hold_impl() called without the lock 41/13541/16
Isaac Huang [Tue, 27 Jan 2015 21:03:32 +0000 (14:03 -0700)]
LU-6155 osd-zfs: dbuf_hold_impl() called without the lock

The osd-zfs osd_count_not_mapped() calls dbuf_hold_impl() without
the required lock. In addition, dbuf_hold_impl() is an internal
function and has the expensive side effect of reading the block
from disk which would convert a full-block write into a
read-modify-write.

Since space estimation with ZFS is complicated any way, just use
the worst case as a rough estimate where a snapshot holds all current
blocks, i.e. no old space can be freed after the COW.

Skip test sanity-quota/23 on ZFS because overwrites on ZFS are not
guarenteed to be space neutral, and new worst-case assumptions will
always cause this test to fail.

Change-Id: Idf6f2ff80ff185ca8c0f38e1002ff90e457c3ca0
Signed-off-by: Isaac Huang <he.huang@intel.com>
Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Reviewed-on: http://review.whamcloud.com/13541
Tested-by: Jenkins
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6852 ldlm: Do not evict MDS-MDS connection 24/13224/45
wang di [Tue, 6 Oct 2015 18:36:43 +0000 (14:36 -0400)]
LU-6852 ldlm: Do not evict MDS-MDS connection

Do not put the MDT-MDT lock in the waiting lock list, so
it will evict MDTs due to the lock timeout between MDTs,
which can help the updates replay being finished finally,
so the DNE filesystem will be in consistent state after
recovery.

If for some reasons, the filesystem will hang there because
of these two changes, then the administrator should step in
and inactivate the MDT manually and run lfsck.

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: I83e7f8f55ee15730ed2d9826d08a398ddd72792a
Reviewed-on: http://review.whamcloud.com/13224
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6215 lnet: make o2iblnd buildable for 4.2.1 kernels 67/16767/3
James Simmons [Thu, 8 Oct 2015 14:33:06 +0000 (10:33 -0400)]
LU-6215 lnet: make o2iblnd buildable for 4.2.1 kernels

The commit f5c9753872cfa8ad47821be3fa924c74c4c8b0d
altered some macros for the ko2iblnd driver which wasn't
updated for the most recent kernels. A simple one line change
restores this support.

Change-Id: Iedd5e36451bf84aae29058e40a89055f451bfeec
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/16767
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.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>
8 years agoLU-2049 grant: delay grant releasing until commit 31/13531/14
Johann Lombardi [Mon, 26 Jan 2015 16:04:51 +0000 (17:04 +0100)]
LU-2049 grant: delay grant releasing until commit

Grant space acquired for a bulk write is released from the grant
accounting at the end of request processing. At that point, the
additional space consumed by the write request is believed to be
taken into account in any subsequent statfs call.
However, it does not seem to be the case with all backend
filesystems and more particularly ZFS which seems to provide
reliable space information only once the transaction associated
with the bulk write has committed. This creates a hole in the
grant space management where we can end up allocating more grant
space than really available.

This patch postpones grant releasing until transaction commit time.
This is done by registering a commit callback in charge of this
operation.
The patch also removes the implicit use of info->fti_used and stores
the amount of grant space to be released in obdo::o_grant_used.

Signed-off-by: Johann Lombardi <johann.lombardi@intel.com>
Change-Id: Id99b8712ffc1e5f103df4835b698127619b8ba85
Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-on: http://review.whamcloud.com/13531
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6204 misc: Add missing MODULE_VERSION for lustre 29/16729/4
James Simmons [Wed, 7 Oct 2015 14:46:27 +0000 (10:46 -0400)]
LU-6204 misc: Add missing MODULE_VERSION for lustre

Many of the lustre modules are missing a MODULE_VERSION.
Update the remaining MODULE_AUTHORS from Intel to OpenSFS.

Change-Id: Iae24d820c68c570c6e1399bbc7396060d21bdf41
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/16729
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>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7244 llite: Fix XATTR_NAME_EVM redefinition 07/16707/3
Dmitry Eremin [Sat, 12 Sep 2015 04:10:37 +0000 (23:10 -0500)]
LU-7244 llite: Fix XATTR_NAME_EVM redefinition

In Linux kernel version 3.2.x the defintion of XATTR_NAME_EVM exist
but defintion XATTR_NAME_IMA is not. So, check them independently.

Change-Id: Ib98534d278ae4d5eaaa86538beb9bf683b9cf807
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/16707
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7122 utils: changelog_{de}register cleanup 41/16341/4
Henri Doreau [Tue, 28 Apr 2015 14:15:41 +0000 (16:15 +0200)]
LU-7122 utils: changelog_{de}register cleanup

Document the -n switch for "changelog_register" in the man page.
Apply coding style and remove unneeded code.

Signed-off-by: Henri Doreau <henri.doreau@cea.fr>
Change-Id: I38431d371bc08f5068e5b7e3e62a7847dc64283d
Reviewed-on: http://review.whamcloud.com/16341
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6899 test: rename sanity test_162 to test_162a 10/15710/2
Elena Gryaznova [Fri, 24 Jul 2015 14:20:09 +0000 (17:20 +0300)]
LU-6899 test: rename sanity test_162 to test_162a

Made this test be run separately from others in this group.
- sanity test_162 is renamed to test_162a

Signed-off-by: Elena Gryaznova <elena.gryaznova@seagate.com>
Seagate-bug-id: MRP-2496
Reviewed-by: Alexander Lezhoev <alexander.lezhoev@seagate.com>
Change-Id: I945b5ab006722d230058ebf44538480e018964c9
Reviewed-on: http://review.whamcloud.com/15710
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-5733 lnet: Use lnet_is_route_alive for router aliveness 55/14055/2
Chris Horn [Thu, 12 Mar 2015 22:39:17 +0000 (17:39 -0500)]
LU-5733 lnet: Use lnet_is_route_alive for router aliveness

lctl show_route and lctl route_list will output router aliveness
information via lnet_get_route(). lnet_get_route() should use the
lnet_is_route_alive() function, introduced in e8a1124
http://review.whamcloud.com/7857, to determine route aliveness.

Signed-off-by: Chris Horn <hornc@cray.com>
Change-Id: Ie57aebeb6b4c80a3b89ed72fc6acbccbbd321be1
Reviewed-on: http://review.whamcloud.com/14055
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Amir Shehata <amir.shehata@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7184 lod: cleanup unused OSP devices on error 35/16635/3
John L. Hammond [Thu, 24 Sep 2015 20:46:31 +0000 (15:46 -0500)]
LU-7184 lod: cleanup unused OSP devices on error

In lod_add_device() if the OSP device to be added cannot be added then
call LCFG_CLEANUP in the cleanup path.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I01e0a5b0f541481a002cf60fcece05908ba3194f
Reviewed-on: http://review.whamcloud.com/16635
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6895 scrub: not trigger scrub if inode removed by race 39/16439/8
Fan Yong [Mon, 21 Sep 2015 09:10:48 +0000 (17:10 +0800)]
LU-6895 scrub: not trigger scrub if inode removed by race

When osd_consistency_check(), the target file may has just been
removed by other, so the osd_oi_lookup() will return -ENOENT to
the caller. Under such case, the osd_consistency_check() should
not trigger OI scrub.

On the other hand, if someone unlinked the file during OI scrub
adding the missed OI mapping to the OI file, the OI scrub needs
to remove the new added OI mapping.

Test-Parameters: alwaysuploadlogs \
envdefinitions=SLOW=yes,ENABLE_QUOTA=yes \
mdtfilesystemtype=ldiskfs mdsfilesystemtype=ldiskfs \
ostfilesystemtype=ldiskfs clientdistro=el7 ossdistro=el7 \
mdsdistro=el7 mdtcount=1 \
testlist=sanity-scrub,sanity-scrub,sanity-scrub,sanity-scrub

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I4703fc7f99d7b0a0f769127b5cdba5a2b992250d
Reviewed-on: http://review.whamcloud.com/16439
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6895 lfsck: not destroy directory when fix FID-in-dirent 40/16440/9
Fan Yong [Fri, 14 Aug 2015 04:34:54 +0000 (12:34 +0800)]
LU-6895 lfsck: not destroy directory when fix FID-in-dirent

When repair FID-in-dirent, the lfsck may append the FID after
the name entry directly. If checking the space after the name
entry improperly, it may over write the subsequent name entry
as to crash the whole directory.

Test-Parameters: alwaysuploadlogs envdefinitions=SLOW=yes,ENABLE_QUOTA=yes mdtfilesystemtype=ldiskfs mdsfilesystemtype=ldiskfs ostfilesystemtype=ldiskfs clientdistro=el7 ossdistro=el7 mdsdistro=el7 mdtcount=1 testlist=sanity-lfsck,sanity-lfsck,sanity-lfsck,sanity-lfsck
Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Ia1afc643fdfac205a5ea7aa9c365e45b4da90868
Reviewed-on: http://review.whamcloud.com/16440
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6386 tgt: don't update client data with smaller transno 13/14113/6
Mikhail Pershin [Thu, 1 Oct 2015 18:34:27 +0000 (21:34 +0300)]
LU-6386 tgt: don't update client data with smaller transno

Fix tgt_last_rcvd_update() to don't update transaction number
in client slot with smaller value.

Also patch removes outdated code about ted_lcd == NULL case.
This is not possible now, because lcd is set to NULL only
upon export destroy. This check was needed in past when that
lcd was set to NULL during export disconnect and some activity
was still possible on this export.

Signed-off-by: Mikhail Pershin <mike.pershin@intel.com>
Change-Id: I34717ea91493785beadcf725d49c4c9265b63f7c
Reviewed-on: http://review.whamcloud.com/14113
Tested-by: Jenkins
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7045 osd: enough credits for single indirect block write 30/16330/8
Fan Yong [Fri, 7 Aug 2015 05:13:03 +0000 (13:13 +0800)]
LU-7045 osd: enough credits for single indirect block write

For single indirect block case, if the i_data[LDISKFS_IND_BLOCK]
block is not allocated, the osd_calc_bkmap_credits() should declare
additional three blocks for subsequent write operation; otherwise,
preserve another single block for that.

Test-Parameters: alwaysuploadlogs envdefinitions=SLOW=yes,ENABLE_QUOTA=yes,CONF_SANITY_EXCEPT=45 mdtfilesystemtype=ldiskfs mdsfilesystemtype=ldiskfs ostfilesystemtype=ldiskfs clientdistro=el7 ossdistro=el7 mdsdistro=el7 mdtcount=1 testlist=conf-sanity,conf-sanity,conf-sanity,conf-sanity,conf-sanity
Test-Parameters: alwaysuploadlogs envdefinitions=SLOW=yes,ENABLE_QUOTA=yes,CONF_SANITY_EXCEPT=45 mdtfilesystemtype=ldiskfs mdsfilesystemtype=ldiskfs ostfilesystemtype=ldiskfs clientdistro=el7 ossdistro=el7 mdsdistro=el7 mdscount=2 mdtcount=4 testlist=conf-sanity,conf-sanity,conf-sanity,conf-sanity,conf-sanity
Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I76b50cef8df56b49dae7afe4d759a55599548479
Reviewed-on: http://review.whamcloud.com/16330
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Andreas Dilger <andreas.dilger@intel.com>
8 years agoLU-6842 clio: add cl_page LRU shrinker 30/15630/12
Bobi Jam [Fri, 17 Jul 2015 05:36:37 +0000 (13:36 +0800)]
LU-6842 clio: add cl_page LRU shrinker

Register cache shrinker to reclaim memory from cl_page LRU list.

Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: Id22fd1f1f8554dc03ac7313a58abd8cd3472ece0
Reviewed-on: http://review.whamcloud.com/15630
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7005 tests: wait client imports fully recovered 83/15983/10
wang di [Wed, 12 Aug 2015 06:25:05 +0000 (23:25 -0700)]
LU-7005 tests: wait client imports fully recovered

In conf-sanity.sh 50i, it should wait client and all MDTs recover
before creating files.

Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Signed-off-by: wang di <di.wang@intel.com>
Change-Id: I637ebfb6c531708e194df4c03d8657361d1b40ee
Reviewed-on: http://review.whamcloud.com/15983
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7196 kernel: kernel update RHEL 6.7 [2.6.32-573.7.1.el6] 08/16608/4
Bob Glossman [Tue, 22 Sep 2015 16:13:48 +0000 (09:13 -0700)]
LU-7196 kernel: kernel update RHEL 6.7 [2.6.32-573.7.1.el6]

update RHEL 6.7 kernel to 2.6.32-573.7.1.el6

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I1b90ac046582c052612219b8af1d172069bb01fd
Reviewed-on: http://review.whamcloud.com/16608
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6886 mdd: declare changelog store for POSIX ACLs 60/15660/3
Li Dongyang [Tue, 21 Jul 2015 05:20:49 +0000 (15:20 +1000)]
LU-6886 mdd: declare changelog store for POSIX ACLs

mdd_xattr_del() records POSIX ACL ops in the changelog,
we should declare them in mdd_declare_xattr_del().

Signed-off-by: Li Dongyang <dongyang.li@anu.edu.au>
Change-Id: I9184c7906d0da715c12b833bab080c56a1a07285
Reviewed-on: http://review.whamcloud.com/15660
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
8 years agoLU-7074 mdd: validate the linkea before packing 35/16235/13
wang di [Wed, 2 Sep 2015 10:51:28 +0000 (03:51 -0700)]
LU-7074 mdd: validate the linkea before packing

During migration, let's validate linkea entry before
packing the updates into the buffer and sending to
the remote MDT.

And also move retrieving linkea before transaction
start to avoiding sending RPC inside the transaction.

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: I36f235274d39560f6654fd76967e45400e8187ce
Reviewed-on: http://review.whamcloud.com/16235
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>
8 years agoLU-7228 build: make lustre rpm also provide lustre-client 73/16673/2
Frank Zago [Tue, 29 Sep 2015 20:47:38 +0000 (15:47 -0500)]
LU-7228 build: make lustre rpm also provide lustre-client

An application packaged in an rpm has to depend on either lustre or
lustre-client. Since the lustre rpm also includes everything the
lustre-client does, it should also provides lustre-client.

That way an application rpm only has to require lustre-client and not
juggle between a lustre or lustre-client dependency.

Signed-off-by: frank zago <fzago@cray.com>
Change-Id: I46ae8a96b0fbc6153a288bf45896f7b4ed1dfddc
Reviewed-on: http://review.whamcloud.com/16673
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Thomas LEIBOVICI <thomas.leibovici@cea.fr>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7082 test: fix synchronization of conf_sanity test_90 15/16215/6
Gregoire Pichon [Thu, 3 Sep 2015 12:04:34 +0000 (14:04 +0200)]
LU-7082 test: fix synchronization of conf_sanity test_90

Add some delays in check_max_mod_rpcs_in_flight() routine
to ensure background commands are launched before continuing
test execution.

Signed-off-by: Gregoire Pichon <gregoire.pichon@bull.net>
Change-Id: Ia1c943b7b58ecfe4f3fd80d6470a8ee2650789e7
Reviewed-on: http://review.whamcloud.com/16215
Tested-by: Jenkins
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@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>
8 years agoLU-6215 ldlm: handle percpu_counter_init change in 3.18+ kernels 49/16649/6
James Simmons [Thu, 1 Oct 2015 18:59:15 +0000 (14:59 -0400)]
LU-6215 ldlm: handle percpu_counter_init change in 3.18+ kernels

Starting in 3.18 kernels the function percpu_counter_init()
started to take memory allocation flags GFP_*. This patch
detects and handles this new case thus enabling lustre servers
to function up to 4.2.1 kernels.

Change-Id: Ibdb716987c367dc6ea93f6f9747fb70fd7ac2cbb
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/16649
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
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: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6527 ext4: journal_commit_callback optimization 11/14611/4
Sergey Cheremencev [Wed, 8 Apr 2015 19:18:07 +0000 (22:18 +0300)]
LU-6527 ext4: journal_commit_callback optimization

Don't take spinlock in tgt_cb_last_committed, if
exp_last_committed was updated with higher trasno.
Also change list_add_tail to list_add. It gives
advantages to ldiskfs in tgt_cb_last_committed.
In the beginning of list will be placed thandles
with the highest transaction numbers. So at the
first iterations we will have the highest transno.
It will save from extra call of
ptlrpc_commit_replies.

Change-Id: Ib6f9cc54dae7d9ac1ca301402299f308b825ede4
Signed-off-by: Sergey Cheremencev <sergey.cheremencev@seagate.com>
Xyratex-bug-id: MRP-2575
Reviewed-on: http://es-gerrit.xyus.xyratex.com:8080/5907
Tested-by: Jenkins
Reviewed-by: Alexander Zarochentsev <alexander.zarochentsev@seagate.com>
Reviewed-by: Alexander Boyko <alexander.boyko@seagate.com>
Tested-by: Alexander Lezhoev <alexander.lezhoev@seagate.com>
Reviewed-by: Alexey Leonidovich Lyashkov <alexey.lyashkov@seagate.com>
Reviewed-on: http://review.whamcloud.com/14611
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-3322 ko2iblnd: Support different configs between systems 94/11794/11
Jeremy Filizetti [Wed, 13 May 2015 21:19:04 +0000 (17:19 -0400)]
LU-3322 ko2iblnd: Support different configs between systems

This patch adds suppoort for ko2iblnd to have different values for
peer_credits and map_on_demand between systems.

Signed-off-by: Jeremy Filizetti <jeremy.filizetti@gmail.com>
Change-Id: Idfe5acdfdde5c2185488b92c96d7a83f1705a556
Reviewed-on: http://review.whamcloud.com/11794
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Amir Shehata <amir.shehata@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6584 osd: prevent int type overflow in osd_read_prep() 85/16685/2
Mikhail Pershin [Wed, 30 Sep 2015 18:11:04 +0000 (21:11 +0300)]
LU-6584 osd: prevent int type overflow in osd_read_prep()

There is possible type overflow in osd_read_prep() that may
cause too big value in lnb_rc followed by assertion.

Signed-off-by: Mikhail Pershin <mike.pershin@intel.com>
Change-Id: If17b533e7d0dcae7db57eefc0e5981821f628c56
Reviewed-on: http://review.whamcloud.com/16685
Tested-by: Jenkins
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Cliff White <cliff.white@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7222 tests: add Mulitple MDTs to test_84 62/16662/2
wang di [Sun, 27 Sep 2015 07:27:48 +0000 (00:27 -0700)]
LU-7222 tests: add Mulitple MDTs to test_84

Add multiple MDTs to conf_sanity.sh test_84(), and
add more information into the error message when
config log corrupted.

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: I45160d053f8dd52ca3230888e720fc04102d50ab
Reviewed-on: http://review.whamcloud.com/16662
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-3281 obdclass: remove structure holes to reduce memory 92/16692/2
Andreas Dilger [Thu, 9 May 2013 04:00:07 +0000 (22:00 -0600)]
LU-3281 obdclass: remove structure holes to reduce memory

Fix the alignment of fields in commonly-used structures to reduce
memory usage on the client and server.  Structures fixed:

ptlrpc_reply_state: reduced by 8 bytes
obd_device:         reduced by 16 bytes
niobuf_local:       reduced by 8 bytes

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: Ibe50c02e7ba823e337e846f90c6267cffc3ebbe5
Reviewed-on: http://review.whamcloud.com/16692
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7162 kernel: kernel update RHEL 7.1 [3.10.0-229.14.1.el7] 44/16444/4
Bob Glossman [Tue, 15 Sep 2015 19:52:23 +0000 (12:52 -0700)]
LU-7162 kernel: kernel update RHEL 7.1 [3.10.0-229.14.1.el7]

Update RHEL7.1 kernel to 3.10.0-229.14.1.el7

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

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: Iac500f0a6c2bbbe43014125b6327bacf5be4e59b
Reviewed-on: http://review.whamcloud.com/16444
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@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>
8 years agoRevert "LU-5951 ptlrpc: track unreplied requests" 34/16734/2
Oleg Drokin [Tue, 6 Oct 2015 17:21:02 +0000 (17:21 +0000)]
Revert "LU-5951 ptlrpc: track unreplied requests"

This causes a blocker LU-7252

This reverts commit c77e504fdac12d3be7d19a652d6c7da497018c76.

Change-Id: I1f442b9e8ce2e73484b229ede34b6b013e57ad70
Reviewed-on: http://review.whamcloud.com/16734
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Tested-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7179 scripts: init and ha script fixes 72/16472/4
Olaf Faaland [Thu, 17 Sep 2015 19:10:50 +0000 (12:10 -0700)]
LU-7179 scripts: init and ha script fixes

1) Because of a typo, Lustre.ha_v2 currently continues running after
determining that a bad resource-name has been provided by the user.

This commit fixes that typo so that die() is called when
the target-name is bad.

2) When a target is in recovery, lustre/scripts/lustre produces
improper output when run as follows, and a relevant target is in
recovery:

/etc/init.d/lustre status
/etc/init.d/lustre status local
/etc/init.d/lustre status foreign

A grep command in health_check() expects variables to contain the path
to /proc files containing recovery status, but these variables'
contents were altered in a prior commit.

e3ddff LU-5030 utils: fix hard-coded /proc/fs/lustre in scripts

This commit fixes health_check() to correctly report recovery by
obtaining recovery status via lctl and checking that with grep.

Signed-off-by: Olaf Faaland <faaland1@llnl.gov>
Change-Id: I25b8c0d82b637cf9d40feace7d8b964ffcd34251
Reviewed-on: http://review.whamcloud.com/16472
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Minh Diep <minh.diep@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7190 lfsck: tolerate MDT-OST communication failures 67/16667/2
Fan Yong [Fri, 14 Aug 2015 03:01:50 +0000 (11:01 +0800)]
LU-7190 lfsck: tolerate MDT-OST communication failures

During the 2nd phase scanning, the layout LFSCK slave engine on the
OST will query the master engine status from the MDT periodically.
Sometimes, the query RPC may hit failure that may because network
trouble, or the MDS node issues. To make the LFSCK can go ahead,
the slave engine will not wait for ever, instead, it will assume
the master engine has exited without notifying (or fail to notify)
the slave engine. So the slave engine will exit also and clean up
the LFSCK environment on the OST, including the OST-object access
bitmap that is used to find out orphan OST-objects.

On the other hand, the assumption of master engine exit maybe wrong.
If the master engine does not exit, and the network trouble between
the MDS and OSS recovered after the slave engine exited, then the
master engine will try to find out orphan OST-objects during its
2nd phase scanning. But because the slave engine has already exited
and released the OST-object access bitmap, the master engine has
no way to find out orphan OST-objects.

To avoid above trouble, we make some compromise: when the slave
engine on the OST failed to query the master engine status, it will
not exit at once, instead, it will try several times. If the network
trouble can recover during such interval, the LFSCK will go ahead;
otherwise, the slave engine will exit as original does.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Ifa06552c61d885297a54ab6bfdc92d48c8f56fa3
Reviewed-on: http://review.whamcloud.com/16667
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6204 misc: Update module author to OpenSFS 32/16132/5
James Simmons [Tue, 29 Sep 2015 17:30:00 +0000 (13:30 -0400)]
LU-6204 misc: Update module author to OpenSFS

The modinfo data has gone stale for the author information.
This patch changes all the MODULE_AUTHOR to OpenSFS.

Change-Id: I730356ddffa747194ad164e60ab1e90d58b1f87b
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/16132
Reviewed-by: Frank Zago <fzago@cray.com>
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: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-4178 tests: Wait requests to reach CDT before Cancel 73/13173/2
Bruno Faccini [Tue, 23 Dec 2014 10:28:59 +0000 (11:28 +0100)]
LU-4178 tests: Wait requests to reach CDT before Cancel

sanity-hsm/test_[200-202] sometimes fail because the Cancel
reaches the CDT before the operation it targets.
This patch verifies the operation has already been registered
at CDT before to send the Cancel.

Signed-off-by: Bruno Faccini <bruno.faccini@intel.com>
Change-Id: Ic6299a2fdb6b6a358a0ce6ecd5a17a8cf9839c87
Reviewed-on: http://review.whamcloud.com/13173
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: jacques-Charles Lafoucriere <jacques-charles.lafoucriere@cea.fr>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6215 llite: bio_endio only takes one argument for 4.2 78/16278/6
James Simmons [Tue, 29 Sep 2015 14:10:29 +0000 (10:10 -0400)]
LU-6215 llite: bio_endio only takes one argument for 4.2

For the 4.2 kernel bio_endio() is down to taking only
one argument. This patch handles this API change.

Change-Id: I22edc64e76d22241c8c809acf58cf64dd67bbb61
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/16278
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Jenkins
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Bob Glossman <bob.glossman@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>
8 years agoLU-6996 osd-ldiskfs: handle stale OI mapping cache 57/16157/8
Fan Yong [Mon, 21 Sep 2015 00:56:52 +0000 (08:56 +0800)]
LU-6996 osd-ldiskfs: handle stale OI mapping cache

On server side, the RPC service thread may cache one OI mapping
on its stack, such OI mapping will become invalid if some other
removed the object by race. If the RPC service thread uses the
cached OI mapping and finds the inode that has been unlinked
and reused by other object with no LMA generated yet, then
the osd_check_lma() should NOT skip such case to avoid the
caller mis-using the inode by wrong.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I46348a06327bcf944aff9af7914230573e2cef89
Reviewed-on: http://review.whamcloud.com/16157
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6741 osp: bulk transfer for osp_md_read 99/15899/11
wang di [Tue, 8 Sep 2015 15:05:49 +0000 (08:05 -0700)]
LU-6741 osp: bulk transfer for osp_md_read

Do buffer bulk read for osp_md_read(), so it would
be more efficient to retrieve update logs from remote
target.

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: Idcb7ef402d02ad46a33cb4d913763235a6215b5b
Reviewed-on: http://review.whamcloud.com/15899
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6865 mdd: check return value of posix_acl_from_xattr 33/15633/8
Li Dongyang [Fri, 17 Jul 2015 14:04:03 +0000 (00:04 +1000)]
LU-6865 mdd: check return value of posix_acl_from_xattr

passing a ERR_PTR to posix_acl_release will cause a crash

Signed-off-by: Li Dongyang <dongyang.li@anu.edu.au>
Change-Id: I1870121e2f4fb187cd8c58f263b651ddf83a574b
Reviewed-on: http://review.whamcloud.com/15633
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
8 years agoLU-6850 lnet: remove references to ib_reg_phys_mr() 88/15788/14
Amir Shehata [Wed, 29 Jul 2015 14:53:47 +0000 (07:53 -0700)]
LU-6850 lnet: remove references to ib_reg_phys_mr()

Removed references to ib_reg_phys_mr() and PMR which were added
to deal with some Chelsio specific scenario, but are no longer needed.

Signed-off-by: Amir Shehata <amir.shehata@intel.com>
Change-Id: I07fc8e66e5bb0ade286761612b9b878fae34c183
Reviewed-on: http://review.whamcloud.com/15788
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoNew tag 2.7.61 2.7.61 v2_7_61 v2_7_61_0
Oleg Drokin [Tue, 6 Oct 2015 01:44:33 +0000 (21:44 -0400)]
New tag 2.7.61

Change-Id: I31b1393fd2610dbc4b2d17b4730e5fb406ee04bf
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6984 lmv: remove nlink check in lmv_revalidate_slaves 90/16490/8
Di Wang [Wed, 26 Aug 2015 06:15:43 +0000 (23:15 -0700)]
LU-6984 lmv: remove nlink check in lmv_revalidate_slaves

Remove nlink < 2 check in lmv_revalidate_slaves, because
after nlink reaches to LDISKFS_LINK_MAX (65000), the inode
nlink will be set to 1.

Add test_300o in sanity to verify the case.

And also add version check for striped dir test.

Test-Parameters: envdefinitions=SLOW=yes testlist=sanity
Change-Id: I1a333ea7f68da9157679c1358df5f7a54aee8e51
Signed-off-by: di wang <di.wang@intel.com>
Reviewed-on: http://review.whamcloud.com/16490
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7091 mdt: release cross-MDT lock immediately 72/16372/8
wang di [Wed, 9 Sep 2015 17:51:39 +0000 (10:51 -0700)]
LU-7091 mdt: release cross-MDT lock immediately

Because the cross-MDT operations are relatively rare
compared with the normal operation, so let's release
cross-MDT lock immediately after the operation.

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: I48be60a13e9d10a92595c7faeb91dd8c106b2d42
Reviewed-on: http://review.whamcloud.com/16372
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-4423 ptlrpc: incorrect AT index type 93/16693/2
Oleg Drokin [Sun, 27 Sep 2015 19:07:45 +0000 (15:07 -0400)]
LU-4423 ptlrpc: incorrect AT index type

Arnd Bergmann <arnd@arndb.de> noticed that rq_at_index is incorrectly
labelled as time_t where as it's really an integer index.

Change-Id: Id6858def627054eb87d9860ce3d98984970ed481
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/16693
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
8 years agoLU-7218 osc: fix max_dirty_mb tunable setting limit 52/16652/2
Gregoire Pichon [Mon, 28 Sep 2015 11:30:29 +0000 (13:30 +0200)]
LU-7218 osc: fix max_dirty_mb tunable setting limit

The OSC tunable max_dirty_mb must be set to a value strictly lower
than 2048, as it is assumed by OSS in ofd_grant_alloc() routine.

Signed-off-by: Gregoire Pichon <gregoire.pichon@bull.net>
Change-Id: I66a0927c69749cdbb9cd48459af67a57c3e25af0
Reviewed-on: http://review.whamcloud.com/16652
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
8 years agoLU-7191 test: sanity 27z failed on DNE with ZFS 05/16605/2
Lai Siyao [Wed, 23 Sep 2015 06:35:55 +0000 (14:35 +0800)]
LU-7191 test: sanity 27z failed on DNE with ZFS

Because ZFS osd always use LPU64 as OST object name, sanity 27z
function check_seq_oid() should follow this semantic to check
obj, otherwise it will not find OST obj.

Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Change-Id: I28f9a2db291f89c16bd142886c195da64c6817bb
Reviewed-on: http://review.whamcloud.com/16605
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>
8 years agoLU-6401 lustre: make lustre_user.h compile in user space 94/16494/5
James Simmons [Thu, 24 Sep 2015 14:16:32 +0000 (10:16 -0400)]
LU-6401 lustre: make lustre_user.h compile in user space

While building my own lustre dependent application on
Ubuntu I discovered that lustre_user.h does not compile
due to libcfs/types.h not being packaged. So instead of
fixing the packaging just remove the libcfs/type.h
dependency from lustre_user.h which needs to be done
anyways.

Change-Id: Iecb62ca3b1aa727d1b7a01132e7074ee9079d0d4
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/16494
Reviewed-by: Frank Zago <fzago@cray.com>
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7034 obd: Remove dead code in precleanup 61/16061/7
Henri Doreau [Mon, 24 Aug 2015 10:03:51 +0000 (12:03 +0200)]
LU-7034 obd: Remove dead code in precleanup

There used to be several pre-cleanup phases, but
only OBD_CLEANUP_EXPORTS is actually used.  Thus
remove the whole notion of precleanup phases.

Signed-off-by: Henri Doreau <henri.doreau@cea.fr>
Change-Id: Id1b0922b5d2637aebd409a612c906fe9e15f00d6
Reviewed-on: http://review.whamcloud.com/16061
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-4065 tests: hsm copytool_cleanup improvement 83/12783/5
Sergey Cheremencev [Sun, 16 Nov 2014 12:01:35 +0000 (16:01 +0400)]
LU-4065 tests: hsm copytool_cleanup improvement

hsm shutdown from copytool_cleanup could race with
cdt_set_mount_state enabled. Because set_param -P
doesn't wait when configuration "params" will be
retrieved and applied from server.

Xyratex-bug-id: MRP-2037
Change-Id: I2f274c933986439deae04cd252b4dd9c8442ef1f
Signed-off-by: Sergey Cheremencev <sergey.cheremencev@seagate.com>
Reviewed-on: http://review.whamcloud.com/12783
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: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-5465 build: strengthen Lustre DKMS RPM install 76/11776/9
Bruno Faccini [Fri, 5 Sep 2014 15:13:18 +0000 (17:13 +0200)]
LU-5465 build: strengthen Lustre DKMS RPM install

This patch adds more control in Lustre DKMS RPM to take care that
its further install+build will not conflict with legacy lustre-osd
and lustre-modules RPMs already installed.

Signed-off-by: Bruno Faccini <bruno.faccini@intel.com>
Change-Id: Ie35e96326811f239d614aea19ae179b73c5961f3
Reviewed-on: http://review.whamcloud.com/11776
Tested-by: Jenkins
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7205 osp: prohibit multi inflight RPCs for same object 51/16651/2
Niu Yawei [Mon, 28 Sep 2015 08:40:46 +0000 (04:40 -0400)]
LU-7205 osp: prohibit multi inflight RPCs for same object

We should prohibit multi inflight sync RPCs for the same object,
otherwise, the object could be set with stale ownership if the
RPCs arrives OST in reverse order.

Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: I8835e493fa04fbc224b2f9840f0bb7b250d5de1d
Reviewed-on: http://review.whamcloud.com/16651
Tested-by: Jenkins
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7065 lod: Fix free of already added target description 41/16441/4
Dmitry Eremin [Wed, 16 Sep 2015 12:16:28 +0000 (15:16 +0300)]
LU-7065 lod: Fix free of already added target description

In lod_add_device() we may free tgt_desc after adding it to the ldt
if error happens in lod_sub_init_llog() or lfsck_add_target().

Change-Id: Ifb267378db996ae3a86da75b03427fb01eb0d73a
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/16441
Tested-by: Jenkins
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@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>
8 years agoLU-6961 ldiskfs: buffer head leak in mmp 72/15872/3
Jadhav Vikram [Thu, 6 Aug 2015 01:41:30 +0000 (07:11 +0530)]
LU-6961 ldiskfs: buffer head leak in mmp

Release bh_check in case of error.

Seagate-bug-id: MRP-2337
Signed-off-by: Jadhav Vikram <jadhav.vikram@seagate.com>
Signed-off-by: Rahul Deshmukh <rahul.deshmukh@seagate.com>
Signed-off-by: Andriy Skulysh <andriy.skulysh@seagate.com>
Change-Id: I818dbaa22d61e1cc7e66f97c218333e39c6c8afa
Reviewed-on: http://review.whamcloud.com/15872
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-7187 jobstats: confine the output of jobid to single line 93/16593/3
Niu Yawei [Tue, 22 Sep 2015 02:44:11 +0000 (22:44 -0400)]
LU-7187 jobstats: confine the output of jobid to single line

Repalce the non-printable characters into '?' when display the
jobid via proc file, so that output of jobid will be confined
to a single line and not break the YAML indention.

Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: Ic4e0e6196a13b46f20d96ccce7705c62674f2440
Reviewed-on: http://review.whamcloud.com/16593
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6741 osp: Pack small request inline 53/16353/7
wang di [Tue, 8 Sep 2015 14:41:37 +0000 (07:41 -0700)]
LU-6741 osp: Pack small request inline

Pack small size request inline, instead of using
bulk transfer to save space and RPC round trips.

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: I9ca71d3c7634c6c82ce0be7ad4f2d54e8f967e19
Reviewed-on: http://review.whamcloud.com/16353
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-5951 ptlrpc: track unreplied requests 73/15473/20
Niu Yawei [Thu, 2 Jul 2015 15:46:22 +0000 (11:46 -0400)]
LU-5951 ptlrpc: track unreplied requests

The request xid was used to make sure the ost object timestamps
being updated by the out of order setattr/punch/write requests
properly. However, this mechanism is broken by the multiple rcvd
slot feature, where we deferred the xid assignment from request
packing to request sending.

This patch moved back the xid assignment to request packing, and
the manner of finding lowest unreplied xid is changed from scan
sending & delay list to scan a unreplied requests list.

This patch also skipped packing the known replied XID in connect
and disconnect request, so that we can make sure the known replied
XID is increased only on both server & client side.

Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: Ib079b2029680934a4c448da766bf0e42d580be26
Reviewed-on: http://review.whamcloud.com/15473
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Grégoire Pichon <gregoire.pichon@bull.net>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6271 osc: further OSC cleanup after eviction 56/16456/8
Jinshan Xiong [Wed, 16 Sep 2015 18:47:20 +0000 (11:47 -0700)]
LU-6271 osc: further OSC cleanup after eviction

A few problems are fixed in this patch:
1. a ldlm lock could be canceled simutaneously by ldlm bl thread and
  cleanup_resource(). In this case, only one side will win the race
  and the other side should wait for the work to complete;
2. in lov_io_iter_init(), if cl_io_iter_init() against sub io fails,
  it should call cl_io_iter_fini() to cleanup leftover information;
3. define osc_lru_reserve() and osc_lru_unreserve() to reserve LRU
  slots in osc_io_write_iter_init() and unreserve them in fini();
4. eviction on group lock is well supported;
5. cleanups

Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: I293770b62e177a9ecefe0b4e05f3a8f44b1c831d
Reviewed-on: http://review.whamcloud.com/16456
Tested-by: Jenkins
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6969 osd: remove agent inodes in a separate transaction 24/15924/8
Alex Zhuravlev [Mon, 10 Aug 2015 08:11:01 +0000 (11:11 +0300)]
LU-6969 osd: remove agent inodes in a separate transaction

Create a separate list of agent inodes that need to be deleted,
and delete them after the main transaction has been completed.
Otherwise the number of transaction credits needed to delete
these agents is not accounted in the main transaction and may
trigger assertions in the credit accounting.

Change-Id: Idefce3304d070c5a14de55054d95a57767a5954d
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/15924
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-3534 tests: Add dne-2.5 upgrade test 75/15275/14
wang di [Wed, 29 Jul 2015 11:18:43 +0000 (04:18 -0700)]
LU-3534 tests: Add dne-2.5 upgrade test

Add extra dne tests in conf-sanity.sh 32c to verify
dne upgrade from 2.5 DNE ldiskfs images to 2.7 DNE.

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: I5b15cdee3b125ebe264b867f7141672159e22b8d
Reviewed-on: http://review.whamcloud.com/15275
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-6950 utils: support SELinux context labelling 40/15840/6
Andrew Wellington [Tue, 4 Aug 2015 05:12:24 +0000 (15:12 +1000)]
LU-6950 utils: support SELinux context labelling

SELinux contexts are applied by the kernel if mount options are
not binary. As we don't use any binary mount options in Lustre,
remove the binary mount option flag.

Signed-off-by: Andrew Wellington <andrew.wellington@anu.edu.au>
Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I363886f58939c1f7384de2ff579968a19f1460bc
Reviewed-on: http://review.whamcloud.com/15840
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Sebastien Buisson <sebastien.buisson@bull.net>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
8 years agoLU-5969 lustreapi: remove obsolete lctl dump_cfg code 57/15857/4
Andreas Dilger [Tue, 22 Sep 2015 15:24:15 +0000 (11:24 -0400)]
LU-5969 lustreapi: remove obsolete lctl dump_cfg code

With Lustre having utilites that can read lustre record
logs from user space we no longer need the ability to
dump the log of recorded commands to the kernel dump log.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I8b3b71ff394a1f81e4b2396449e0f6879c2b5623
Reviewed-on: http://review.whamcloud.com/15857
Reviewed-by: frank zago <fzago@cray.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Jenkins
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>