LU-1193 tests: test script fixes for incompatibility

test script incompatibility when running server as
2.1 and client as 2.2

 - conf-sanity: 61
 - recovery-small: 100, 101, 102, 103, 104, 105
 - santiy: 133a, 133d, 160, 225a, 225b

Signed-off-by: yang sheng <ys@whamcloud.com>
Change-Id: I97dea88cdebb2f229aa6d2852a653619145e59a2
Reviewed-on: http://review.whamcloud.com/2441
Reviewed-by: Yu Jian <yujian@whamcloud.com>
Reviewed-by: Wei Liu <sarah@whamcloud.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-1132 protocol: reserve connect flags for new features

This patch reserves connect flags for several outstanding features:
* OBD_CONNECT_GRANT_PARAM for grant additional parameters to consume
grant more intelligently on the client side.
* OBD_CONNECT_JOBSTATS to pass a job id in ptlrpc_body.
* OBD_CONNECT_EINPROGRESS for clients that can deal with EINPROGRESS
on write.

This patch also reserves fields for the per-file data_version patch
from LU-827.

Change-Id: Icb55435bca443b4c2106e7eec9b368f94d1be08c
Signed-off-by: Johann Lombardi <johann@whamcloud.com>
Reviewed-on: http://review.whamcloud.com/1090
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-506 kernel: FC15 - fix GCC 'set-but-unused' warnings

Eliminate a number of unused variables in the code that
caused GCC-4.6.0 to warn about "set-but-unused variables".
In some cases the variables are only used in
conditionally-compiled code, so they are used in some way
just to quiet the compiler.

Signed-off-by: Yang Sheng <ys@whamcloud.com>
Change-Id: I8b9b744c787fff4057722420866adea86d8240f5
Reviewed-on: http://review.whamcloud.com/1330
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Niu Yawei <niu@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-1200 build: check page_mkwrite parameter

In SLES11 SP0 (2.6.27.19-5.1), .page_mkwrite uses struct page *
instead of struct vm_fault * as its second parameter.

Signed-off-by: Peng Tao <peng_tao@emc.com>
Change-Id: I249174b34d90edb31bc3dce79a79da3c795975d5
Reviewed-on: http://review.whamcloud.com/2277
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Hudson
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-709 build: clean up i_mutex/i_private/quota_info macros

1. struct inode has i_mutex instead of i_sem since v2.6.16
2. struct inode has i_private since v2.6.17
3. struct quota_info uses mutex instead semaphore since v2.6.17
4. move LC_SECURITY_PLUG to under v2.6.27

Signed-off-by: Peng Tao <tao.peng@emc.com>
Change-Id: I587d18a8d63927aa0a668268d252f71e7f224b50
Reviewed-on: http://review.whamcloud.com/2318
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Niu Yawei <niu@whamcloud.com>
LU-1497 client: SLES11 SP0 client build is broken.

With the addition of client improvements new linux kernel
apis are exposed to the llite layer. Those apis can be
missing or have a different format in earlier kernels.
This is the case for SLES11 SP0 clients for the case
of the vma handling and the function inode_newsize_ok
that is missing. This patch fixes those issues. Final
bug is a fix to a configure test for a function from
the linux crypto api.

Signed-off-by: James Simmons <uja.ornl@gmail.com>
Change-Id: I699c67baec030e61133ff0a44e0ab03261b2f2d0
Reviewed-on: http://review.whamcloud.com/3063
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-220 open: try open_by_fid for the known object

If the current path for thread1 on client1 is renamed by thread2
on client2, then when thread1 tries to open its current path, it
should use the fid, but not the name. Otherwise, the open on MDS
will hit unexpected "-ENOENT".

Signed-off-by: Fan Yong <yong.fan@whamcloud.com>
Change-Id: I905113167ebd6fe5f0185007d0e9c77083342680
Reviewed-on: http://review.whamcloud.com/2493
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-1597 obdfilter: fix some capa code for OST

* A capability should be set for filter_sync(), and when the operation
  is come from OSS itself, the capability check can be passed.

* filter_capa_fixoa() need check whether filter enabled capability.

Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: Ie27497d2b61654a7f24c06f6975e8bfaf5e9ae13
Reviewed-on: http://review.whamcloud.com/3372
Reviewed-by: Lai Siyao <laisiyao@whamcloud.com>
Tested-by: Hudson
Reviewed-by: Fan Yong <yong.fan@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Prakash Surya <surya1@llnl.gov>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-1461 Fix ppc64 build errors

Do not try to print u64 as %llu, on ppc64 it's translated into
long int, so we must use LP.64 macroses.

Signed-off-by: Oleg Drokin <green@whamcloud.com>
Change-Id: I14d1051b9427abab5c44582d3230352937643fa5
Reviewed-on: http://review.whamcloud.com/2994
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
LU-1461 vmalloc usage needs linux/vmalloc.h include

It seems the ext4-vmalloc patch forgot to include linux/vmalloc.h
in mballoc.c

Signed-off-by: Oleg Drokin <green@whamcloud.com>
Test Requirements: fortestonly
Test-Parameters: ostcount=2

Change-Id: I994b75353ce13bac41f45e6bf494191b43304e3c
Reviewed-on: http://review.whamcloud.com/3036
Tested-by: Hudson
Tested-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Yu Jian <yujian@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
LU-1461 libcfs: Fix crypto not to use x86 pcmul for non x86 arch

Also fix x86 detection in configure.

This fixes a build failure on ppc64:

In file included from user-crypto.c:34:
/var/lib/jenkins/workspace/lustre-ppc-builder/arch/ppc64/
build_type/client/distro/el6/ib_stack/inkernel/BUILD/BUILD/
lustre-2.2.60/libcfs/include/libcfs/user-crypto.h:30:
error: 'regparm' attribute directive ignored

