LU-5144 mdt: rename vs link deadlock

it may happen that tgt child for rename is a directory, which is used
as tgt dir for link in parallel, as the result rename locks src child,
tgt child what may deadlock with tgt dir, src file locking of link.

As not dir cannot replace dir, check it before locking the tgt child.

Signed-off-by: Vitaly Fertman <vitaly_fertman@xyratex.com>
Xyratex-bug-id: MRP-1921
Change-Id: If8b91d27e4d978853e4b8fbb025667d22c9d2f02
Reviewed-on: http://review.whamcloud.com/10570
Tested-by: Jenkins
Tested-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-4725 obd: lu_object_find_at hung

lu_object_find_at hungs if called 2 times and object is removed
in between. It makes mdt_rename_sanity not workable for rename.
Change mdt_rename_sanity to work on existing object.

Signed-off-by: Vitaly Fertman <vitaly_fertman@xyratex.com>
Xyratex-bug-id: MRP-1700
Change-Id: I173e2fe3f87bc88fcc73c1813cfe4298fb515c50
Reviewed-on: http://review.whamcloud.com/10484
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-5153 fld: lsf_lock in update_from_controller

The lsf_lock mutex must be held for calls to
fld_index_create, and is currently taken before calls to
fld_insert_entry.

This patch adds a comment and an assertion to
fld_insert_entry, and takes the mutex for the call in
fld_update_from_controller.

Also adds subsystem description from Di Wang to header file.

Signed-off-by: Patrick Farrell <paf@cray.com>
Change-Id: I3dcc9a53589d128343d9f386eaf7265f39ff5840
Reviewed-on: http://review.whamcloud.com/10631
Tested-by: Jenkins
Reviewed-by: wangdi <di.wang@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-4629 osd-ldiskfs: fix uninitialized members

'new.dt' is used uninitialized in this function.

osd_compat.c:162: 'new.dt' is declared
osd_compat.c:179: 'new.dt' is used, but is uninitialized.

osd_compat.c:354: 'new.dt' is declared
osd_compat.c:382: 'new.dt' is used, but is uninitialized.

Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Change-Id: Ic37b0fd93a83d5d1a9270fd41b8bfec2f08d4b2a
Reviewed-on: http://review.whamcloud.com/10614
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
LU-4629 llite: Fix uninitialized variable

'f.f_flags' might be used uninitialized in this function.

xattr.c:248: 'f.f_flags' is declared.
xattr.c:244: lump!= ( (void* )0) is true
xattr.c:254: 'f.f_flags' is used, but is uninitialized.

Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Change-Id: I99a3679b99f2980b6e78ebfb32dfa34e047c9756
Reviewed-on: http://review.whamcloud.com/10663
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-4524 ldlm: improve ldlm_lock_create() return value

ldlm_lock_create() and ldlm_resource_get() always return NULL as
error reporting and "NULL" is interpretted as ENOMEM incorrectly
sometimes.
This patch fixes this problem by using ERR_PTR() rather than NULL.

Signed-off-by: Emoly Liu <emoly.liu@intel.com>
Change-Id: Ifa2e9494406617c9d29c0463cd9fcffba36cc5ae
Reviewed-on: http://review.whamcloud.com/9004
Reviewed-by: Bobi Jam <bobijam@gmail.com>
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>
LU-4824 utils: lfs find should continue after errors

'lfs find' stops as soon as it encounters an error, such as EACCES.
Change the behavior to match the regular find command: just note the
failure but continue on, returning a non-zero exit code at the end.

Signed-off-by: Matt Ezell <ezellma@ornl.gov>
Change-Id: I16ca35ec193e36134e7b93d91a20ff1d0778fe60
Reviewed-on: http://review.whamcloud.com/9794
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-3962 utils: improve names of iokit tools

Some of the names of scripts in the lustre-iokit package are very
generic and may easily cause confusion for users, or conflict with
other installations.  Rename them to more unique names and update
the files that reference them.

Fix whitespace in renamed files.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I733428467e5604bf9db916491e041253323ebbe5
Reviewed-on: http://review.whamcloud.com/10183
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Minh Diep <minh.diep@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-5073 ptlrpc: unlink request buffer correctly

outgoning buffer may be hold by lnet and don't unlinked fast,
it's break unloading a lustre modules as request hold a
reference to the export/obd

Signed-off-by: Alexey Lyashkov <alexey_lyashkov@xyratex.com>
Change-Id: I74e59e35a1c4b0c02a3ffa2db8c788c84683b7d6
Xyratex-bug-id: MRP-1848
Reviewed-on: http://review.whamcloud.com/10353
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Liang Zhen <liang.zhen@intel.com>
Reviewed-by: Isaac Huang <he.huang@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-4970 tests: turn up debugging for sanity-lfsck/14

More information is needed to to understand the issue behind LU-4970
this enables full debugging for the duration of this test.

Test-Parameters: mdsfilesystemtype=zfs mdtfilesystemtype=zfs ostfilesystemtype=zfs testlist=sanity-lfsck
Test-Parameters: mdsfilesystemtype=zfs mdtfilesystemtype=zfs ostfilesystemtype=zfs testlist=sanity-lfsck
Test-Parameters: mdsfilesystemtype=zfs mdtfilesystemtype=zfs ostfilesystemtype=zfs testlist=sanity-lfsck
Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: Ie5405476481bd47e797a4860dfcc604b2b9250ae
Reviewed-on: http://review.whamcloud.com/10472
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-4800 obdclass: runtime load lustre client when needed

