LU-3647 hsm: small fixes for HSM

This patch includes the following fixes for HSM:
1. Redefine D_HSM. It was defined to D_TRACE;
2. Fix lu_ref for lease handle
3. User input verification to make sure the hur size is less than
MDS_MAXREQSIZE;

Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: I6ae9af71b08cf38174b6b470ef1602966aab1805
Reviewed-on: http://review.whamcloud.com/7243
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Hudson
Reviewed-by: jacques-Charles Lafoucriere <jacques-charles.lafoucriere@cea.fr>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-3709 mdt: CDT cleanup follow-on patch

This patch implements the comments made during the review after
maloo passed test or after the landing.

rename in hai_zero() hai_first()
 Use a better name for hai helper

replace use of cfs_helpers by native one in CDT
 replace cfs_atomic_t and helpers
 replace cfs_list and helpers
 change list_for_each + list_entry by list_entry_for_each
 replace cfs_task_t

clean err msg in HSM agent interface
 remove duplicate rc print

parenthesis code cleaning
 remove useless () in conditionnal tests

Signed-off-by: JC Lafoucriere <jacques-charles.lafoucriere@cea.fr>
Change-Id: Ib57f5b4ed7023c18d71bdb620ed53f9b9fa41a3e
Reviewed-on: http://review.whamcloud.com/7254
Tested-by: Hudson
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-3707 target: fix trans call back for out

Since OUT and MDT share the same trans callback
route path, move mti_has_trans from mdt_thread_info to
tgt_session_info, so avoid confusing out transaction.

Test-Parameters: mdtcount=2 mdscount=2
Signed-off-by: wang di <di.wang@intel.com>
Change-Id: I8eee17645487a3a3eced6862743bc35b83fc2c24
Reviewed-on: http://review.whamcloud.com/7256
Tested-by: Hudson
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-3693 utils: Posix copytool fixes.

Fixed several defects in the HSM posix copytool.
- Fixed two invalid format strings.
- Made --daemon optional.
- Remove .lov entries from the archive when removing the corresponding
  files.
- When restoring a file for which no LOV EA has been saved we must not
  create the volatile with O_LOV_DELAY_CREATE. Additionally, the
  caller should be able to specify the MDT index where to create the
  volatile file. Added parameters to llapi_hsm_action_begin()
  accordingly.

Signed-off-by: Henri Doreau <henri.doreau@cea.fr>
Change-Id: I7e855b42ef459e453a16c94bfe33e9db885fe2d5
Reviewed-on: http://review.whamcloud.com/7237
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-3705 target: refill env before tgt handle request

Since those env of each threads might start before the
stack is initialized, i.e. the ctxt of some modules might not
be initialized yet. So it needs to refill the env before
handling the request to make sure all of ctxts are initialized.

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: Id60432b3d1aa2f23166f0b8a2f4b208361cec80d
Reviewed-on: http://review.whamcloud.com/7244
Tested-by: Hudson
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-3620 mdd: missing CLF_RENAME_LAST flag in CL_RENME record

mdd_rename() should use target's attribute to determine add
CLF_RENAME_LAST flag in changelog record.

Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: Id9a738f1c98f0c893b125d49965354f44c257e08
Reviewed-on: http://review.whamcloud.com/7095
Tested-by: Hudson
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-3709 lmv: update coding style

in lmv_obd.c:
- Correct wrong coding styles introduced by HSM (and others)
- Remove useless include

Signed-off-by: JC Lafoucriere <jacques-charles.lafoucriere@cea.fr>
Change-Id: I2dd369e94dd351396e4a4deb72d1ec6f19b59b40
Reviewed-on: http://review.whamcloud.com/7252
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-3685 hsm: copy start error should set HP_FLAG_COMPLETED

If an error occurs when initializing a HSM request, in
ll_ioc_copy_start(), the PROGRESS message, sent to coordinator, should
carry the error code but also HP_FLAG_COMPLETED to mark the request as
finished (with error). If not, the Coordinator will ignore this
message and consider the request is still running.

Signed-off-by: Aurelien Degremont <aurelien.degremont@cea.fr>
Change-Id: Ie5ddbe8b47331202bd085941c681fcaea57ebf69
Reviewed-on: http://review.whamcloud.com/7265
Tested-by: Hudson
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-2762 ldiskfs: use upstream ext4_kvzalloc

Upstream commits f18a5f21 (v3.1) and 9933fc0a (v3.1) added and used
kvzalloc in the same matter the previous ldiskfs patches did.
We should use that instead of the open-coded versions.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: James Simmons <uja.ornl@gmail.com>
Change-Id: Iad7771169d83c8aca3051198b1cfdb18030f0482
Reviewed-on: http://review.whamcloud.com/5281
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Hudson
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
LU-3162 lov: Get the correct address of lmm_objects

The introduction of lmm_layout_gen makes the assumption that
lmm_objects is present after lmm_stripe_count incorrect.
Fixed this to get the correct address of lmm_objects when lmmk is cast
to lov_mds_md_v1.

Signed-off-by: Swapnil Pimpale <spimpale@ddn.com>
Change-Id: I6eba151a54862fde60f4382df92864a52bb12530
Reviewed-on: http://review.whamcloud.com/7258
Tested-by: Hudson
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
LU-2158 lvfs: remove llog_lvfs.c and other lvfs code from llog

