Whamcloud - gitweb
fs/lustre-release.git
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>
9 years agoLU-4351 tests: skip loop test in SLES11 clients 55/9955/4
Bob Glossman [Mon, 14 Apr 2014 22:07:10 +0000 (15:07 -0700)]
LU-4351 tests: skip loop test in SLES11 clients

Avoid known failure in test 54c due to SLES specific
incompatible implementation flaw in kernel loop devices.

Test-Parameters: clientdistro=sles11sp3 testlist=sanity
Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: Ia8b33f71ad77418f35db4e4640489d1ba4d3add1
Reviewed-on: http://review.whamcloud.com/9955
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoRevert "LU-3333 ptlrpc: Protect request buffer changing" 52/10052/3
Oleg Drokin [Tue, 22 Apr 2014 17:06:19 +0000 (17:06 +0000)]
Revert "LU-3333 ptlrpc: Protect request buffer changing"

It turns out that sec_null message format is is not double wrapped
like sec_plain and sec_gss cases. As such a conversion from rq_buf
to rq_msg is different in those cases.
The older way of doing in-place locking seems to be the way to go
here I think.

This reverts commit b2bb3b247d1dc75e25f1b5c14a333905909b5e70.

Change-Id: Icd84a696aafed17a275d0576dad639b929618190
Reviewed-on: http://review.whamcloud.com/10052
Tested-by: Jenkins
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Tested-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4687 obdclass: unified flow control interfaces 62/9562/13
Fan Yong [Tue, 25 Mar 2014 14:16:12 +0000 (22:16 +0800)]
LU-4687 obdclass: unified flow control interfaces

Unify the flow control interfaces for MDC RPC, FLD RPC and lfsck
remote update (via OSP). We allow to adjust the maximum inflight
RPCs count via /proc interface.

Rename some variables/functions to make them easily understood.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I096a1de17fe226bac2fe3a3c891365c2e2c51ef3
Reviewed-on: http://review.whamcloud.com/9562
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4927 scrub: rebuild stale OST OI mapping 06/10006/3
Fan Yong [Tue, 25 Mar 2014 14:01:54 +0000 (22:01 +0800)]
LU-4927 scrub: rebuild stale OST OI mapping

If the osd_oi_lookup() which is called by osd_scrub_check_update()
returns -ESTALE for an OST FID, then it means that the target FID
has invalid OI mapping, and should be rebuilt.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I4087da9d3c8e18aff14e314af49637134ee8d4ff
Reviewed-on: http://review.whamcloud.com/10006
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-4919 lfsck: record the first failure position 85/9985/3
Fan Yong [Sun, 23 Mar 2014 00:11:34 +0000 (08:11 +0800)]
LU-4919 lfsck: record the first failure position

The layout LFSCK should set lfsck_layout::ll_pos_first_inconsistent,
then we can know where the first object to be fixed or failed to be
checked, which can save some effort when switch LFSCK from dryrun to
repair mode.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Icd8f4bce6b75c07b1daeac36062b6736bb66c7fc
Reviewed-on: http://review.whamcloud.com/9985
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4653 fid: only compare non-IDIF seq in lu_fid_diff 60/9560/6
wang di [Fri, 7 Mar 2014 20:30:02 +0000 (12:30 -0800)]
LU-4653 fid: only compare non-IDIF seq in lu_fid_diff

Because it will pack OST index into IDIF FID in 2.6, and
in 2.4/2.5, the OST index in IDIF FID is always 0. So we
only compare non-IDIF sequence in lu_fid_diff.

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: I430210819c1cd7257094f51ef364f50d5291361c
Reviewed-on: http://review.whamcloud.com/9560
Tested-by: Jenkins
Reviewed-by: Fan Yong <fan.yong@intel.com>
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-3953 build: cache the results of configure between runs 82/9582/7
Dmitry Eremin [Thu, 6 Mar 2014 07:53:03 +0000 (11:53 +0400)]
LU-3953 build: cache the results of configure between runs

This modification allow configure script cache the results of
heavy (required compilation) configure tests run on this system
so they can be shared between configure scripts and configure
runs, see configure's option --config-cache. This is very useful
for several configurations on the same machine with different
--enable/disable options.