Manually force loading of lustre.ko during client
mounts with request_module for cases where
autoloading doesn't happen.

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I807fc5cd04cf5a97d9c131208b7b13037dc10ee6
Reviewed-on: http://review.whamcloud.com/10587
Reviewed-by: John L. Hammond <john.hammond@intel.com>
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: Andreas Dilger <andreas.dilger@intel.com>
LU-3382 build: clean unused link dependencies

Compiled executable Lustre files such as:
lst, lstclient, loadgen, lustre_rsync, lctl, lfs,
debugctl and ptlctl are linked against libtinfo.so.5
and libncurses.so.5, however none of the library's
symbols are used. Same issue with multiop which is
linked against librt.so.1, however uses none of the
library's symbols, and liblustre.so which is linked
against libz.so.1 and uses none of the library's
symbols as well.

Signed-off-by: Thomas Stibor <thomas@stibor.net>
Signed-off-by: James Simmons <uja.ornl@gmail.com>
Change-Id: I861878ca93dc0a07e2d4d718870a960eb86974a9
Reviewed-on: http://review.whamcloud.com/6427
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
LU-4227 utils: mgs option is required to format a MDT/OST

When running mkfs.lustre to format a MDT, --mgs or --mgsnode option
is required; while to format a OST, --mgsnode option is required.
conf-sanity.sh test_79 is added to verify the fix.

Signed-off-by: Emoly Liu <emoly.liu@intel.com>
Change-Id: Ia65b382aad2bc31496f3da62f15349ec38990ea0
Reviewed-on: http://review.whamcloud.com/8387
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: Faccini Bruno <bruno.faccini@intel.com>
LU-1199 build: Remove unused lbuild options.

Remove the --tag, --ldiskfs, --reuserpm and --disable-timestamps
options entirely.

Signed-off-by: Ashley Pittman <apittman@ddn.com>
Change-Id: Icea6886730cc58f9703fb441a9cb94b58a790314
Reviewed-on: http://review.whamcloud.com/9922
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Minh Diep <minh.diep@intel.com>
LU-4423 llite: remove ll_readlink as unnecessary

Taken from kernel upstrem by Al Viro:
lustre: generic_readlink() is just fine there, TYVM...

Linux-commit: 4efcc9ffcd4fc53f1f7de539842cdffa1f8e5ecc

Change-Id: I3693f5b7871f9a013c98f962eb9299ffbe32b705
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: James Simmons <uja.ornl@gmail.com>
Reviewed-on: http://review.whamcloud.com/10123
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
LU-4975 ofd: documenting the ofd_fs.c

Fix up GPL header block to reference proper GPLv2 license URL.
Remove mention of contacting Sun, since they don't exist anymore.
Add introductory comment block for the ofd_fs.c file and add
function comment blocks to all functions in it.
Couple tiny helpers are moved inside caller code because they are
called just from one place and contains few lines of code.
This patch changes cfs_list_t->struct list_head also in several
places.

Signed-off-by: Mikhail Pershin <mike.pershin@intel.com>
Change-Id: Ifa231f941c80c98bb9a0c20bdd56e1ae379f496a
Reviewed-on: http://review.whamcloud.com/10417
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
LU-4976 osp: add comments for osp_trans.c functions

1) Rename some structures and functions names to avoid misguiding
   others, including:
1.1) osp_async_update_interpterer_t => osp_async_request_interpreter_t
1.2) osp_insert_async_update => osp_insert_async_request
1.3) osp_unplug_async_update => osp_unplug_async_request
1.4) osp_async_update_item => osp_async_request
1.5) osp_async_update_item_init => osp_async_request_init
1.6) osp_async_update_item_fini => osp_async_request_fini
1.7) osp_insert_async_update => osp_insert_async_request

2) Add introductory comment block for the osp_trans.c file. And add
   function comment blocks to all functions in the osp_trans.c file.

3) Typo fixing and code cleanup.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I3dc4e9d6613baa035d228f2254306b6a71b2d48c
Reviewed-on: http://review.whamcloud.com/10361
Reviewed-by: Richard Henwood <richard.henwood@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-5126 libcfs: fix illegal page access of tracefiled()

After failure happens and put_pages_back() returns the pages,
tracefiled() should not go on itering on the page list.
Otherwise, some pages might be accessed illegally.

Signed-off-by: Li Xi <lixi@ddn.com>
Change-Id: I34dd91e3a7ca7d49e67c2bd587c481eb71873003
Reviewed-on: http://review.whamcloud.com/10524
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-4975 ofd: add comments for ofd_capa.c functions

- Fix up GPL header block to reference proper GPLv2 license URL.
- Remove mention of contacting Sun.
- Add introductionary comment block for the ofd_capa.c file.
- Add function comments blocks to all functions in the ofd_capa.c
  file
- Remove cfs_ prefix from list_head functions

Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Change-Id: I7210ed43c7d089e86d978e6033c3f4659bc41f52
Reviewed-on: http://review.whamcloud.com/10606
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Richard Henwood <richard.henwood@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-5160 build: warn on deprecated CFS_LIST_HEAD uses

Change checkpatch.pl script to report:
CFS_LIST_HEAD() is deprecated, use "struct list_head foo =
LIST_HEAD_INIT(foo);" instead.

Signed-off-by: Emoly Liu <emoly.liu@intel.com>
Change-Id: Ic667d4598c0740e2802416dd3800dacdaf378e73
Reviewed-on: http://review.whamcloud.com/10649
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>