- remove obdfilter/llog_lvfs.c
- remove lgh_file from llog_header

Signed-off-by: Mikhail Pershin <mike.pershin@intel.com>
Signed-off-by: James Simmons <uja.ornl@gmail.com>
Change-Id: I711e047dcb61f3ac62b33c5a21ae32fe87d7efd6
Reviewed-on: http://review.whamcloud.com/5331
Tested-by: Hudson
Reviewed-by: Keith Mannthey <keith.mannthey@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
LU-3416 llite: reset writeback index in ll_writepages

Otherwise after one round the writeback index will become beyond
the file size and ->writepages() turns into an empty operation.

Also, a safety guard is added to limit the wait time for grant to
10 minutes(take recovery into consideration) at maximum in the
osc_enter_cache() function. Otherwise, EDQUOT will be returned to
the applications to start sync write.

Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: I2b20296e80a6d2a4034be8cf17129bc17780b847
Reviewed-on: http://review.whamcloud.com/6554
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Bobi Jam <bobijam@gmail.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-2941 llite: Delaying creation of client side proc entries.

In client_common_fill_super() proc entries are created before
before cl_sb_init() and therefore lu_site is not allocated resulting
in client crash when tried reading lu_site stats.
Delaying creation of proc entries after creation of all required data
structures fixed the problem.

Signed-off-by: Gaurav Mahajan <gmahajan@ddn.com>
Change-Id: Id9fc9adc3ce043c691e2d26b85c4bd1917444144
Reviewed-on: http://review.whamcloud.com/6852
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
Revert "LU-2158 lvfs: remove llog_lvfs.c and other lvfs code from llog"

Someow this causes compile failures. E.g. see here: http://build.whamcloud.com/job/lustre-master/arch=x86_64,build_type=server,distro=el6,ib_stack=inkernel/1623/changes

This reverts commit fc587387bacf232b0464f0913b967500aae09511

Change-Id: I2fa0eedadc8b5e511b24a9cb0a39cedd8dfc5cf8
Reviewed-on: http://review.whamcloud.com/7371
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Tested-by: Oleg Drokin <oleg.drokin@intel.com>
LU-3494 libcfs: Add relocation function to libcfs heap

When changing the values of the node in the heap which might affect
its ranking, we have to remove the node from the heap, change the
values and then insert the node into the heap again. The process of
inserting into the heap might fail because of memory insufficiency.
Sometimes, it is not convienient and efficient for a caller to handle
such kind of failure.

This patch adds a new function to do the job.

Signed-off-by: Li Xi <lixi@ddn.com>
Change-Id: I31ce530d750341f6479470ba61457d9ed03afed3
Reviewed-on: http://review.whamcloud.com/6743
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Bobbie Lind <bobbie.j.lind@intel.com>
Reviewed-by: Liang Zhen <liang.zhen@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-3557 mdt: fix open existing file with O_CREAT for ro mount

We should only return -EROFS for read only mount if we really
need to create the file in question.

Defer the check to mdt_reint_open() instead of mdt_intent_opc().

Signed-off-by: Li Dongyang <dongyang.li@anu.edu.au>
Change-Id: I68f34ef7abbae934cfc3564a67ff70e5ab8a12b1
Reviewed-on: http://review.whamcloud.com/6893
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Li Xi <pkuelelixi@gmail.com>
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-2744 build: fix 'data race condition' issues

Fix 'data race condition' defects found by Coverity version
6.5.0:
Data race condition (MISSING_LOCK)
Accessing variable without holding lock. Elsewhere,
this variable is accessed with lock held.

Signed-off-by: Sebastien Buisson <sebastien.buisson@bull.net>
Change-Id: Ia9bad7782b6289e84c11e7998957c732508e10a5
Reviewed-on: http://review.whamcloud.com/6567
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Liang Zhen <liang.zhen@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-2800 autoconf: remove LC_BLKDEV_PUT_2ARGS test

blkdev_put has taken two arguments since v2.6.28.
We can remove the test and dead code.

Change-Id: Ib0379f87f57ed6148750920d853604c0b2943278
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: James Simmons <uja.ornl@gmail.com>
Reviewed-on: http://review.whamcloud.com/5390
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Minh Diep <minh.diep@intel.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-2800 autoconf: remove LC_PROCFS_USERS test

In-procfs locking has been upstream since v2.6.23
We can remove the test and the dead code (lots of it). Further
review should be made to determine whether _lprocfs_lock is
still necessary at all.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: James Simmons <uja.ornl@gmail.com>
Change-Id: Ie5db5e5cf2b6699d3e4fd3301fab1d5497a02ea6
Reviewed-on: http://review.whamcloud.com/7084
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Peng Tao <bergwolf@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-2800 autoconf: remove LC_LOCK_MAP_ACQUIRE test

lock_map_acquire has been in the upstream kernel since v2.6.27.
We can remove the test and dead code.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: James Simmons <uja.ornl@gmail.com>
Change-Id: I4ac4cb6c92f79408712b210eec11a9e350e6ccde
Reviewed-on: http://review.whamcloud.com/5369
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>