The time of first clean pass:
  time ./configure -C
  real    1m9.879s
  user    0m33.390s
  sys     0m30.392s

The time of second pass with cached results:
  time ./configure -C
  real    0m10.190s
  user    0m2.900s
  sys     0m4.832s

Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Change-Id: I41b8091331e8f5260262829ad3e24f34ee34c76b
Reviewed-on: http://review.whamcloud.com/9582
Tested-by: Jenkins
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Brian J. Murrell <brian.murrell@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-2600 osd-zfs: batched object accounting 57/7157/18
Alex Zhuravlev [Sun, 28 Jul 2013 18:12:29 +0000 (22:12 +0400)]
LU-2600 osd-zfs: batched object accounting

using dsl_sync_task_do_nowait() we can schedule the updates
to be executed in a closing txg. this way object accounting
can be done in memory and then updated in ZAPs once per txg.

Test-Parameters: fortestonly envdefinitions=SLOW=yes,ENABLE_QUOTA=yes \
mdtfilesystemtype=zfs mdsfilesystemtype=zfs ostfilesystemtype=zfs testlist=sanity-quota
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Change-Id: Iebe96c9847c6c53b8232295a44fd8044b1ae18b4
Reviewed-on: http://review.whamcloud.com/7157
Tested-by: Jenkins
Reviewed-by: Johann Lombardi <johann.lombardi@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Isaac Huang <he.huang@intel.com>
9 years agoLU-4826 lmv: cleanup req in lmv_getattr_name() 63/9863/3
John L. Hammond [Tue, 1 Apr 2014 19:24:49 +0000 (14:24 -0500)]
LU-4826 lmv: cleanup req in lmv_getattr_name()

In lmv_getattr_name() don't return a freed request in the error path.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I64f3e2b30bebe4dfb5f58651a92a3f08108af17b
Reviewed-on: http://review.whamcloud.com/9863
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-3319 procfs: update ldiskfs proc handling to seq_files 32/8232/13
James Simmons [Tue, 25 Mar 2014 16:37:41 +0000 (12:37 -0400)]
LU-3319 procfs: update ldiskfs proc handling to seq_files

Migrate all ldiskfs proc handling to using strictly
seq_files. Also include a fix with newer gcc complaining
certain variables are uninitialized.

Signed-off-by: James Simmons <uja.ornl@gmail.com>
Change-Id: Ia296a4682e2feda02bcfbe0100de8a89404cd731
Reviewed-on: http://review.whamcloud.com/8232
Tested-by: Jenkins
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
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-3319 procfs: move mgs proc handling to seq_files 35/7935/10
James Simmons [Tue, 4 Mar 2014 15:45:30 +0000 (10:45 -0500)]
LU-3319 procfs: move mgs proc handling to seq_files

With 3.10 linux kernel and above proc handling now only
uses struct seq_files. This patch migrates the mgs
layer proc entries over to using seq_files.

Signed-off-by: James Simmons <uja.ornl@gmail.com>
Change-Id: I1a12dd9b1fc8f139116a8f3a684956a5ba88f055
Reviewed-on: http://review.whamcloud.com/7935
Reviewed-by: Bob Glossman <bob.glossman@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>
9 years agoLU-4819 tests: Lustre Sanity test_101b hangs for large OSTCOUNTs 88/9788/2
Parinay Kondekar [Wed, 26 Mar 2014 05:44:20 +0000 (11:14 +0530)]
LU-4819 tests: Lustre Sanity test_101b hangs for large OSTCOUNTs

sanity.sh test_101b hangs during Lustre sanity test. This
is happening especially in cases where the $OSTCOUNT is
greater than 100.

Due to OSTCOUNT of more than 100, the ITERATION parameter
results in '0', which causes the 'reads' utility to run
in infinite 'for' loop. Thus resulting in a hang on such
setups.

This change would make necessary changes in FILE_LENGTH in
test_101b and its related routines(setup_101bc, ra_check)
so that, the test won't hang and would proceed rightly.

