Whamcloud - gitweb
fs/lustre-release.git
9 years agoLU-5018 libcfs: don't depend on configure for lustre_user.h 58/10258/5
Andreas Dilger [Fri, 9 May 2014 04:38:58 +0000 (22:38 -0600)]
LU-5018 libcfs: don't depend on configure for lustre_user.h

Don't depend on configure to detect the presence of <linux/types.h>
in order to define the __u8, __u16, __u32, and __u64 types.  Instead,
just define these types directly if <linux/types.h> is not included
already.

The <linux/types.h> header is available on Linux systems with GCC
installed, which is required to build Lustre anyway.  On non-Linux
systems they should create an appropriate <linux/types.h> compat
header in the include path.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: Ida0915fe1b5829f3378e459c782844cf9df060e6
Reviewed-on: http://review.whamcloud.com/10258
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoNew tag 2.5.59 2.5.59 v2_5_59 v2_5_59_0
Oleg Drokin [Thu, 15 May 2014 16:30:06 +0000 (12:30 -0400)]
New tag 2.5.59

Change-Id: Ifcb48b768cec2216939ce7ee70b1339b71f62358

9 years agoLU-4998 lustre: unpackage several headers 15/10215/5
John L. Hammond [Tue, 6 May 2014 17:30:02 +0000 (12:30 -0500)]
LU-4998 lustre: unpackage several headers

Remove lustre_idl.h, libiam.h and lustre_lfsck_user.h from the list of
packaged headers. Move conf-sanity 74a (checking that Lustre client
api program can compile and link) to sanity 400a. Add sanity 400b to
check that the headers installed in /usr/include/lustre/ (with the
exception liblustreapi.h) can be compiled without warning.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I0e99e3e0d18907488f2f8c94e33c58990262ee8a
Reviewed-on: http://review.whamcloud.com/10215
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-by: Robert Read <robert.read@intel.com>
9 years agoLU-2099 osd: clear iobuf up on I/O completion 05/10305/3
Alex Zhuravlev [Tue, 13 May 2014 06:33:03 +0000 (10:33 +0400)]
LU-2099 osd: clear iobuf up on I/O completion

it was a bad idea to clear iobuf on buffer release because the
same buffers can be used few times in case of transient ENOSPC.

Change-Id: Ic1d2ddaa0794f2f6f7d1ba71620e06b4ea7a99d2
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/10305
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Tested-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4977 llite: Fix the deadlock in balance_dirty_pages() 49/10149/3
Jinshan Xiong [Tue, 29 Apr 2014 04:52:54 +0000 (21:52 -0700)]
LU-4977 llite: Fix the deadlock in balance_dirty_pages()

If the page is already dirtied in ll_write_end() and kernel tries
to call balance_dirty_pages() to write back dirty pages in the same
thread, this is deadlock case if the page is already held by clio.

This can also fix the issue of LU-4873.

Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: Iae7f6bd8956e5fc134568d776c9aa3a6b68b1ec5
Reviewed-on: http://review.whamcloud.com/10149
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bobi Jam <bobijam@gmail.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-5048 ldiskfs: SLES ext4-mballoc-extra-checks patch fix 94/10294/2
Bruno Faccini [Mon, 12 May 2014 14:50:54 +0000 (16:50 +0200)]
LU-5048 ldiskfs: SLES ext4-mballoc-extra-checks patch fix

Original SLES patch version, from LU-1812, was missing a latest hunk.
This caused OSTs to be put in read-only mode due to wrong
inconsistencies detected.

Signed-off-by: Bruno Faccini <bruno.faccini@intel.com>
Change-Id: I9eb948a7ffbc6dbd11598d11ba94f51902e1e71e
Reviewed-on: http://review.whamcloud.com/10294
Tested-by: Jenkins
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
9 years agoLU-4713 tests: fix fhandle syscall test progarm 89/10189/3
Bob Glossman [Thu, 1 May 2014 15:51:51 +0000 (08:51 -0700)]
LU-4713 tests: fix fhandle syscall test progarm

Replace the incorrect local definitions in the fhandle test program
with more correct and current ones from SLES #include files.
Local defintions are only used in the case where the fhandle syscall
feature is present in the kernel, but support isn't present in glibc.
For now that particular config is only seen in SLES11SP3,
so the internal and local definitions must match the ones
from that distribution.

Test-Parameters: clientdistro=sles11sp3 testlist=sanity envdefinitions=ONLY=237
Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: Ie2106325ecc2b2d2e6aeaba1cc3f8b995f503ba8
Reviewed-on: http://review.whamcloud.com/10189
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4832 ptlrpc: fix incorrect name string in nrs_tbf 41/10241/3
Bob Glossman [Tue, 6 May 2014 23:16:32 +0000 (16:16 -0700)]
LU-4832 ptlrpc: fix incorrect name string in nrs_tbf

Mismatched entry name strings between lproc entry creation
and lproc entry removal led to noisy warnings a umount time.
This fix corrects the code to use "nrs_tbf_rule" for both calls.

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I806b87d4571fb307d8199628e00261162f0fa089
Reviewed-on: http://review.whamcloud.com/10241
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Li Xi <pkuelelixi@gmail.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-2675 obd: decruft md_enqueue() and md_intent_lock() 05/10205/3
John L. Hammond [Fri, 28 Mar 2014 23:38:37 +0000 (18:38 -0500)]
LU-2675 obd: decruft md_enqueue() and md_intent_lock()

Remove the lmm and lmmsize parameters from both functions, storing
that data in md_op_data when needed. Remove the unused lookup_flags
parameter from md_intent_lock(), and the unused reqp parameter from
md_enqueue(). Add a union ldlm_policy_data * parameter to
md_enqueue(). Remove the unused function lmv_enqueue_remote().

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: Ia914318a7c7cbeb59fe86d4a169559cd86f3ad57
Reviewed-on: http://review.whamcloud.com/10205
Tested-by: Jenkins
Reviewed-by: wangdi <di.wang@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4985 kernel: Store kthread_run result in task_struct ptr 66/10266/3
Ryan Haasken [Thu, 8 May 2014 14:18:36 +0000 (09:18 -0500)]
LU-4985 kernel: Store kthread_run result in task_struct ptr

The fix for LU-3498 changed most invocations of kthread_run to store
the result in a variable of task_struct pointer type and check whether
kthread_run returned an error using IS_ERR.  This change updates the
remaining calls to kthread_run to do this as well for consistency.

Signed-off-by: Ryan Haasken <haasken@cray.com>
Change-Id: I18edab018080ec51e9979164234e5bcd02a04f88
Reviewed-on: http://review.whamcloud.com/10266
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
9 years agoLU-4629 utils: fix array overflow 35/10135/3
Dmitry Eremin [Mon, 28 Apr 2014 19:57:36 +0000 (23:57 +0400)]
LU-4629 utils: fix array overflow

Array 'argv' of size 512 may use index value(s) 512.

Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Change-Id: I808b6f52f0e8b548978290dd08f1f5fc3ce929a1
Reviewed-on: http://review.whamcloud.com/10135
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4916 lwp: don't add connection for missed LWP 72/10272/2
Mikhail Pershin [Thu, 8 May 2014 18:29:24 +0000 (22:29 +0400)]
LU-4916 lwp: don't add connection for missed LWP

The LWP isn't needed for some MDT-MDT connections,
e.g. for MDT0-MDT1, but lustre_lwp_add_conn() is called
for any 'add mdc' marker and cause error.

Patch add LWP connection only where it is needed.

Signed-off-by: Mikhail Pershin <mike.pershin@intel.com>
Change-Id: I930559a14a37ee0de27cea93113a3608e7ddf9cc
Reviewed-on: http://review.whamcloud.com/10272
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
9 years agoLU-5014 osd-ldiskfs: vfs_unlink api changed 35/10235/2
Bob Glossman [Tue, 6 May 2014 17:34:11 +0000 (10:34 -0700)]
LU-5014 osd-ldiskfs: vfs_unlink api changed

In newer kernels the vfs_unlink api changed to take
more arguments.  This patch creates a wrapper to let us adapt
to the different versions of vfs_unlink in old and new kernels.
As vfs_unlink is only used in server code
this only impacts server builds of lustre.

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I3aa9a305530f74ee010fa5173527a37e048a9ef8
Reviewed-on: http://review.whamcloud.com/10235
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4953 lprocfs: fix missing target_obds on multiple mounts 92/10192/3
James Simmons [Mon, 5 May 2014 16:30:19 +0000 (12:30 -0400)]
LU-4953 lprocfs: fix missing target_obds on multiple mounts

