LU-1842 quota: helper routines to manage FID_SEQ_QUOTA_GLB

The FID_SEQ_QUOTA_GLB sequence is used to produce FID for global
quota indexes. The 32-bit object ID is thus divided into 3 fields
containing:
- 16-bit pool identifier (aka pool_id)
- 8-bit quota type (aka LQUOTA_TYPE_{USR,GRP})
- 8-bit resource type (LQUOTA_RES_{MD,DT} for resp. inodes & blocks)

This static FID scheme allows slaves to enqueue global quota lock
directly on the right FID without requiring a first readdir or to
change the resource ID on the fly when the lock is granted.

This patch adds the helper routines to manipulate global index FIDs.

Signed-off-by: Johann Lombardi <johann@whamcloud.com>
Change-Id: I145c1468db7fe0d2a0f198ac323b00913a815c3c
Reviewed-on: http://review.whamcloud.com/3937
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Niu Yawei <niu@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
LU-1540 tests: skip sanity test_17m on old MDS

Don't run sanity.sh test_17m() in interop mode for 2.2 MDSes (the
original LU-1540 fix was included in 2.1.3 and 2.2.94), since they
will not create symlinks correctly, and the e2fsck test will fail.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: If3da1f8bdf7243bac6c72a2733b488a6e69f2304
Reviewed-on: http://review.whamcloud.com/4004
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Yu Jian <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-1740 test: skip test for interop

Since 2.2 is missing a fix for getattr counters, skip a portion of
test 133b when the server is 2.2.  This will avoid an interop test failure.

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I37a9b641fa85b4e7cd53512d9624d9b748d32da3
Reviewed-on: http://review.whamcloud.com/4011
Reviewed-by: Minh Diep <mdiep@whamcloud.com>
Tested-by: Hudson
Reviewed-by: Yu Jian <yujian@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-1304 mdd: use slab for mdd objects

taken from orion

Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I52c415a92e271732436182f61d861467d7514dc4
Reviewed-on: http://review.whamcloud.com/3864
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@whamcloud.com>
LU-1945 utils: fix ll_recover_lost_found_objs.

fix ll_recover_lost_found_objs for fid on OST.

Signed-off-by: Wang Di <di.wang@whamcloud.com>
Change-Id: I5f29629f5bbd490f7d853b5333f68b71f574e77c
Reviewed-on: http://review.whamcloud.com/4000
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Fan Yong <yong.fan@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
LU-1304 osd: ->do_ah_init() to accept new object

being created so that OSD API implementation can
initialize some default values, etc.

Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: If4bda7626b4406f906a95df3704885c4531567ee
Reviewed-on: http://review.whamcloud.com/3959
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@whamcloud.com>
LU-1842 protocol: add support for OBD_IDX_READ

This patch defines a new RPC format (namely OBD_IDX_READ) which
allows to read the content of an index file via a bulk transfer.
It is simlilar to MDS_READPAGE except that it is not tied to a
specific key/record format (readdir relies on lu_dirent/lu_dirpage).
Like readdir, key/record pairs are stored in a container of a
fixed size (i.e. 4KB) regardless of the client & server page size.

Signed-off-by: Johann Lombardi <johann@whamcloud.com>
Change-Id: I34071ca05a3bd4e6c01bfe4fc533ab79bdd98b3c
Reviewed-on: http://review.whamcloud.com/3942
Tested-by: Hudson
Reviewed-by: Fan Yong <yong.fan@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Niu Yawei <niu@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-1735 ptlrpc: cleanup jobid error message

In lustre_get_jobid(), -ENOENT error should be printed as D_INFO
but not D_ERROR.

Signed-off-by: Niu Yawei <niu@whamcloud.com>
Change-Id: I6c8133eca37cf00cf4510205e5b2012dccfd8073
Reviewed-on: http://review.whamcloud.com/4024
Tested-by: Hudson
Reviewed-by: Jinshan Xiong <jinshan.xiong@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
LU-1973 test: t-f to set LD_LIBRARY_PATH

pointing to the directory with liblustreapi.so
so that utilities like ll_dirstripe_verify can
find the library.

Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I84bf61ed1b987687be79637c5ad126151e0c3aab
Reviewed-on: http://review.whamcloud.com/4027
Tested-by: Hudson
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Yu Jian <yujian@whamcloud.com>
LU-1842 iam: store key & rec in LE order for quota IAM files

Store quota keys and records in little endian format in iam index
files.

Signed-off-by: Johann Lombardi <johann@whamcloud.com>
Signed-off-by: Niu Yawei <niu@whamcloud.com>
Change-Id: I391fb9c0b8ff67c3cc5f51abd31a0dbf92d7276c
Reviewed-on: http://review.whamcloud.com/3989
Tested-by: Hudson
Reviewed-by: Fan Yong <yong.fan@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
LU-1789 protocol: add support for lightweight connection

A lightweight connection has the following uncommon properties:
- no entry is added to last_rcvd file, so no recovery is possible
- a lightweight connection can be set up while the target is in
  recovery, therefore it should be used use caution
- locks can still be acquired through this connection, although they
  won't be replayed.

We might also consider disabling pings in the future.

Signed-off-by: Johann Lombardi <johann@whamcloud.com>
Change-Id: I2b2d1a28d0fd4ca278806cab6103f96fbd88a07d
Reviewed-on: http://review.whamcloud.com/3925
Reviewed-by: Niu Yawei <niu@whamcloud.com>
Tested-by: Hudson
Reviewed-by: wangdi <di.wang@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-1907 build: avoid function resolution mistakes by Coverity