Signed-off-by: Parinay Kondekar <parinay_kondekar@xyratex.com>
Change-Id: I0815dfd8777d3055cf5dd6de01b2a18d1bff96bf
Xyratex-bug-id: MRP-1362
Reviewed-on: http://review.whamcloud.com/9788
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4711 libcfs: Always clamp cdls_delay between min and max 03/9503/2
Ryan Haasken [Wed, 5 Mar 2014 15:23:07 +0000 (09:23 -0600)]
LU-4711 libcfs: Always clamp cdls_delay between min and max

In libcfs_debug_vmsg2, cdls_delay is only clamped between the minimum
and the maximum when it is increased by multiplying by the backoff
factor.  It is not clamped when it is decreased by dividing by the
backoff factor.  This allows it to achieve values less than the
minimum, which allows a console message to be printed that should have
been skipped.  This patch moves the clamping outside of the else
statement, ensuring that cdls_delay is always between the min and the
max after the first time through libcfs_debug_vmsg2.

Signed-off-by: Ryan Haasken <haasken@cray.com>
Change-Id: I5e587292b73b4c61ef306908fa10d324da5ce069
Reviewed-on: http://review.whamcloud.com/9503
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Chris Horn <hornc@cray.com>
Reviewed-by: Ann Koehler <amk@cray.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
9 years agoLU-3498 kernel: remove uses of IS_ERR_VALUE() 59/6759/8
John L. Hammond [Mon, 24 Jun 2013 20:39:51 +0000 (15:39 -0500)]
LU-3498 kernel: remove uses of IS_ERR_VALUE()

Remove most uses of IS_ERR_VALUE(). This macro was often given an int
argument coming from PTR_ERR(). This invokes implementation defined
behavior since the long value gotten by applying PTR_ERR() to a kernel
pointer will usually not be representable as an int. Moreover it may
be just plain wrong to do this since the expressions IS_ERR(p) and
IS_ERR_VALUE((int) PTR_ERR(p)) are not equivalent for a general
pointer p.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: Ib76592a1fc491539d28a51668c7f06347e988f9f
Reviewed-on: http://review.whamcloud.com/6759
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4619 llite: prevent buffer overflow in fiemap 34/9834/5
Bobi Jam [Fri, 18 Apr 2014 05:58:36 +0000 (13:58 +0800)]
LU-4619 llite: prevent buffer overflow in fiemap

lov_fiemap() does not take consider its @vallen parameter, which is
the max buffer size the caller can hold for the fiemap extents.

This patch fixes this and limits the max mapped fiemap extent count
to fit in the preallocted buffer.

This patch also fixes a memory out of bound write issue when the
fiemap call is only for detecting the number of existing extent.

Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: I3a786837fbfec7d5b3f848c5d357b28b9967be85
Reviewed-on: http://review.whamcloud.com/9834
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Jenkins
Reviewed-by: Patrick Farrell <paf@cray.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
9 years agoLU-4872 build: warn on LASSERT and CERROR in checkpatch.pl 14/9914/2
John L. Hammond [Tue, 8 Apr 2014 20:44:01 +0000 (15:44 -0500)]
LU-4872 build: warn on LASSERT and CERROR in checkpatch.pl

In contrib/scripts/checkpatch.pl emit a warning on new LASSERT
statements and new LCONSOLE*() messages. Also ask the submitter to
think hard before adding new CERROR, CWARN, CEMERG messages.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I8ebcde6af64cdf1c0669bdc5fd0b0a9abeae6066
Reviewed-on: http://review.whamcloud.com/9914
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Prakash Surya <surya1@llnl.gov>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
10 years agoNew tag 2.5.58 2.5.58 v2_5_58 v2_5_58_0
Oleg Drokin [Sat, 19 Apr 2014 07:39:38 +0000 (03:39 -0400)]
New tag 2.5.58

Change-Id: I3c640d9bd1e413971f5b97ac14b1414e87e0d63f

10 years agoLU-4669 ldiskfs: do not export static inline functions 01/9401/9
Jian Yu [Thu, 27 Mar 2014 09:57:18 +0000 (17:57 +0800)]
LU-4669 ldiskfs: do not export static inline functions