In the case of multiple mountes the target_obds only showed
up for the first mount. The reason for this was that we were
using procsym in obd_type to hold the pointer to the
proc_dir_entry for target_obds. But obd_type is shared across
all lmv/lov object instances. Instead we need to cache the
proc_dir_entry in the private data structure; lov_obd and
lmv_obd; for each type of obd device impacted. Later these
handles will be used for cleanup when the module unloads.

Change-Id: Idf7a78f9ca662af78c217bb1142409b9b0322192
Signed-off-by: James Simmons <uja.ornl@gmail.com>
Reviewed-on: http://review.whamcloud.com/10192
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4987 lustre: Remove static declaration in anonymous union 76/10176/2
Christopher J. Morrone [Wed, 30 Apr 2014 21:20:27 +0000 (14:20 -0700)]
LU-4987 lustre: Remove static declaration in anonymous union

It is not permitted in C++ to have a static declaration inside
of an anonymous union.  Before "LUSTRE_ANONYMOUS_UNION_NAME"
was added to the code in commit b40f6327bb19b6, the g++ compiler
most likely complained with an error like this:

  error: ‘struct ost_id::<anonymous union>::ostid’ invalid; an
  anonymous union can only have non-static data members [-fpermissive]

The fix from b40f6327bb19b6 conditionally eliminated the anonymous
union when a C++ compiler is being used.  That means that the API
varies depending on your choice of compiler, which is not at all
desirable.

The better fix is to address the static data member that the error
complained about.  This patch changes the code to use an unnamed
struct in place of "struct ostid" inside of the anonymous union.
That name declaration was completely unnecessary anyway, since it
was not used anywhere else.

Change-Id: I59f8341f5f9833d8a144cf2feaa178cb76e643dc
Signed-off-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-on: http://review.whamcloud.com/10176
Reviewed-by: Robert Read <robert.read@intel.com>
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
9 years agoLU-4924 llite: Only kill SGID/SUID bits 53/10153/3
Nathaniel Clark [Tue, 29 Apr 2014 20:24:59 +0000 (16:24 -0400)]
LU-4924 llite: Only kill SGID/SUID bits

Check that attr mode is valid before using it when determining if to
clear SGID and SUID bits in ll_setattr.
Add regression test.

Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: Ic452590a6fb59010f1ee6b8b0b790557a2540d8c
Reviewed-on: http://review.whamcloud.com/10153
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
9 years agoLU-4877 mdt: tolerate zero md_packed in mdt_fix_reply 16/10116/2
Mikhail Pershin [Sun, 27 Apr 2014 07:08:31 +0000 (11:08 +0400)]
LU-4877 mdt: tolerate zero md_packed in mdt_fix_reply

The assertion for md_packed value is not really needed there,
if it is zero then buffer is not packed in reply and is not
needed, it is enough just unmark big buffer usage.

Signed-off-by: Mikhail Pershin <mike.pershin@intel.com>
Change-Id: I4db92ce2ef492069db4dbd4d07c0d69770130fad
Reviewed-on: http://review.whamcloud.com/10116
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4420 fld: retry fld rpc even for ESHUTDOWN 85/10285/2
wang di [Wed, 7 May 2014 22:16:55 +0000 (15:16 -0700)]
LU-4420 fld: retry fld rpc even for ESHUTDOWN

when LWP is being evicted, because it is not replayable,
the request might return ESHUTDOWN or EWOULDBLOCK, instead
of failed, which might cause application failure, fld
client will retry RPC, until the connection is being setup
again or the LWP is being closed.

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: Iea0480a9ceae455834768e18545796f26f3cef0b
Reviewed-on: http://review.whamcloud.com/10285
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Johann Lombardi <johann.lombardi@intel.com>
9 years agoLU-5035 tests: add striped dir recovery test 77/10277/2
wang di [Thu, 8 May 2014 21:53:59 +0000 (14:53 -0700)]
LU-5035 tests: add striped dir recovery test

Add striped dir recovery test to replay-single and
recovery-small.

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: I0301e0b6f16683f2fe7890e0a02e5128eb0d4a50
Reviewed-on: http://review.whamcloud.com/10277
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>
9 years agoRevert "LU-2600 osd-zfs: batched object accounting" 71/10271/3
Oleg Drokin [Thu, 8 May 2014 17:54:47 +0000 (17:54 +0000)]
Revert "LU-2600 osd-zfs: batched object accounting"

This is causing lu-4968

This reverts commit 72accbebccb6a542b327e45e9a0903b2951d4bd5.

Change-Id: I039787943f84babcb5dadd1c75b12b0e8fa0e1f0
Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Reviewed-on: http://review.whamcloud.com/10271
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-5025 kernel: kernel update [RHEL6.5 2.6.32-431.17.1.el6] 82/10282/2
Bob Glossman [Wed, 7 May 2014 19:21:35 +0000 (12:21 -0700)]
LU-5025 kernel: kernel update [RHEL6.5 2.6.32-431.17.1.el6]

update RHEL6.5 kernel to 2.6.32-431.17.1.el6

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I0dee02ddca3accadc81aa2c5114caa67ec8ae1b0
Reviewed-on: http://review.whamcloud.com/10282
Reviewed-by: James Simmons <uja.ornl@gmail.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>
9 years agoLU-4690 osp: some cleanup for patch 9511 61/10261/2
wang di [Wed, 7 May 2014 20:23:11 +0000 (13:23 -0700)]
LU-4690 osp: some cleanup for patch 9511

cleanup patch 9511 according to the review

1. fix endian problem in osd-zfs and osp.
2. Few tab and typo fixes.
3. move mti_big_lmm_used back to mdt_stripe_get,
set it in mdt_big_xattr_get is a bit risky.

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: I85982bf198dddc9e0442e392f3da25cca46dfe03
Reviewed-on: http://review.whamcloud.com/10261
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-1778 llite: fix inconsistencies of root squash feature 00/5700/19
Gregoire Pichon [Thu, 13 Feb 2014 15:33:34 +0000 (16:33 +0100)]
LU-1778 llite: fix inconsistencies of root squash feature

Root squash exhibits inconsistent behaviour on a client when
enabled. If a file is not cached on the client, then root will get
a permission denied error when accessing the file. When
the file has recently been accessed by a regular user and is
still in cache, root will be able to access the file without error
because the permission check is only done by the client that
isn't aware of root squash.

While the only real security benefit from root squash is to deny
clients access to files owned by root itself, it also makes sense
to treat file access on the client in a consistent manner
regardless of whether the file is in cache or not.

This patch adds root squash settings to llite so that client is able
to apply root squashing when it is relevant.

Configuration of MDT root squash settings will automatically be
applied to llite config log as well.

Update cfs_str2num_check() routine by removing any modification
of the specified string parameter. Since string can come from ls_str
field of a lstr structure, this avoids inconsistent ls_len field.

Signed-off-by: Gregoire Pichon <gregoire.pichon@bull.net>
Change-Id: Ie52d04424d0937af9fed777a4e4912c90405c19b
Reviewed-on: http://review.whamcloud.com/5700
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4528 llog: don't write llog in 3-steps 08/10108/10
Mikhail Pershin [Fri, 25 Apr 2014 19:01:51 +0000 (23:01 +0400)]
LU-4528 llog: don't write llog in 3-steps

The llog record my be written by passing just buffer
and writting its header and tail separately. If any write fails
then that cause partially written buffer and corrupted llog. There is
special undo procedure to clean things up after that but that demands
twice more credits for normal operations and for undo case which
is critical in case of wide striping.

Such 3-steps write can be avoided by preparing correct llog record
before calling llog_write().

Patch does the following:
- remove all cases with passing separate buffer for llog_write(),
llog_add(), llog_cat_add() and change API according with that.
- special allocation case for lustre_cfg if it is going to be written
to the llog, it allocates llog header/tail and initialize it.
- uniform error checks after lustre_cfg_new() call to check for NULL
result always instead of ERR_PTR()
- remove 3-steps write in llog_osd code completely
- write llog padding record in single step too
- remove duplicated code from llog_cat_new_log(). Previously it
assigned the next index for the record, changed bitmap and called
llog_write with new index, so that was considered as 'modification'
of record but not append. Meanwhile the llog_osd_write_rec() does
the same intenally for append request. Now llog_cat_new_log() just
calls llog_write() with -1 index (append), avoiding all header
changes outside that call.
- remove numcookie parameter from llog_write_rec() because it is
always 1 anyway
- remove cookie parameter from llog_write() because it is not used,
note, the cookie remains as parameter of llog_write_rec() for llog
catalog purposes.