Signed-off-by: Oleg Drokin <green@whamcloud.com>
Change-Id: Icb229a9db0826420ecc431bc7f7f5e45ecbdbd37
Reviewed-on: http://review.whamcloud.com/3361
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
LU-1461 build: asm/cpufeature.h is only available on x86

Only include it if ARCH_X86 is defined.

Change-Id: I6af260d6d753853c015885f33892b789948f1cff
Signed-off-by: Oleg Drokin <green@whamcloud.com>
Reviewed-on: http://review.whamcloud.com/3510
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Alexander Boyko <alexander_boyko@xyratex.com>
LU-1682 ptlrpc: LBUG in ldlm_cli_cancel_local

When the case ldlm_cli_enqueue() created a new lock, and then, fails
to allocate memory for a new request, it could cause the LBUG in
ldlm_cli_cancel_local() because the lock->l_conn_export is NULL,
nevertheless the lock is a client-side lock.
This patch fills in some lock fields before the memory allocation
for a new request.

Signed-off-by: Hiroya Nozaki <nozaki.hiroya@jp.fujitsu.com>
Change-Id: I4ba4b6f1bc5dfbb51853261a0f247289304a6abd
Reviewed-on: http://review.whamcloud.com/3488
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@whamcloud.com>
LU-1158 general: added nanosecond OBD connect flag

To prevent collisions with any future flags needed in features written
against this branch.

Signed-off-by: Isami Romanowski <isami@whamcloud.com>
Change-Id: I965a0ce0120f253014a75c80fe0941ba92f1c45e
Reviewed-on: http://review.whamcloud.com/3380
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-911 obdclass: la_from_obdo helper

- OFD will need la_from_obdo() conversion.
- Fix obdo_from_la() to work with la flags.
- Call obdo_set_parent_fid() directly when needed instead of
  using obdo_from_inode() just to update parent fid
- Make obdo_from_inode() consistent with its name and don't
  update parent FID from.

Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: Ib1a7d0a4a3e19434ae48c74b06b153d2fc5e5d78
Signed-off-by: Mikhail Pershin <tappro@whamcloud.com>
Reviewed-on: http://review.whamcloud.com/1848
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Tested-by: Hudson
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-988 clio: use OSC object's m/a/ctime when build write RPC

When building OST write RPC, inode's m/a/ctime are out-dated until
lov_merge_lvb() is called, so we need OSC object's m/a/ctime to set
the OST object.

Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: Ie4466ad646fd87c36577ea2aad5fa19ad97c5be7
Reviewed-on: http://review.whamcloud.com/3200
Reviewed-by: Jinshan Xiong <jinshan.xiong@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-1629 ldlm: Fix recovery messages when denying new clients

Console messages printed when denying new client connections during
target recovery show misleading client statistics.  For example, in
this case:

  Lustre: lustre-MDT0000: Denying connection for new client
  192.168.117.50@o2ib1 (at 11e711ab-a329-f07a-8312-6a40af7fc5a4),
  waiting for 0 clients in recovery for 2:38
  [...]
  Lustre: lustre-MDT0000: Recovery over after 5:00, of 112 clients 0
  recovered and 112 were evicted.

The MDT was actually waiting for all the 112 known clients to recover.
None had connected, however.  In addition, the client NID and UUID
seem to be in the wrong order.  This patch changes the first console
message to look like this:

  Lustre: lustre-MDT0000: Denying connection for new client
  939243e4-2f54-a96f-3cbb-9fcf55426e2e (at 0@lo), waiting for all 2
  known clients (1 recovered, 0 in progress, and 1 unseen) to
  recover in 0:05

Hopefully this new format will be a little bit more useful to users,
although the counters are (still) read in a racy way.

Change-Id: Iefda085602de7967d66892b8f3567561962078ab
Signed-off-by: Li Wei <liwei@whamcloud.com>
Reviewed-on: http://review.whamcloud.com/3485
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-1626 lov: fix lov request set finish check race

When several lov_request callbacks are called, if one of them is
the last lov_request in the set, lov_finished_set() checks for
all of them will return true, while the following action is supposed
be called only once for the set, in this case the assumption is broke
and the lov request set's refcount is wrong.

This patch fixed another glitch, in qos_remedy_create(), when we use
OST pool, the ost_idx value does not initialied correctly.

Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: Id3ff1777b2146630b2d693e046038fcc6f465309
Reviewed-on: http://review.whamcloud.com/3401
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Fan Yong <yong.fan@whamcloud.com>
Reviewed-by: wangdi <di.wang@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-1710 general: add LVB type connect flag

LVB type will be used for nanoseconds and layout lock. Reserve this
connect flag to prevent collision.

Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: I76f6b8fc8be2d98b8b80f15e69b36ea50b9d7a7d
Reviewed-on: http://review.whamcloud.com/3528
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Johann Lombardi <johann@whamcloud.com>
LU-1697 mdt: create OST-objects for open by fid

Original prcessing for open by fidi gnored the case of OST-objects
to be created because of re-exporting by NFS or O_LOV_DELAY_CREATE
flags, then MDD failed to find useful stripe EA to create releated
OST-objects.

Rename mdt_open_anon_by_fid() to mdt_open_by_fid_lock() to make it
more match the real use cases.

Signed-off-by: Fan Yong <yong.fan@whamcloud.com>
Change-Id: I3c0e4791f6f74fa6b365d41a8e550dba518b39cc
Reviewed-on: http://review.whamcloud.com/3537
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Lai Siyao <laisiyao@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>