In ldiskfs/ldiskfs_extents.h, both ldiskfs_ext_store_pblock()
and ldiskfs_ext_pblock() are defined as static inline functions.
However, commit 49b06fba39e (http://review.whamcloud.com/4804)
exported these two functions in ldiskfs/extents.c, which is not
allowed by gcc and causes the following compile errors:

error: __ksymtab_ldiskfs_ext_pblock causes a section type conflict
error: __ksymtab_ldiskfs_ext_store_pblock causes a section type conflict

This patch fixes the above errors by not exporting the two functions.

Signed-off-by: Jian Yu <jian.yu@intel.com>
Change-Id: I8969f95f144a59d5ae8033667136abd958dfe2ab
Reviewed-on: http://review.whamcloud.com/9401
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
10 years agoLU-2675 mdt: refactor mdt_getattr_name_lock() 61/9861/3
John L. Hammond [Tue, 1 Apr 2014 16:34:55 +0000 (11:34 -0500)]
LU-2675 mdt: refactor mdt_getattr_name_lock()

In mdt_getattr_name_lock(), concentrate the cross reference handling
code into one block. Remove assertions about the remoteness of parent.
Remove some set but unused local variables in mdt_handler.c. Declare
functions static where possible. Remove the unused structures
mdt_handler and mdt_opc_slice.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I3468e200130259cf7c760bb080c1bdff9e03fd8e
Reviewed-on: http://review.whamcloud.com/9861
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@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>
10 years agoLU-3254 llite: Update layout_gen only if layout change succeed 58/9858/2
Jinshan Xiong [Sun, 30 Mar 2014 02:14:05 +0000 (19:14 -0700)]
LU-3254 llite: Update layout_gen only if layout change succeed

Move layout generation update to ll_layout_conf() so that it will
change layout at LLITE only if layout update has succeeded.

Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: I407d617be184b1c888d6b16b11f7e33bf10add80
Reviewed-on: http://review.whamcloud.com/9858
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>
10 years agoLU-4816 tests: Customer Wizard seems to be stuck on test 116 78/9778/4
Parinay Kondekar [Tue, 25 Mar 2014 15:56:34 +0000 (21:26 +0530)]
LU-4816 tests: Customer Wizard seems to be stuck on test 116

Due to large OST  size, the execution of test 116 takes huge time to
complete. In such cases it would be good to skip this tests execution.

The test attempts to write 2% above the qos_threshold_rr_level.
In scenarios where OST size is huge, during the first round of write
the count of 2MB file to be created is big, causing testt to take time
to comeplete the same.

This change checks to see if more space is available than expected,
and if so skips the test.

Signed-off-by: Parinay Kondekar <parinay_kondekar@xyratex.com>
Change-Id: Ifa101de2fffcaa3c182582496abd68ab6244d3a0
Xyratex-bug-id: MRP-1747
Reviewed-on: http://review.whamcloud.com/9778
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
10 years agoLU-4131 mdd: Changelog not logging file truncate. 23/9723/2
rahul.deshmukh [Wed, 19 Mar 2014 05:37:15 +0000 (11:07 +0530)]
LU-4131 mdd: Changelog not logging file truncate.

Use of truncate(2) does not produce any change log entries,
and the action is invisible. This patch introduces CL_TRUNC
event and adds the corresponding changelog record when the
size has changed.

Signed-off-by: Rahul Deshmukh <rahul_deshmukh@xyratex.com>
Change-Id: I6621e726a82a8105a959b77b4f505f42990f5d64
Reviewed-on: http://review.whamcloud.com/9723
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@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>
10 years agoLU-4762 lctl: set_param should return error when value is null 38/9638/3
Emoly Liu [Thu, 20 Mar 2014 06:28:38 +0000 (14:28 +0800)]
LU-4762 lctl: set_param should return error when value is null

"lctl set_param" should return error when the parameter value is null.
For example: "lctl set_param debug_mb" or "lctl set_param fail_loc="

Signed-off-by: Emoly Liu <emoly.liu@intel.com>
Change-Id: I5572c7a16803f1c4ba4449056b4dd2c476106bde
Reviewed-on: http://review.whamcloud.com/9638
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Bobi Jam <bobijam@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>