Signed-off-by: Mikhail Pershin <mike.pershin@intel.com>
Change-Id: Ibf231021ece9d7cb8a3c4288e12077e11f691661
Reviewed-on: http://review.whamcloud.com/10108
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
9 years agoLU-4609 ofd: auto resume LFSCK after the recovery 10/10010/10
Fan Yong [Sat, 5 Apr 2014 02:29:33 +0000 (10:29 +0800)]
LU-4609 ofd: auto resume LFSCK after the recovery

To prevent the LFSCK to recreate some objects which should be done
via some replayable RPCs, we will postpone the LFSCK auto assuming
after the server restart until the recovery finished.

Such serialization also avoid some race between LFSCK and recovery
to misguide the LFSCK to regard the system as inconsistent.

Another fix is that:
During the OST recovery, the client write RPC may create the missed
OST-object which will cause the real last_id to be greater than the
last_id value stored in the LAST_ID file temporarily. Normally, the
LAST_ID file will be synced between MDT and OST during the recovery,
but we should not assume that the MDT-OST recovery will succeed. If
it failed, then subsequent LFSCK on the OST may regard such LAST_ID
file as crashed, then it will mark the OST as read-only and rebuild
the LAST_ID files.

To avoid such case, before the write RPC to create the lost object,
it needs to update the LAST_ID file firstly.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I963f3c1b70c7cad0c943f2485417d2e783768bf1
Reviewed-on: http://review.whamcloud.com/10010
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
9 years agoLU-4972 lfsck: skip .lustre and children for namespace check 43/10143/3
Fan Yong [Sat, 5 Apr 2014 02:28:00 +0000 (10:28 +0800)]
LU-4972 lfsck: skip .lustre and children for namespace check

The sub-directories/files under .lustre are either for partial
repaired objects (such as .lustre/lost+found/) or for special
non-real objects (such as .lustre/obf). It is unnecessary to
do namespace LFSCK for them.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I39e8382c226b2ee19a41e6f47af38a5367f3bdd8
Reviewed-on: http://review.whamcloud.com/10143
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
9 years agoLU-4955 lfsck: reset param when the LFSCK is reset 91/10091/9
Fan Yong [Sat, 5 Apr 2014 02:26:00 +0000 (10:26 +0800)]
LU-4955 lfsck: reset param when the LFSCK is reset

If "--reset" or "-r" is specified when start the LFSCK manually,
then all non-specified parameters will be set as default values.

If the former LFSCK instance completed, then when re-trigger the
LFSCK, it will restart from the beginning, and all non-specified
parameters will be set as default values.

Change the "window" option in lfsck_start to "window_size".

Update the lctl manpage for LFSCK.

Signed-off-by: James Nunez <james.a.nunez@intel.com>
Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I5b1d7dd2507ab2f50e152f5a839bf9544a9dc255
Reviewed-on: http://review.whamcloud.com/10091
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: Lai Siyao <lai.siyao@intel.com>
9 years agoLU-4725 mdt: child-parent lock ordering in rename 38/9538/7
Hongchao Zhang [Sat, 5 Apr 2014 04:41:03 +0000 (12:41 +0800)]
LU-4725 mdt: child-parent lock ordering in rename

change rename so that it always has parent-child lock ordering,
otherwise it may deadlock with other operations.

Signed-off-by: Vitaly Fertman <vitaly_fertman@xyratex.com>
Signed-off-by: Hongchao Zhang <hongchao.zhang@intel.com>
Change-Id: If676da82ca50a20a4bb3aadef0f81c9c5ed3cbcb
Xyratex-bug-id: MRP-1700
Reviewed-on: http://review.whamcloud.com/9538
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4923 lfsck: detailed statistics for namespace LFSCK 30/10030/7
Fan Yong [Sat, 5 Apr 2014 01:37:07 +0000 (09:37 +0800)]
LU-4923 lfsck: detailed statistics for namespace LFSCK

Some enhancement for namespace LFSCK:

1) For the MDT device upgraded from Lustre-1.x and still not enable
   the 'dirdata' feature, then send warning message when mount.

2) More detailed statistics for how many FID-in-dirent entries have
   been repaired and how many linkEA entries have been repaired.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I6a2468b1b8ac4dee91d5d3a26872214391fd3e3b
Reviewed-on: http://review.whamcloud.com/10030
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4987 lustre: Remove duplicate stdio.h include 75/10175/2
Christopher J. Morrone [Wed, 30 Apr 2014 18:59:49 +0000 (11:59 -0700)]
LU-4987 lustre: Remove duplicate stdio.h include

Remove a stray duplicate includ of stdio.h.

Change-Id: I5a40127e9a9f2c9281d1510aea2af1a7a07349b1
Signed-off-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-on: http://review.whamcloud.com/10175
Reviewed-by: Robert Read <robert.read@intel.com>
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
9 years agoLU-4992 llite: validate names 98/10198/4
John L. Hammond [Fri, 2 May 2014 15:18:39 +0000 (10:18 -0500)]
LU-4992 llite: validate names

In ll_prep_md_op_data() validate names according to the same formula
used in mdd_name_check(). Add mdc_pack_name() to validate the name
actually packed in the request.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: Ib56951ab7be7196c79b94dc1848757b4bdf30ce6
Reviewed-on: http://review.whamcloud.com/10198
Tested-by: Jenkins
Reviewed-by: wangdi <di.wang@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
9 years agoLU-5005 utils: handle ROOT path correctly 11/10211/5
Niu Yawei [Mon, 5 May 2014 03:41:42 +0000 (23:41 -0400)]
LU-5005 utils: handle ROOT path correctly

MDT replies path '\0' to the request of fid2path on ROOT,
client utils should handle it properly.

Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: Ic7064866b0e8ef33fc0a17e273a120d6d6dae4fe
Reviewed-on: http://review.whamcloud.com/10211
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4961 lustre: remove liblustre.h and obd.h from userspace 94/10194/4
John L. Hammond [Thu, 1 May 2014 21:26:41 +0000 (16:26 -0500)]
LU-4961 lustre: remove liblustre.h and obd.h from userspace

In lustre/tests/ and lustre/utils/ replace inclusion of liblustre.h
and obd.h with libcfs/libcfs.h and lustre/lustre_idl.h. In obd.h raise
a preprocessod error if being compiled in userspace. Replace the
contents of liblustre.h with a single preprocessor error moving what
few functions were still in use to their files of use.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I778b3207ce561d8adef6f7ecbbc899654c23b9d6
Reviewed-on: http://review.whamcloud.com/10194
Tested-by: Jenkins
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Robert Read <robert.read@intel.com>
9 years agoLU-5010 llite: disable readahead optimization 20/10220/2
Jinshan Xiong [Mon, 5 May 2014 22:09:43 +0000 (15:09 -0700)]
LU-5010 llite: disable readahead optimization

There exists a race between readahead lock matching and lock
cancellation, where it's difficult to discard pages from radix
tree if readahead process keeps adding pages.

This issue is introduced in patch http://review.whamcloud.com/8523
here I'm going to disable it. The optimization will be added
back in later patch.

Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: Ifa729bfc4404ac287d4af3a88ead4790218817f8
Reviewed-on: http://review.whamcloud.com/10220
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Bobi Jam <bobijam@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4206 tests: cancel data lock before ELC test 50/10250/4
wang di [Wed, 7 May 2014 10:24:33 +0000 (03:24 -0700)]
LU-4206 tests: cancel data lock before ELC test

Since 2,4, MDT will send unlink request to the OST, and OST
will destroy the object and revoke the data lock in the client
cache, i.e. client will not do ELC for data lock during the
rename and unlink. So cancel the data lock before couting
lock block callback counting.

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: Ib216d068e71dce8236f26cb62188fff6d090042a
Reviewed-on: http://review.whamcloud.com/10250
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4690 lod: separate master object with master stripe 11/9511/37
wang di [Thu, 3 Apr 2014 13:09:24 +0000 (06:09 -0700)]
LU-4690 lod: separate master object with master stripe

Separate master stripe with master object, so
1. stripeEA only exists on master object.
2. sub-stripe object will be inserted into master object
as sub-directory, and it can get the master object by "..".

By this, it will remove those specilities for stripe0 in
LMV and LOD. And also simplify LFSCK, i.e. consistency check
would be easier.