Remove function resolution mistakes made by Coverity version
6.0.3.
The .hs_keycmp function is incorrectly resolved by Coverity,
making the variable passed as its first 'key' parameter to
be considered of the wrong type. Data structures being of
different sizes, it ends up with this Coverity defect:
Out-of-bounds access (OVERRUN_STATIC)
Overrunning static array by passing it as an argument to a
function which indexes it at a higher byte position.

Signed-off-by: Sebastien Buisson <sebastien.buisson@bull.net>
Change-Id: Ia64d90f2faed17981cc4b4eaa960a797ab056daf
Reviewed-on: http://review.whamcloud.com/3955
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Keith Mannthey <keith@whamcloud.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-1842 quota: lfs quota commands

- Removed 'lfs quotachown' & 'lfs quotainv';
- For 'lfs quotacheck', 'lfs quotaon' & 'lfs quotaoff', print
  proper message when -EOPNOTSUPP returned from 2.4 server;
- Updated man page for lfs quota commands;
- Removed quotainv from test_15 of s-q;

Signed-off-by: Johann Lombardi <johann@whamcloud.com>
Signed-off-by: Niu Yawei <niu@whamcloud.com>
Change-Id: I89e6d1e981640ab0f62e10bc5a91946c78644cc3
Reviewed-on: http://review.whamcloud.com/4022
Reviewed-by: Fan Yong <yong.fan@whamcloud.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-1912 tests: check Lustre version in generate_db()

We need to check Lustre version to make sure the test for
new fixup does not run on unsupported Lustre version.

Signed-off-by: Yu Jian <yujian@whamcloud.com>
Change-Id: I6fe5f31dc0ab5ec32879fc0a08216365fee45176
Reviewed-on: http://review.whamcloud.com/4021
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Wei Liu <sarah@whamcloud.com>
Reviewed-by: Minh Diep <mdiep@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
LU-1519 llite: Add a mount flag to clarify DAC handling

Add a mount flag to control use of OBD_IOC_FID2PATH by processes
without CFS_CAP_DAC_READ_SEARCH.

Change-Id: Ibbca25ad511d80e245716d27fca4287979667db6
Signed-off-by: John L. Hammond <jhammond@tacc.utexas.edu>
Reviewed-on: http://review.whamcloud.com/3104
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: wangdi <di.wang@whamcloud.com>
Reviewed-by: Keith Mannthey <keith@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
LU-1756 kernel: cleanup lustre_compat25.h

1. SEEK_XXX is always defined
2. page_private exists since v2.6.15
3. Page_Uptodate should be replaced with PageUptodate
4. unused functions:
   ll_kernel_locked(), ll_redirty_page(), KDEVT_INIT()
   ll_path_lookup(), try_lock_page()

Signed-off-by: Peng Tao <tao.peng@emc.com>
Change-Id: I90af2e5c4678738752e0f4cade5d4302f3d1fac7
Reviewed-on: http://review.whamcloud.com/3685
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: Jinshan Xiong <jinshan.xiong@whamcloud.com>
LU-1999 tests: disable recovery-small/106

till 1999 is fixed

Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Change-Id: I9e8da67b8033f46925d152881e3f4449ad089e7f
Reviewed-on: http://review.whamcloud.com/4066
Reviewed-by: Johann Lombardi <johann@whamcloud.com>
Tested-by: Johann Lombardi <johann@whamcloud.com>
LU-1820 ptlrpc: fix req reference to export

(genops.c:766:class_export_destroy())
ASSERTION(cfs_list_empty(&exp->exp_hp_rpcs)) failed

ptlrpc_server_handle_req_in() call ptlrpc_server_request_add()
and hp request can be added to export->exp_hp_rpcs, but reference
increase at ptlrpc_server_handle_request(). If class_disconnect() and
class_export_destroy() occures before ptlrpc_server_handle_request()
we got ASSERTION.

Signed-off-by: Alexander Boyko <alexander_boyko@xyratex.com>
Reviewed-by: Andrew Perepechko <andrew_perepechko@xyratex.com>
Reviewed-by: Andriy Skulysh <andrew_skulysh@xyratex.com>
Xyratex-bug-id: MRP-649
Change-Id: I3d312c28481143b557d7987501c975c7e287885e
Reviewed-on: http://review.whamcloud.com/3855
Reviewed-by: Liang Zhen <liang@whamcloud.com>
Tested-by: Hudson
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
LU-1896 tests: check Lustre version in sanity test 154

We need to check Lustre version to make sure the test for
new fixup/feature does not run on unsupported Lustre version.

Signed-off-by: Yu Jian <yujian@whamcloud.com>
Change-Id: I63f9c2de6f76fda4758d0c92ee924d9b22570ff6
Reviewed-on: http://review.whamcloud.com/4019
Tested-by: Hudson
Reviewed-by: Wei Liu <sarah@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-1491 tests: check Lustre version in conf-sanity test 62

We need to check Lustre version to make sure the test for
new fixup/feature does not run on unsupported Lustre version.

Signed-off-by: Yu Jian <yujian@whamcloud.com>
Change-Id: I57f76444c13433c972067d41735e52f3d8e9e440
Reviewed-on: http://review.whamcloud.com/4018
Tested-by: Hudson
Reviewed-by: Wei Liu <sarah@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>