And also after this separation, LOD will know whether iterating
the whole stripe or single stripe eaisly, i.e. for master_object,
it will iterate the whole stripes, for sub_stripe, it will only
iterate the single stripe.

This patch also fixes a few things in osp orphan iteration, to
make it work with remote dir entry iteration.

When then master object becomes an orphan, we should
mark all of its sub-stripes as dead object as well,
otherwise client might still be able to create files
under these stripes.

A few fixes for striped directory layout lock:

1. stripe 0 should be locked as EX, same as other stripes.
2. Acquire the layout for directory, when it is being unliked.

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: I6212fb97a2360664b48e0a75424a89c857da2043
Reviewed-on: http://review.whamcloud.com/9511
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>
9 years agoLU-5017 mdd: Do not miss flags when do "lfs mv" 40/10240/2
wang di [Tue, 6 May 2014 13:30:22 +0000 (06:30 -0700)]
LU-5017 mdd: Do not miss flags when do "lfs mv"

la_flags is missing in obdo_from_la and la_from_obdo, so
flags can not be set correctly during migration.

Add test cases in sanity 230b.

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: Ia2665f3362323337e55618614964ead4f2c740a2
Reviewed-on: http://review.whamcloud.com/10240
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-3963 client: move llite,lov,target,obdecho to linux list api 44/9944/3
James Simmons [Tue, 22 Apr 2014 18:16:34 +0000 (14:16 -0400)]
LU-3963 client: move llite,lov,target,obdecho to linux list api

Move several of the client components over to the linux
list api.

Change-Id: I8fff62e7c8c3c2f9bf48b0074e574b83770442c3
Signed-off-by: James Simmons <uja.ornl@gmail.com>
Reviewed-on: http://review.whamcloud.com/9944
Tested-by: Jenkins
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-3963 libcfs: convert link list to linux api fld,mdc,osc,mgc 04/9904/5
James Simmons [Thu, 24 Apr 2014 16:30:36 +0000 (12:30 -0400)]
LU-3963 libcfs: convert link list to linux api fld,mdc,osc,mgc

Convert part of the lustre client code over to the linux
list api. This covers the fld,mdc,osc,mgc layers.

Change-Id: I5a2d5de144e77eb85701dd942ad143cb99d8ea69
Signed-off-by: James Simmons <uja.ornl@gmail.com>
Reviewed-on: http://review.whamcloud.com/9904
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-3963 libcfs: convert LNET layer to linux list api 69/9369/9
James Simmons [Thu, 24 Apr 2014 16:43:58 +0000 (12:43 -0400)]
LU-3963 libcfs: convert LNET layer to linux list api

This patch converts all cfs_list primitives to the linux api
for the LNET layer.

Change-Id: Id790b87d253db759edb921f4828f04b11bbe6fe9
Signed-off-by: James Simmons <uja.ornl@gmail.com>
Reviewed-on: http://review.whamcloud.com/9369
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Amir Shehata <amir.shehata@intel.com>
9 years agoLU-5002 flock: accept EDEADLK in sanityn test_74 08/10208/2
John L. Hammond [Sun, 4 May 2014 21:05:58 +0000 (16:05 -0500)]
LU-5002 flock: accept EDEADLK in sanityn test_74

In flocks_test.c t4() acquiring the second flock may legitimately fail
and return -EDEADLK. Handle this and ensure that errors encountered by
the child process are returned by the parent.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I55172add1412377b1c7125efa4177702d8bf1834
Reviewed-on: http://review.whamcloud.com/10208
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Andriy Skulysh <Andriy_Skulysh@xyratex.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4578 ptlrpc: Early replies need to honor at_max 00/9100/7
Chris Horn [Mon, 3 Feb 2014 21:24:01 +0000 (15:24 -0600)]
LU-4578 ptlrpc: Early replies need to honor at_max

When determining whether an early reply can be sent the server will
calculate the new deadline based on an offset from the request
arrival time. However, when actually setting the new deadline
the server offsets the current time. This can result in deadlines
being extended more than at_max seconds past the request arrival
time. Instead, the server should offset the arrival time when updating
its request timeout.

When a client receives an early reply it doesn't know the server side
arrival time so we use the original sent time as an approximation.

Signed-off-by: Chris Horn <hornc@cray.com>
Change-Id: I1b7b04bd20ea5d471ab3777f987e89add744b813
Reviewed-on: http://review.whamcloud.com/9100
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Christopher J. Morrone <chris.morrone.llnl@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4629 ptlrpc: fix NULL pointer dereference of {exp,imp}_obd 62/10062/6
Dmitry Eremin [Wed, 23 Apr 2014 08:01:25 +0000 (12:01 +0400)]
LU-4629 ptlrpc: fix NULL pointer dereference of {exp,imp}_obd

Pointer 'obd' checked for NULL at line 694 may be dereferenced at
line 813.

Pointer 'req->rq_export->exp_obd' checked for NULL at line 1155
may be dereferenced at line 1164. Also there is one similar error
on line 1170.

Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Change-Id: I4e0d40bb634415a3f7f1a38f66139b89b9f97772
Reviewed-on: http://review.whamcloud.com/10062
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-2675 llapi: find_param cleanup part I 03/10103/2
John L. Hammond [Fri, 25 Apr 2014 17:05:43 +0000 (12:05 -0500)]
LU-2675 llapi: find_param cleanup part I

Add fp_ prefixes to several (dev,type,{u,g}id,{a,c,m}time,...,depth)
members of struct find_param. Remove the unused print_fmt
member. Remove the llapi internal arrays llapi_dir_filetype_table[]
and llapi_filetype_dir_table[] replacing their uses with IFTODT() and
DTTOIF().

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I0c24d8075493b814f3d3824f48b64d4b088928c5
Reviewed-on: http://review.whamcloud.com/10103
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
9 years agoLU-4864 tests: cleanup shared files in sanity-hsm 73/10073/4
Minh Diep [Thu, 24 Apr 2014 02:28:35 +0000 (19:28 -0700)]
LU-4864 tests: cleanup shared files in sanity-hsm

Test creates shared files need to remove them completely

Signed-off-by: Minh Diep <minh.diep@intel.com>
Change-Id: Ib949326f18ddd3a508fd8605e16f3cafb5a9ee4d
Reviewed-on: http://review.whamcloud.com/10073
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4629 osc: remove constant checks 48/9348/5
Dmitry Eremin [Fri, 21 Feb 2014 16:01:28 +0000 (20:01 +0400)]
LU-4629 osc: remove constant checks

Comparison of unsigned value against 0 is always true or false

Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Change-Id: Ib03cd9e401d006cce5a8a2f49220458941d2ef19
Reviewed-on: http://review.whamcloud.com/9348
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
9 years agoLU-4795 obd: Remove server_{get,put}_mount_2() functions 49/9749/7
Swapnil Pimpale [Fri, 21 Mar 2014 19:26:36 +0000 (15:26 -0400)]
LU-4795 obd: Remove server_{get,put}_mount_2() functions

This patch fixes server_put_mount() to call server_deregister_mount()
only if the caller is never going to need the mount again. The only
caller of server_get_mount_2(), lustre_find_lwp_by_index(), is
changed to now call server_get_mount() and server_put_mount()
without calling server_deregister_mount().

Signed-off-by: Swapnil Pimpale <spimpale@ddn.com>
Change-Id: I37fd00bd477f946ac1bd8375da4899c2a1fe9e22
Reviewed-on: http://review.whamcloud.com/9749
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
9 years agoLU-4830 tests: only deactivate MDTs of Lustre FSNAME 43/9843/4
Bruno Faccini [Fri, 28 Mar 2014 15:15:25 +0000 (16:15 +0100)]
LU-4830 tests: only deactivate MDTs of Lustre FSNAME

Problem has been discovered using a very specific copytool Lustre
root/archive usage. All MDCs, including archive one, were
deactivated.

Signed-off-by: Bruno Faccini <bruno.faccini@intel.com>
Change-Id: I359e001e001b931e0a8ed773e0d476ffc3ea44db
Reviewed-on: http://review.whamcloud.com/9843
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4681 utils: Fix error message when using hostname 48/9848/4
Bobbie Lind [Fri, 28 Mar 2014 21:30:48 +0000 (15:30 -0600)]
LU-4681 utils: Fix error message when using hostname

When running llmount.sh for setting up and testing a filesystem
if the system does not have an accurate line in /etc/hosts the build
fails with a cryptic error message.

This patch adds a little more information to the error message
directing the admin to fix the /etc/hosts error.

Signed-off-by: Bobbie Lind <bobbie.j.lind@intel.com>
Change-Id: I426c1f05d2ab5dedc56bd587072882cf78c1bd43
Reviewed-on: http://review.whamcloud.com/9848
Tested-by: Jenkins
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Jian Yu <jian.yu@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>
9 years agoLU-4934 tests: Account for slow ZFS in sanity-lfsck/9a-b 40/10140/2
Nathaniel Clark [Mon, 28 Apr 2014 22:14:06 +0000 (18:14 -0400)]
LU-4934 tests: Account for slow ZFS in sanity-lfsck/9a-b

Allow lfsck speed to be too slow with ZFS due to it's performance
issues.

Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: Id39d9468327a02b648ba2c8b4b131250946a04b1
Reviewed-on: http://review.whamcloud.com/10140
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4849 lfs: Avoid double closedir() on err from cb_mv_init() 05/9905/2
Swapnil Pimpale [Mon, 7 Apr 2014 17:19:09 +0000 (13:19 -0400)]
LU-4849 lfs: Avoid double closedir() on err from cb_mv_init()

In cb_mv_init(), set *dirp to NULL if the parent cannot be opened.
This will avoid a double free when closedir() is called a second
time on the way out of llapi_semantic_traverse()

Signed-off-by: Swapnil Pimpale <spimpale@ddn.com>
Change-Id: I115137f01cd4e370f4ef766028ad9269e85ed10a
Reviewed-on: http://review.whamcloud.com/9905
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
9 years agoLU-4952 osd: wrong paramters for dmu_tx_hold_write 79/10079/2
Liang Zhen [Thu, 24 Apr 2014 12:19:53 +0000 (20:19 +0800)]
LU-4952 osd: wrong paramters for dmu_tx_hold_write

osd_declare_write_commit may pass wrong parameters to
dmu_tx_hold_write when there are multiple IO fragments.

Signed-off-by: Liang Zhen <liang.zhen@intel.com>
Change-Id: Ic7bd5ce1f42e7777c1a07eb4b9d19f8477da66a0
Reviewed-on: http://review.whamcloud.com/10079
Tested-by: Jenkins
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Johann Lombardi <johann.lombardi@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Isaac Huang <he.huang@intel.com>
9 years agoLU-4951 scripts: report modules changes in dkms RPM config 90/10090/2
Bruno Faccini [Thu, 24 Apr 2014 22:17:38 +0000 (00:17 +0200)]
LU-4951 scripts: report modules changes in dkms RPM config

lvfs.ko and nodemap.ko have been respectively removed and added
from/to distro, so this needs to be accordingly reported into
the script that generates DKMS RPM configuration statically.

Signed-off-by: Bruno Faccini <bruno.faccini@intel.com>
Change-Id: I917f79b134fb1d6be48b89c10faf531697fe1a9c
Reviewed-on: http://review.whamcloud.com/10090
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Minh Diep <minh.diep@intel.com>
9 years agoLU-3953 build: fix AC_LANG_SOURCE autoconf warnings 58/10158/2
Jeff Mahoney [Wed, 30 Apr 2014 02:58:52 +0000 (22:58 -0400)]
LU-3953 build: fix AC_LANG_SOURCE autoconf warnings

This fixes several places where the autoconf rules generate the
following warning:

configure.ac:23: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE
call detected in body

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Change-Id: Ib6a54310853b1e9aa34155e8bec9aae410278f25
Reviewed-on: http://review.whamcloud.com/10158
Tested-by: Jenkins
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4629 lov: fix sscanf format specification 91/9391/4
Dmitry Eremin [Tue, 25 Feb 2014 21:06:20 +0000 (01:06 +0400)]
LU-4629 lov: fix sscanf format specification

sscanf format specification '%d' expects type 'int *' for 'd',
but parameter 3 has a different type '__u32*'

Length of format string "o%.5d" is 11 but array 'oname' of size 10.

Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Change-Id: I132ba4c4865cc12f831638edddb8d41e5fa2d273
Reviewed-on: http://review.whamcloud.com/9391
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
9 years agoLU-4817 osd: fix some leXX_to_cpu() usage issues 25/9825/4
John L. Hammond [Thu, 27 Mar 2014 19:15:26 +0000 (14:15 -0500)]
LU-4817 osd: fix some leXX_to_cpu() usage issues

In osd fix some endianness conversion issues, like applying
le16_to_cpu() to an integer literal and calling le64_to_cpu() with a
32-bit value.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I5c4b9b0c6f5695e1c34f8deac25f8a0c5d547e23
Reviewed-on: http://review.whamcloud.com/9825
Tested-by: Jenkins
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@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>
9 years agoLU-4676 hsm: Fix return value error of ct_run() 12/9412/3
Li Xi [Thu, 27 Feb 2014 07:58:18 +0000 (15:58 +0800)]
LU-4676 hsm: Fix return value error of ct_run()

ct_run() returns 0 after find out that fs_name is invalid.
lhsmtool_posix will exists with 0 after that error happens.
That might mislead scripts calling lhsmtool_posix.

Signed-off-by: Li Xi <lixi@ddn.com>
Change-Id: If167b38ffee0faff9d8eeb603c55b4972ba322d8
Reviewed-on: http://review.whamcloud.com/9412
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: jacques-Charles Lafoucriere <jacques-charles.lafoucriere@cea.fr>
Reviewed-by: Faccini Bruno <bruno.faccini@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4930 llite: add error handler in inode prepare phase 70/10170/6
wang di [Wed, 30 Apr 2014 12:09:13 +0000 (05:09 -0700)]
LU-4930 llite: add error handler in inode prepare phase

Add error handler during inode inialization, so inode will
become bad inode if something bad happens during inode prepare
phase, otherwise the striped directory will not get its layout
and being mis-regarded as normal directory.

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: I1a08a18f28d4eec1ab7dc7e13fa39585ff65deeb
Reviewed-on: http://review.whamcloud.com/10170
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4423 style: Change comment to fit within 80 columns 21/10121/2
Oleg Drokin [Sun, 27 Apr 2014 01:43:31 +0000 (21:43 -0400)]
LU-4423 style: Change comment to fit within 80 columns

A statahead commend had too long lines. This needed to be
fixed in order to get the patch upstream

Change-Id: I4a899a36d83591195727847712232dfca26f2d35
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/10121
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
9 years agoLU-4423 gss: fix checkpatch warning 18/10118/3
Oleg Drokin [Sat, 26 Apr 2014 20:40:06 +0000 (16:40 -0400)]
LU-4423 gss: fix checkpatch warning

sizeof *null_context_new is a bad coding style.

Change-Id: Ie71803940347bd4b92d502a547d046a065bb4387
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/10118
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
9 years agoLU-4944 osd: support for zfs-0.6.3 64/10064/6
Alex Zhuravlev [Wed, 23 Apr 2014 10:47:41 +0000 (14:47 +0400)]
LU-4944 osd: support for zfs-0.6.3

dsl_sync_task_nowait() replaces dsl_sync_task_do_nowait() and we have
to support the both versions: 0.6.2 and 0.6.3

Change-Id: I4e2e91eae40358e2cd68ab26107e51037c8fb09c
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/10064
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
9 years agoLU-4981 tests: remount FS after writes to /proc 74/10174/6
wang di [Thu, 1 May 2014 11:20:12 +0000 (04:20 -0700)]
LU-4981 tests: remount FS after writes to /proc

We should remount FS after writes all proc entry in 133g,
because some upcall value under /proc will be assigned to
some gabarge value, which will cause failures in the
following test.

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: Ic120e19651a4a7897a6329a93feff1644c778286
Reviewed-on: http://review.whamcloud.com/10174
Reviewed-by: Andreas Dilger <andreas.dilger@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>
9 years agoRevert "LU-2675 obd: decruft md_enqueue() and md_intent_lock()" 03/10203/2
Oleg Drokin [Sat, 3 May 2014 22:53:15 +0000 (22:53 +0000)]
Revert "LU-2675 obd: decruft md_enqueue() and md_intent_lock()"

This reintroduced back LU-4805, so reverting.

This reverts commit a2877f1f6c0fd0ec5ece836a216f42af3ef913da.

Change-Id: Id6728d4fa6a322a45579f0ce744d4c7161ac9d69
Reviewed-on: http://review.whamcloud.com/10203
Tested-by: Jenkins
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Tested-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-2675 obd: decruft md_enqueue() and md_intent_lock() 50/9850/4
John L. Hammond [Fri, 28 Mar 2014 23:38:37 +0000 (18:38 -0500)]
LU-2675 obd: decruft md_enqueue() and md_intent_lock()

Remove the lmm and lmmsize parameters from both functions, storing
that data in md_op_data when needed. Remove the unused lookup_flags
parameter from md_intent_lock(), and the unused reqp parameter from
md_enqueue(). Add a union ldlm_policy_data * parameter to
md_enqueue(). Remove the unused function lmv_enqueue_remote().

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I5c216b24d8ac824b9487c3296f18b7a8511285e3
Reviewed-on: http://review.whamcloud.com/9850
Tested-by: Jenkins
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4961 lustre: move ioctls to lustre_ioctl.h 39/10139/2
John L. Hammond [Mon, 28 Apr 2014 22:06:40 +0000 (17:06 -0500)]
LU-4961 lustre: move ioctls to lustre_ioctl.h

Move ioctl definitions and related functions from lustre_dlm.h,
lustre_lib.h, obd.h, to lustre_ioctl.h. Replace the definitions of
retired ioctls with comment. Remove inclusions of lustre_dlm.h,
lustre_lib.h, and obd.h in userspace, adding lustre_ioctl.h where
needed. Remove the uses of lov_stripe_md from jt_obd_create() in
lustre/utils/obd.c. Remove the unused commands obdio and obdbarrier.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I076ac84084ae3166e9b4525f2813510482523dc9
Reviewed-on: http://review.whamcloud.com/10139
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Robert Read <robert.read@intel.com>
9 years agoLU-4423 ptlrpc: Fix function prototypes 20/10120/2
Oleg Drokin [Sun, 27 Apr 2014 01:41:23 +0000 (21:41 -0400)]
LU-4423 ptlrpc: Fix function prototypes

ptlrpc_request_cache_init and ptlrpc_request_cache_fini
added by request cache code did not include argument type
in the declaration which causes a checkpatch warning.

Change-Id: I41f4f96cfbc9e63417b6adbe6ba1902248494fbb
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/10120
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
9 years agoLU-4423 gss: Fix typo in sec_gss.c 19/10119/2
Oleg Drokin [Sat, 26 Apr 2014 20:43:33 +0000 (16:43 -0400)]
LU-4423 gss: Fix typo in sec_gss.c

This patch fixes spelling typos in comments within sec_gss.c

Came from upstream from Masanari Iida <standby24x7@gmail.com>
commit 08c4c90dc2cfb719b787b39fb9cab9880b60d779

Change-Id: Ibf3543745cc0932a3a560cc274edf95a7411198d
Signed-off-by: Masanari Iida <standby24x7@gmail.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/10119
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
9 years agoLU-4954 mdd: validate names before create, link, and rename 11/10111/2
John L. Hammond [Fri, 25 Apr 2014 23:00:48 +0000 (18:00 -0500)]
LU-4954 mdd: validate names before create, link, and rename

In lu_name_is_valid() check that the length of the ln_name is equal to
ln_namelen and check that there are no embedded slashes. Add
mdd_name_check() which calls lu_name_is_valid() and check against the
mdd ENAMETOOLONG limit. Call mdd_name_check() from
mdd_create_sanity_check(), mdd_link_sanity_check() and mdd_rename().

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I66413b796177f042fc9bd87e98338de9e5125cae
Reviewed-on: http://review.whamcloud.com/10111
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
9 years agoLU-20 kernel: remove rest of obsolete kernel patches 99/9199/3
James Simmons [Mon, 10 Feb 2014 19:49:35 +0000 (14:49 -0500)]
LU-20 kernel: remove rest of obsolete kernel patches

Remove several patches that have not been used in some time.
The bio_add_page patch addressed an performance issue with
SLES11 SP1 1.8 servers with direct IO. All platforms have
support for 64 bit quota so we can remove the patch to enable
it on old SLES11 platforms. We no longer need the function
security_inode_unlink exported since the fsfilt layer has now
been removed.

Change-Id: I6a2d324950ba8e51f3d7785016d9834f6b26aafd
Signed-off-by: James Simmons <uja.ornl@gmail.com>
Reviewed-on: http://review.whamcloud.com/9199
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
9 years agoLU-4008 mdt: update mdt_getattr comments about EA sizing 41/10141/2
Oleg Drokin [Tue, 29 Apr 2014 00:57:53 +0000 (20:57 -0400)]
LU-4008 mdt: update mdt_getattr comments about EA sizing

After landing previous patches, some comments became out of date
This patch tries to rectify the situation and also adds some
additional explanations.

Change-Id: Ic3fb33ec60f7ae083ecae84cd207d2c10b95f965
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/10141
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
9 years agoLU-2177 ldlm: flock completion fixes. 05/10005/4
Vitaly Fertman [Fri, 25 Apr 2014 22:58:25 +0000 (02:58 +0400)]
LU-2177 ldlm: flock completion fixes.

move checks for FAILED, DESTROYED flags under ldlm spinlock,
destroy flock atomically with the check it is not destroyed yet.

do not put the granted flock into the resource if this is
UNLOCK, TEST, or DEADLOCK'ed flock.

a set of flock tests which races reply completion for
new flock request/test flock/unlock with namespace cleanup
on eviction.

Signed-off-by: Vitaly Fertman <vitaly_fertman@xyratex.com>
Change-Id: I97fa040a26eda6c6728929d10b29c2316db663e3
Reviewed-by: Alexey Lyashkov <alexey_lyashkov@xyratex.com>
Reviewed-by: Andriy Skulysh <andriy_skulysh@xyratex.com>
Tested-by: Alexander Lezhoev <alexander_lezhoev@xyratex.com>
Reviewed-by: Vitaly Fertman <vitaly_fertman@xyratex.com>
Xyratex-bug-id: MRP-1588
Reviewed-on: http://review.whamcloud.com/10005
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bobi Jam <bobijam@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4858 ofd: statfs small fixes 82/10082/2
Lai Siyao [Thu, 24 Apr 2014 13:14:15 +0000 (21:14 +0800)]
LU-4858 ofd: statfs small fixes

ofd_osd is valid in its life time because ofd is released before
osd, so it should never be cleared.

revive o_statfs for ofd_obd_ops which was mistakenly removed in
commit I5622e14bccacb809bca1c10499c23bcaf72e2a68.

Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Change-Id: I3cb6d82b71b3018b4fc9e885eb6533b064179238
Reviewed-on: http://review.whamcloud.com/10082
Tested-by: Jenkins
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Faccini Bruno <bruno.faccini@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
9 years agoLU-4717 llite: suppress non active IO error message 58/9658/7
Bobi Jam [Fri, 14 Mar 2014 07:44:10 +0000 (15:44 +0800)]
LU-4717 llite: suppress non active IO error message

Current CLIO does not support fadvise, suppress the error message.

Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: Iab3133ecc08cf0890ab3aa55018565d3d9f96e07
Reviewed-on: http://review.whamcloud.com/9658
Tested-by: Jenkins
Reviewed-by: Jinshan Xiong <jinshan.xiong@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>
9 years agoLU-3227 tests: fix for acl test 07/10007/3
Yang Sheng [Fri, 18 Apr 2014 03:49:52 +0000 (11:49 +0800)]
LU-3227 tests: fix for acl test

acl permission test will failed by a wrong system
message. Change script to adapt this issue.
Combined with other small change for lprocfs.

Signed-off-by: Yang Sheng <yang.sheng@intel.com>
Change-Id: I42d1e02c0f0990500b02085d60e2dc47f93f1bcc
Reviewed-on: http://review.whamcloud.com/10007
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-992 doc: remove old kernels from lustre/ChangeLog 86/8186/10
Andreas Dilger [Thu, 24 Oct 2013 08:21:10 +0000 (02:21 -0600)]
LU-992 doc: remove old kernels from lustre/ChangeLog

Remove the old and obsolete kernels from the current list of
kernel versions that Lustre works with, since this is confusing
to list kernels that are no longer supported at all.

Update kernel patch documentation to make it clear which patches
should be applied.

Update recommended e2fsprogs version to include "or newer".

Move ldiskfs README file to top-level directory.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: Ia4859b3b2bf5a8aa9faabeb43d554130143ebbe5
Reviewed-on: http://review.whamcloud.com/8186
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Jenkins
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4556 tests: speed up sanity-lfsck and sanity-scrub tests 04/9704/18
Fan Yong [Fri, 28 Mar 2014 17:55:20 +0000 (01:55 +0800)]
LU-4556 tests: speed up sanity-lfsck and sanity-scrub tests

1) drop unnecessary devices reformat.
2) drop unnecessary system stop/re-start.
3) replace 'sleep' with wait_update_facet to avoid idle wait.
4) drop unnecessary "-p" option for some "mkdir" cases.
5) replace "touch" with "createmany -m".
6) other code style changes and cleanup.

Test-Parameters: envdefinitions=SLOW=yes testlist=lfsck-performance
Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I047c63b8793fa843fabe1a69b332c42f2f523f68
Reviewed-on: http://review.whamcloud.com/9704
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>
9 years agoLU-4895 lfsck: not create object to repair dangling by default 89/9989/8
Fan Yong [Fri, 28 Mar 2014 17:48:03 +0000 (01:48 +0800)]
LU-4895 lfsck: not create object to repair dangling by default

If the OST-object which is referenced by some MDT-object does not
exist, the layout LFSCK should not create the lost OST-object by
default; otherwise related application(s) may miss to be aware of
the bad file.

The LFSCK will allow the administrator to specify how to handle
the dangling reference case via a new option "-c" when trigger
the LFSCK:

[-coff] or [--create_ostobj=off]:
Report the inconsistency via log, but keep the dangling reference
there without repairing. (by default)

-c[on] or --create_ostobj[=on]:
Create the lost OST-object.

Change syntax for dryrun:
[-noff] or [--dryrun=off]:
Disable dryrun mode. (by default)

-n[on] or --dryrun[=on]:
Enable dryrun mode.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I8fa1e5bbea63c7368e04052c88311a9ea0c6f969
Reviewed-on: http://review.whamcloud.com/9989
Tested-by: Jenkins
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoRevert "LU-4924 llite: Only kill SGID/SUID bits" 51/10151/2
Oleg Drokin [Tue, 29 Apr 2014 17:57:19 +0000 (17:57 +0000)]
Revert "LU-4924 llite: Only kill SGID/SUID bits"

Did not notice that this introduces 100% failure all in itself.

This reverts commit 70c37954649fbc4fc2d0820d5d422f96144071f9.

Change-Id: If27762e2ffa9afc3857446a733ee3a8751fe6292
Reviewed-on: http://review.whamcloud.com/10151
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Tested-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4924 llite: Only kill SGID/SUID bits 71/10071/2
Nathaniel Clark [Wed, 23 Apr 2014 21:39:46 +0000 (17:39 -0400)]
LU-4924 llite: Only kill SGID/SUID bits

Check that attr mode is valid before using it when determining if to
clear SGID and SUID bits in ll_setattr.
Add regression test.

Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: I2b221e80a5bb167f8670f376ce97d62d720ad857
Reviewed-on: http://review.whamcloud.com/10071
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
9 years agoLU-4920 quota: always clear lqe_lockh on lock cancel 65/9965/4
Niu Yawei [Wed, 16 Apr 2014 04:22:06 +0000 (00:22 -0400)]
LU-4920 quota: always clear lqe_lockh on lock cancel

In the qsd_id_blocking_ast(), lqe_lockh should always be cleared,
otherwise, quota code will mistakenly assume the id lock is still
valid.

Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: Iac73216d130aebe1b73226d260807f3a9cedc635
Reviewed-on: http://review.whamcloud.com/9965
Tested-by: Jenkins
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
9 years agoLU-4941 lfsck: check LOV EA header properly 45/10045/4
Fan Yong [Fri, 28 Mar 2014 17:47:07 +0000 (01:47 +0800)]
LU-4941 lfsck: check LOV EA header properly

1) If the LFSCK does not recognize the magic, then check whether
   the magic's postfix match the LOV_MAGIC_MAGIC or not: if yes,
   then it is quite possible that the system was downgraded from
   a new release with new LOV magic, so it is better to keep the
   current LOV EA unchanged; otherwise, it is crashed LOV EA and
   should be repaired by the LFSCK.

2) Check the pattern with lov_pattern().

3) Drop redundant LOV EA header verification.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Iad3a1d6fc50a5dfba977a534fdb253bc9f6373e5
Reviewed-on: http://review.whamcloud.com/10045
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-3333 ptlrpc: Protect request buffer changing 74/10074/3
Oleg Drokin [Mon, 27 May 2013 18:06:09 +0000 (14:06 -0400)]
LU-3333 ptlrpc: Protect request buffer changing

*_enlarge_reqbuf class of functions can change request body location
for a request that's already in replay list, as such a parallel
traverser of the list (after_reply -> ptlrpc_free_committed) might
access freed and scrambled memory causing assertion.

Since all such users only can get to this request under imp_lock, take
imp_lock to protect against them in *_enlarge_reqbuf

Change-Id: I0fa690aabd8696a9f05b94c66e06e30eefb5c759
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/10074
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
9 years agoLU-4557 ext4: recalc percpu counters after journal 08/9908/3
Hongchao Zhang [Sun, 6 Apr 2014 02:12:18 +0000 (10:12 +0800)]
LU-4557 ext4: recalc percpu counters after journal

the percpu counters is initialized before replaying the journal,
but after the journal it should be recalculate to deal with the
possibility of the percpu counters getting updated by the journal
replay.

the issue has been fixed in the new kernels (RHEL6 2.6.32-431.5.1,
SLES11SP3 3.0.101-0.15), then it is not needed for these kernels.

Change-Id: I5dfa0696b5ccd404b1add9ad6e2b0877d86a35b2
Signed-off-by: Hongchao Zhang <hongchao.zhang@intel.com>
Reviewed-on: http://review.whamcloud.com/9908
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
9 years agoLU-4569 hsm: Specify import source by FID. 75/9075/4
Henri Doreau [Fri, 31 Jan 2014 08:51:12 +0000 (09:51 +0100)]
LU-4569 hsm: Specify import source by FID.

Make the posix CT also accept a FID as import source parameter (from
which the path can be rebuilt) to allow easy "undeletion" of archived
files:

lhsmtool_posix --import <fid> /mnt/lustre/undelete ...

This patch also fixes a typo and replaces a bulky path construction by
a single asprintf() statement.

Signed-off-by: Henri Doreau <henri.doreau@cea.fr>
Change-Id: Id6d92bea59a6cae628c2b3e5449d8dad3b06a364
Reviewed-on: http://review.whamcloud.com/9075
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Faccini Bruno <bruno.faccini@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4374 mgs: No modify during set_param is not an error 67/8567/7
Bruno Faccini [Mon, 27 Jan 2014 15:04:06 +0000 (16:04 +0100)]
LU-4374 mgs: No modify during set_param is not an error

Non negative return code from mgs_modify(), and particularly
1 for no-modify because already set, is wrongly interpreted as
an error with associated msgs in debug log and at user-level.

Signed-off-by: Bruno Faccini <bruno.faccini@intel.com>
Change-Id: Ieb058df406fd5e176cfe177a43dad0e6ebfbe78a
Reviewed-on: http://review.whamcloud.com/8567
Tested-by: Jenkins
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
9 years agoLU-4669 type: change "%llx" to "LPX64” 11/9811/4
Jian Yu [Wed, 16 Apr 2014 08:04:57 +0000 (16:04 +0800)]
LU-4669 type: change "%llx" to "LPX64”

This patch fixes the following compile errors by using "LPX64”:
error: format '%llx' expects type 'long long unsigned int',
       but argument 5 has type '__u64'
error: format '%#llx' expects type 'long long unsigned int',
       but argument 3 has type '__u64'

Signed-off-by: Jian Yu <jian.yu@intel.com>
Change-Id: Ica703160923e5f2b987217d97e623fe16eb667ad
Reviewed-on: http://review.whamcloud.com/9811
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>
9 years agoLU-4669 type: change "%Lu" and "%Lx" to "LPU64” and "LPX64" 21/9921/2
Jian Yu [Wed, 9 Apr 2014 14:01:14 +0000 (22:01 +0800)]
LU-4669 type: change "%Lu" and "%Lx" to "LPU64” and "LPX64"

"%Lu" and "%Lx" are not supported by standard C. This patch
fixes these formats with "LPU64" and "LPX64".

Signed-off-by: Jian Yu <jian.yu@intel.com>
Change-Id: Ic10346575161c55b299cce6576029c16d59fe60f
Reviewed-on: http://review.whamcloud.com/9921
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
9 years agoLU-4783 mgs: start params log during mgs initialization 37/9737/6
Emoly Liu [Tue, 15 Apr 2014 07:16:53 +0000 (15:16 +0800)]
LU-4783 mgs: start params log during mgs initialization

Params log was introduced by LU-3155 to set parameters permanently
with lctl "set_param -P" instead of "conf_param". But in a newly
mounted filesystem, the log won't be created automatically until "lctl
set_param -P" is called. This causes that the other servers can't make
a local copy successfully during their setup, and the misleading
console error message "LustreError: 13a-8: Failed to get MGS log
params and no local copy." is printed.
This patch is to start params log during mgs intialization so that the
error message is quieted.
Also, test_76b is added to conf-sanity.sh to verify params log setup.

Signed-off-by: Emoly Liu <emoly.liu@intel.com>
Change-Id: Ifc3abc1e35ef20230a1be1cdf1c4cc8f57b2788e
Reviewed-on: http://review.whamcloud.com/9737
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-2675 liblustre: disable liblustre by default 56/9756/6
John L. Hammond [Sat, 22 Mar 2014 01:01:52 +0000 (20:01 -0500)]
LU-2675 liblustre: disable liblustre by default

liblustre is not used, nor is it tested, so don't build it by default.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: Ie2369d0163963d6e691b3787495b1b2155fe6111
Reviewed-on: http://review.whamcloud.com/9756
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
9 years agoLU-4442 tests: update version number in replay-vbr test 7g 86/9986/2
Jian Yu [Thu, 17 Apr 2014 06:00:52 +0000 (14:00 +0800)]
LU-4442 tests: update version number in replay-vbr test 7g

Since the following patch was landed on Lustre b2_5 branch,
we need change Lustre version number 2.5.52 to 2.5.1 in
replay-vbr test_7g():

Lustre-commit: 1eb9dbad0db49a4fb36d52f4141386b29baaedaf
Lustre-change: http://review.whamcloud.com/9213

Test-Parameters: envdefinitions=SLOW=yes,ONLY=7 testlist=replay-vbr
Test-Parameters: envdefinitions=SLOW=yes,ONLY=7 \
ossjob=lustre-b2_5 mdsjob=lustre-b2_5 \
ossbuildno=42 mdsbuildno=42 testlist=replay-vbr

Signed-off-by: Jian Yu <jian.yu@intel.com>
Change-Id: I28a4b2de285c92cc3d5934a77ef792e11fc897ed
Reviewed-on: http://review.whamcloud.com/9986
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-3963 libcfs: remove the last of cfs_atomic 02/9902/3
James Simmons [Sun, 6 Apr 2014 22:24:52 +0000 (18:24 -0400)]
LU-3963 libcfs: remove the last of cfs_atomic

With all cfs_atomic wrappers removed from lustre and libcfs
this patch removes the last bits of the cfs_atomic wrappers.

Change-Id: I8ede88fe45b7ddd82036b2f2a7907e4eb1604a5e
Signed-off-by: James Simmons <uja.ornl@gmail.com>
Reviewed-on: http://review.whamcloud.com/9902
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
9 years agoLU-4718 osp: clear oxe_ready on old oxe 72/9672/2
John L. Hammond [Fri, 14 Mar 2014 18:37:41 +0000 (13:37 -0500)]
LU-4718 osp: clear oxe_ready on old oxe

In osp_xattr_get() and osp_declare_xattr_set() avoid NULL pointer
deferences in the error handling cases by clearing oxe_ready on the
old xattr cache entries.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I54f69e2d3e6570528e5a26bc9dd6e079a773a1a8
Reviewed-on: http://review.whamcloud.com/9672
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4461 mdt: correct test in mdt_seq_fini_cli() 86/8786/5
John L. Hammond [Thu, 9 Jan 2014 18:42:11 +0000 (12:42 -0600)]
LU-4461 mdt: correct test in mdt_seq_fini_cli()

In mdt_seq_fini_cli() pass ss->ss_server_seq to seq_server_set_cli()
if it's *not* NULL.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I494219416b772a33838dd4fb9303d6b9519050f9
Reviewed-on: http://review.whamcloud.com/8786
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
9 years agoLU-2675 mdd: remove dead code 48/8548/3
John L. Hammond [Wed, 11 Dec 2013 21:09:55 +0000 (15:09 -0600)]
LU-2675 mdd: remove dead code

Remove the declarations of several undefined mdd functions. Remove
several unused functions. Remove the file mdd_lov.c.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: Ife0d13ee414bd43c42389d9e58d9dd97344cb33c
Reviewed-on: http://review.whamcloud.com/8548
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4802 tests: Create non-stripe dir for cross-MDT opration 89/9889/2
Wei Liu [Fri, 4 Apr 2014 21:33:22 +0000 (14:33 -0700)]
LU-4802 tests: Create non-stripe dir for cross-MDT opration

Create non-stripe dir for cross-MDT link and rename

Change-Id: Ic4b6f836cae0242bdd98c9a39ae6c4f93f597cba
Signed-off-by: Wei Liu <wei3.liu@intel.com>
Reviewed-on: http://review.whamcloud.com/9889
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4563 Fix unsafe userspace access in many proc files 59/9059/16
Oleg Drokin [Sun, 6 Apr 2014 02:38:30 +0000 (22:38 -0400)]
LU-4563 Fix unsafe userspace access in many proc files

Also add a test to make sure no new ones are added in the future

Change-Id: I2fe7d2cea5daef21f4279ce813ca35f6d91f68dc
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/9059
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
9 years agoLU-4862 doc: Update lctl man page for LFSCK phase 2 10/9910/5
James Nunez [Tue, 8 Apr 2014 14:40:26 +0000 (08:40 -0600)]
LU-4862 doc: Update lctl man page for LFSCK phase 2

Update the lctl man page with functionality and options
added by LFSCK phase 2. The lfsck_start and lfsck_stop
options are updated.

Signed-off-by: James Nunez <james.a.nunez@intel.com>
Change-Id: I535faf92feb40cd0a58c6532ef7ad2702213fdfb
Reviewed-on: http://review.whamcloud.com/9910
Tested-by: Jenkins
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
9 years agoLU-4388 io: pass fsync() range through RPC/IO stack 26/8626/15
Andreas Dilger [Thu, 19 Dec 2013 20:11:09 +0000 (13:11 -0700)]
LU-4388 io: pass fsync() range through RPC/IO stack

The Linux VFS and Lustre OST_SYNC RPC are both capable of specifying
fsync() on a sub-extent of the file {start, end} instead of the full
file.  This allows less than the full amount of data to be flushed,
reducing or possibly eliminating the work needed before the syscall
can return.

However, the handling of sub-extent of the file for fsync was lost
with the move to CLIO on the client and OSD API on the server.  They
were ignoring the passed {start, end} and using {0, OBD_OBJECT_EOF}
instead.

Return the ability to pass a sub-extent for fsync() from the client,
to the specific stripes/OSTs that need the sync operation, and pass
it down to the OSD.  The ZFS OSD doesn't handle this yet, but there
is room for improvement in a separate patch.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: Id2c3ab7ab5283cdeece6b4986ab2dfbfb03ebbe5
Reviewed-on: http://review.whamcloud.com/8626
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bobi Jam <bobijam@gmail.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4855 fld: refer to MDT0 for fld lookup in some cases 77/9877/2
wang di [Wed, 2 Apr 2014 16:57:00 +0000 (09:57 -0700)]
LU-4855 fld: refer to MDT0 for fld lookup in some cases

It is possible that when fld client is trying to lookup seq
on one of MDT, but the connection between the client and the MDT
is not being initialized yet, especially during striped dir creation,
because client will only send create req to the master MDT, then
master MDT will distribute the operation to all of other MDT, instead
of client distributing these requests, which will usually trigger
the connection.

In this case, we will send the fld request to MDT0, since it has
all of location information.

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: I577ada2a782ecbdc863d05e8d007c0914a1e7837
Reviewed-on: http://review.whamcloud.com/9877
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4808 tests: sanity cleanup to work on Xeon Phi 66/9766/9
Dmitry Eremin [Mon, 24 Mar 2014 18:03:25 +0000 (22:03 +0400)]
LU-4808 tests: sanity cleanup to work on Xeon Phi

* Made the test_74c robust to different platforms.
* Fix an issue with values more than 2^32 (for example 9.36473e+09).
* Fix an integer comparison in case of empty variable.
* Check for tools presents (rsync and getfattr).
* Check for CLIENTONLY mode.
* Remove "-x" options from grep (it's not always supported).
* Coding style cleanup.

Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Change-Id: I53671f9a6ca2efa0a8f3e5634bfe4d6e8d204078
Reviewed-on: http://review.whamcloud.com/9766
Tested-by: Jenkins
Reviewed-by: Jian Yu <jian.yu@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>