Whamcloud - gitweb
fs/lustre-release.git
7 years agoLU-2034 changelog: redo changelog using OSD llog
Mikhail Pershin [Thu, 27 Sep 2012 12:16:26 +0000 (16:16 +0400)]
LU-2034 changelog: redo changelog using OSD llog

changelog to use llog over OSD

Signed-off-by: Mikhail Pershin <tappro@whamcloud.com>
Change-Id: I4b9d1ee5146ef882db6031e996a6d81b6cae870b
Reviewed-on: http://review.whamcloud.com/4120
Tested-by: Hudson
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
7 years agoLU-2047 obdfilter: init glimpse desc to NULL for ext lock
Johann Lombardi [Fri, 28 Sep 2012 20:46:12 +0000 (22:46 +0200)]
LU-2047 obdfilter: init glimpse desc to NULL for ext lock

There is no glimpse descriptor when glimpsing extent locks, we should
thus set ldlm_glimpse_work::gl_desc to NULL to allocate glimpse
request with the correct format.

Signed-off-by: Johann Lombardi <johann@whamcloud.com>
Change-Id: I5cdedfb79631328114ef7b0bc8e035dde985b4fa
Reviewed-on: http://review.whamcloud.com/4127
Tested-by: Hudson
Reviewed-by: Fan Yong <yong.fan@whamcloud.com>
Reviewed-by: Niu Yawei <niu@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
7 years agoLU-1303 mds: integration lod/osp into the stack
Alex Zhuravlev [Fri, 21 Sep 2012 19:45:32 +0000 (23:45 +0400)]
LU-1303 mds: integration lod/osp into the stack

 - config handler recognizes MDS config and replace LOV/OSC devices
   with LOD/OSP

 - the devices in MDS stack are setup from bottom to top using
   obd_connect() namely MDT->MDD->LOD->OSD, when new OSPs arrive,
   they connect to the OSD and LOD connects to every OSP). all the
   devices are referenced by exports, preventing them from early
   release.

 - once the whole configuration is processed, prepare() method of the
   top device is called, that in turn call ->prepare() down through
   the stack, etc. at this point the stack is considered ready to
   access storage, start recovery and do regular processing.

 - at umount ->ldo_process_config(LCFG_CLEANUP) is called down through
   the stack asking devices to release the resources (like objects
   referenced for internal purposes), then the series of calls to
   obd_disconnect()'s starting from the top MDT causes all the devices
   to become unreferenced and subject to release by zombie thread.

 - obd_notify() mechanism is not used by MDT/MDD/LOD/OSD, it's still
   used by OSP to be aware of current state:

      - to learn when the first connection to OST happens and let
        clients to connect to MDS, MDS uses obd_health_check() and
        caches positive result.

      - during object creation LOD uses dt_statfs() and data returned
        by OSP tells LOD whether specific OST active/inactive, space
        available, number of precreated objects, etc.

 - LOD takes care of striping: it maintains the list of available OST
   represented locally by OSP devices. on create, LOD finds suitable
   OSPs, create objects by means of OSD API and stores striping info
   into a local object. similarly LOD handles object destroy and
   UID/GID changes: load striping and execute on them.

 - llog is used by OSP as a local library, cookies are not visible out
   side of OSP. thus neither MDT nor MDD needs to care about cookies,
   prepare buffers. MDD doesn't need to send RPCs to destroy objects
   on behalf of evicted clients. all is hidden behind OSP's object
   destroy method.

 - OSP generates llog records for OST object being destroyed and, once
   corresponded local transaction is committed, send OST_DESTROY RPC.
   once OST_DESTROY is reported to be committed, corresponded llog
   record is cancelled.

 - the same logic is used for UID/GID changes.

Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Change-Id: Ifb282ace94f583ffa86020b763f22922e5d0b032
Reviewed-on: http://review.whamcloud.com/4087
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Mike Pershin <tappro@whamcloud.com>
7 years agoLU-1301 mgs: Symlink mntdev procfs entry from osd
Alex Zhuravlev [Thu, 9 Aug 2012 18:52:17 +0000 (22:52 +0400)]
LU-1301 mgs: Symlink mntdev procfs entry from osd

MGS won't be able to get device names directly on top of OSD.

Change-Id: Ief808f058a785cc4bacf1743ff534a81be234544
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Signed-off-by: Li Wei <liwei@whamcloud.com>
Reviewed-on: http://review.whamcloud.com/3672
Tested-by: Hudson
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Mike Pershin <tappro@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
7 years agoLU-1981 doc: initial revision of OSD API doc
Alex Zhuravlev [Fri, 28 Sep 2012 21:43:03 +0000 (01:43 +0400)]
LU-1981 doc: initial revision of OSD API doc

this is the initial revision of the document describing
OSD API, its terms and methods.

Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Change-Id: I26459c5bd1d876a4b9a8ca778c835d3faf6a9087
Reviewed-on: http://review.whamcloud.com/4128
Reviewed-by: Ian Colle <Ian.Colle@intel.com>
Tested-by: Ian Colle <Ian.Colle@intel.com>
Tested-by: Hudson
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
7 years agoLU-1303 lod: propagate real object size on a new striping
Alex Zhuravlev [Thu, 20 Sep 2012 12:00:04 +0000 (16:00 +0400)]
LU-1303 lod: propagate real object size on a new striping

it's possible to truncate file with no striping, when create
striping. in such a case lod's object create propagate actual
size down to the stack.

Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Change-Id: Iaf4a91516892db23f11052bd1a656ee2108a7113
Reviewed-on: http://review.whamcloud.com/4059
Reviewed-by: wangdi <di.wang@whamcloud.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Mike Pershin <tappro@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
7 years agoLU-1303 lod: QoS allocation policy
Alex Zhuravlev [Thu, 20 Sep 2012 11:56:31 +0000 (15:56 +0400)]
LU-1303 lod: QoS allocation policy

basically a copy of lov_qos.c implemented with OSD API.

the patch introduces a special lu-helpers allowing objects
with zero fid - used by LOD/OSP as fid is being created late.
this is a requirement of current orphan cleanup protocol.
probably will be replace with natural fids generated outside
of OSP/transaction at some point.

Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Change-Id: I9f41d8a770eb7b8ca04b729bbf0866e5d27fff8a
Reviewed-on: http://review.whamcloud.com/4058
Reviewed-by: wangdi <di.wang@whamcloud.com>
Tested-by: Hudson
Reviewed-by: Mike Pershin <tappro@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
7 years agoLU-1303 lod: object create to create underlying objects
Alex Zhuravlev [Thu, 20 Sep 2012 11:53:25 +0000 (15:53 +0400)]
LU-1303 lod: object create to create underlying objects

and generate LOV EA for just created striping. the policies
choosing specific OSPs to use in the striping is in the
subsequent patch.

Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Change-Id: I2675dd3e2ba4455b2b0daaf4aa7af30b910e9a75
Reviewed-on: http://review.whamcloud.com/4057
Reviewed-by: wangdi <di.wang@whamcloud.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Mike Pershin <tappro@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
7 years agoLU-1303 lod: directories to inherit default striping
Alex Zhuravlev [Thu, 20 Sep 2012 09:04:52 +0000 (13:04 +0400)]
LU-1303 lod: directories to inherit default striping

on creation. the patch adds sanity check on default striping
being set by an user.

Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Change-Id: I4142a2189b00158454c7525939a9c6019a5e874a
Reviewed-on: http://review.whamcloud.com/4056
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: wangdi <di.wang@whamcloud.com>
Reviewed-by: Mike Pershin <tappro@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
7 years agoLU-1303 lod: introcude QoS structures
Alex Zhuravlev [Thu, 20 Sep 2012 07:23:17 +0000 (11:23 +0400)]
LU-1303 lod: introcude QoS structures

like LOV before LOD will be maintaining OST->OSS mapping to be
able to distribute load among OSSs.

Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Change-Id: I132382cb09b50aec1edcd667cde1851c9ee043dc
Reviewed-on: http://review.whamcloud.com/4055
Tested-by: Hudson
Reviewed-by: wangdi <di.wang@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
7 years agoLU-1303 lod: transfer default striping from parent/fs
Alex Zhuravlev [Thu, 20 Sep 2012 06:34:28 +0000 (10:34 +0400)]
LU-1303 lod: transfer default striping from parent/fs

lod_ah_init() transfers default striping from the provided
parent if present or from filesystem defaults.
loaded/parsed default striping is cached in the parent.

Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Change-Id: I575f2c2bddbf464c1eb93953b845ed563cfd081d
Reviewed-on: http://review.whamcloud.com/4054
Tested-by: Hudson
Reviewed-by: wangdi <di.wang@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
7 years agoLU-1303 lod: destroy and setattr to use striping
Alex Zhuravlev [Wed, 19 Sep 2012 20:13:14 +0000 (00:13 +0400)]
LU-1303 lod: destroy and setattr to use striping

destroy and setattr methods fetch striping, instantiate
involved objects and then call corresponding methods.

Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Change-Id: I33eea2717d10eb5c34b5a324ef35a83f1430242b
Reviewed-on: http://review.whamcloud.com/4050
Tested-by: Hudson
Reviewed-by: wangdi <di.wang@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
7 years agoLU-1303 lod: object methods
Alex Zhuravlev [Wed, 19 Sep 2012 18:57:13 +0000 (22:57 +0400)]
LU-1303 lod: object methods

in this patch - just passing control down to the stack.

Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Change-Id: I0f4f0cbc2e08cf5d3db9771d88593beb53df927c
Reviewed-on: http://review.whamcloud.com/4049
Tested-by: Hudson
Reviewed-by: wangdi <di.wang@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
7 years agoLU-1303 lod: functions to manipulate sub-devices
Alex Zhuravlev [Wed, 19 Sep 2012 18:02:05 +0000 (22:02 +0400)]
LU-1303 lod: functions to manipulate sub-devices

lod needs to be connected directly to all OST. configuration
subsystem brings OSP for every OST in the cluster, then
LOD connects to them and use.

the patch fixes cfs_foreach_bit() so that it continues scan
from the next bit.

Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Change-Id: I6a8b98ed8964fba1410552c94c408b004eae00a4
Reviewed-on: http://review.whamcloud.com/4048
Tested-by: Hudson
Reviewed-by: wangdi <di.wang@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
7 years agoLU-1303 tests: Support for MDS-initiated OST_DESTROYs
Li Wei [Mon, 11 Jun 2012 03:39:10 +0000 (11:39 +0800)]
LU-1303 tests: Support for MDS-initiated OST_DESTROYs

This patch makes sure the tests work with MDSs that destroy OST
objects asynchronously on behalf of clients.

Change-Id: I3d365766f1af8a305cf723546e868ff3d6b2501d
Signed-off-by: Li Wei <liwei@whamcloud.com>
Reviewed-on: http://review.whamcloud.com/2982
Tested-by: Hudson
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
7 years agoLU-1303 osp: add OSP lprocfs functions
Mikhail Pershin [Wed, 26 Sep 2012 06:49:26 +0000 (10:49 +0400)]
LU-1303 osp: add OSP lprocfs functions

OSP lprocfs functions

Signed-off-by: Mikhail Pershin <tappro@whamcloud.com>
Change-Id: Id85447311847c7e75ed6b0505734f5e8eb909ed5
Reviewed-on: http://review.whamcloud.com/4100
Tested-by: Hudson
Reviewed-by: wangdi <di.wang@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
7 years agoLU-1303 osp: OSP logging functionality
Mikhail Pershin [Mon, 24 Sep 2012 09:54:54 +0000 (13:54 +0400)]
LU-1303 osp: OSP logging functionality

OSP writes unlink and setattr llogs and tracks corresponding commits
at OST side, then cancel llog records locally

Add missed obd_device methods and import event handling

Signed-off-by: Mikhail Pershin <tappro@whamcloud.com>
Change-Id: I63ecc975e483a7f9caac9554cc15c3a4fb4a6e6d
Reviewed-on: http://review.whamcloud.com/4095
Reviewed-by: wangdi <di.wang@whamcloud.com>
Tested-by: Hudson
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
7 years agoLU-1303 lod: methods to manage pools
Alex Zhuravlev [Wed, 19 Sep 2012 17:08:02 +0000 (21:08 +0400)]
LU-1303 lod: methods to manage pools

external components (like configuration) call these
methods to initialize and manage in-core list of
pools in lod. so that lod itself doesn't need to
implement store/load functionality.

Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Change-Id: I6b8bbc55b9acf116cc8c06e756ad26b327b5d4e8
Reviewed-on: http://review.whamcloud.com/4047
Reviewed-by: wangdi <di.wang@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
7 years agoLU-1303 lod: add lprocfs support to lod
Alex Zhuravlev [Wed, 19 Sep 2012 11:16:24 +0000 (15:16 +0400)]
LU-1303 lod: add lprocfs support to lod

and initialize it at device startup time

Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: Id8f5e40f18685f3ffbf50405932754f594d7e60f
Reviewed-on: http://review.whamcloud.com/4046
Reviewed-by: wangdi <di.wang@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
7 years agoLU-1867 tests: disable replay-single/89
Alex Zhuravlev [Wed, 26 Sep 2012 16:35:50 +0000 (20:35 +0400)]
LU-1867 tests: disable replay-single/89

as it's been coloring tests red quite often and seem to be very
localized issued I suggest to disable it till the root cause or
the test is fixed properly.

Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Change-Id: I85feb214d6d23077cfdde47a6a439b806c5d0b6e
Reviewed-on: http://review.whamcloud.com/4105
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
7 years agoLU-1842 ldlm: add support for quota LVB
Johann Lombardi [Wed, 26 Sep 2012 21:28:21 +0000 (23:28 +0200)]
LU-1842 ldlm: add support for quota LVB

This patch defines new LVB types for quota.
A new request buffer is also added to glimpse AST to allow the server
to pass additional information about the callback to the client.
This additional buffer will only be used in conjunction with quota
locks for the time being.

Signed-off-by: Johann Lombardi <johann@whamcloud.com>
Change-Id: If5842bfff79d24e7d11ef33c47edb96fe6f11e76
Reviewed-on: http://review.whamcloud.com/4107
Reviewed-by: Niu Yawei <niu@whamcloud.com>
Tested-by: Hudson
Reviewed-by: Fan Yong <yong.fan@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
7 years agoLU-1842 quota: new sanity-quota tests
Niu Yawei [Thu, 20 Sep 2012 08:41:37 +0000 (04:41 -0400)]
LU-1842 quota: new sanity-quota tests

Added new sanity-quota.sh for the new quota architecture, meanwhile,
the old sanity-quota.sh is reserved for the interoprability with
old server.

Removed the quotacheck tests in conf-sanity, since quotacheck is
deprecated in the new quota architecture.

Test-Parameters: envdefinitions=SLOW=yes testlist=sanity-quota

Signed-off-by: Niu Yawei <niu@whamcloud.com>
Change-Id: Ia3e3248a167e9f312a782aefea7af0aeced52220
Reviewed-on: http://review.whamcloud.com/4040
Tested-by: Hudson
Reviewed-by: Yu Jian <yujian@whamcloud.com>
Reviewed-by: Fan Yong <yong.fan@whamcloud.com>
Reviewed-by: Johann Lombardi <johann.lombardi@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
7 years agoLU-1842 quota: lquota entry
Niu Yawei [Wed, 26 Sep 2012 07:34:36 +0000 (03:34 -0400)]
LU-1842 quota: lquota entry

quota entry management.

Signed-off-by: Johann Lombardi <johann@whamcloud.com>
Signed-off-by: Niu Yawei <niu@whamcloud.com>
Change-Id: I57e6a736680b25c737859be2cd9434997b2ccdbf
Reviewed-on: http://review.whamcloud.com/4101
Tested-by: Hudson
Reviewed-by: Johann Lombardi <johann.lombardi@intel.com>
Reviewed-by: Fan Yong <yong.fan@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
7 years agoLU-1302 mgs: mgs uses llog over OSD
Mikhail Pershin [Tue, 25 Sep 2012 08:50:41 +0000 (12:50 +0400)]
LU-1302 mgs: mgs uses llog over OSD

- llog over OSD in MGS. Switch llog_test to work over OSD too.
- local_oid_store_init() don't create names for llog because all
  llogs have names in O/d/n
- Enable all llog tests functionality

Signed-off-by: Mikhail Pershin <tappro@whamcloud.com>
Change-Id: I60cc5ec7094a2640d7fc0a0d87519c56b1383557
Reviewed-on: http://review.whamcloud.com/4104
Tested-by: Hudson
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
7 years agoLU-1302 llog: llog ioctl to use env
Mikhail Pershin [Mon, 24 Sep 2012 21:08:57 +0000 (01:08 +0400)]
LU-1302 llog: llog ioctl to use env

Update llog_ioctl.c to use lu_env

Signed-off-by: Mikhail Pershin <tappro@whamcloud.com>
Change-Id: I8f5476cccacae2d4922ac9af87d334929c0eba6c
Reviewed-on: http://review.whamcloud.com/4094
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: wangdi <di.wang@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
7 years agoLU-1302 llog: llog over OSD primitives
Mikhail Pershin [Sun, 23 Sep 2012 19:22:26 +0000 (23:22 +0400)]
LU-1302 llog: llog over OSD primitives

set of low-level functions implementing llog functionality over
OSD device

Signed-off-by: Mikhail Pershin <tappro@whamcloud.com>
Change-Id: I6b623a821d39ecca90c27a7a84b969aada11c0cd
Reviewed-on: http://review.whamcloud.com/4093
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: wangdi <di.wang@whamcloud.com>
Tested-by: Hudson
7 years agoLU-1981 build: External OSD support in configure
Alex Zhuravlev [Thu, 17 Feb 2011 08:23:18 +0000 (11:23 +0300)]
LU-1981 build: External OSD support in configure

With configure option "--with-osd=<dir>" one can get additional
(external to main tree) directory to be built with main tree.

Change-Id: Ibe1c1d136d9c8bf8245344791f0f51933266018a
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Signed-off-by: Li Wei <liwei@whamcloud.com>
Reviewed-on: http://review.whamcloud.com/4099
Tested-by: Hudson
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
7 years agoLU-1667 ui: fix inaccurate warning message.
Richard Henwood [Wed, 25 Jul 2012 20:07:53 +0000 (16:07 -0400)]
LU-1667 ui: fix inaccurate warning message.

Trivial fix to make stripe size message accurate. Message is
generated if a user issues a 'lfs setstripe' command with a
size 4G or larger. The corrected message now reads:
"stripe size 4G or larger is not currently supported"

Signed-off-by: Richard Henwood <rhenwood@whamcloud.com>
Change-Id: I6978e84aee547f40dc20f9b0bfa243d4960e084d
Reviewed-on: http://review.whamcloud.com/3464
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Cliff White <cliffw@whamcloud.com>
Reviewed-by: Fan Yong <yong.fan@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
7 years agoLU-1842 quota: remove quota code
Johann Lombardi [Mon, 24 Sep 2012 13:03:21 +0000 (15:03 +0200)]
LU-1842 quota: remove quota code

This patch removes the quota code (from quota directory, but also
from mdd & obdfilter) which is going to be replaced by the new
implementation.
This patch also modifies the mdt to use the new space accounting
scheme as already used by the ofd layer.
sanity-quota.sh now also uses ofd by default and only runs the space
accounting tests until quota enforcement support is landed.

Signed-off-by: Johann Lombardi <johann@whamcloud.com>
Change-Id: I85cbbf6058859e5d19f80aa128f45b6d41c37d92
Reviewed-on: http://review.whamcloud.com/4098
Reviewed-by: Niu Yawei <niu@whamcloud.com>
Tested-by: Hudson
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
7 years agoLU-2007 ldlm: reconnect can be racy
Alex Zhuravlev [Sat, 4 Aug 2012 08:14:31 +0000 (12:14 +0400)]
LU-2007 ldlm: reconnect can be racy

exp_connecting should be checked under spinlock

Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Signed-off-by: Prakash Surya <surya1@llnl.gov>
Change-Id: I271bc349ae1ad63a4acd1042f30ac7aa7176f105
Reviewed-on: http://review.whamcloud.com/4075
Tested-by: Hudson
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Mike Pershin <tappro@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
7 years agoLU-2024 tests: skip OI scrub tests until the tag 2.2.90
Fan Yong [Tue, 25 Sep 2012 08:46:19 +0000 (16:46 +0800)]
LU-2024 tests: skip OI scrub tests until the tag 2.2.90

Do not trigger OI scrub related tests on old releases.

Signed-off-by: Fan Yong <yong.fan@whamcloud.com>
Change-Id: I9a4289b03ee8e222329b69891bb901fff9fbc86d
Reviewed-on: http://review.whamcloud.com/4089
Reviewed-by: Yu Jian <yujian@whamcloud.com>
Tested-by: Hudson
Reviewed-by: Bobi Jam <bobijam@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
7 years agoLU-1303 lod: introduce lod device
Alex Zhuravlev [Wed, 19 Sep 2012 11:16:24 +0000 (15:16 +0400)]
LU-1303 lod: introduce lod device

this is the first patch in the series landing lod.
LOD stands for LOgical Device, it's purpose is to
hide striping for other layers like MDD.

Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: Ib33b3e8b2de6e816397a17af65a0bffab912960b
Reviewed-on: http://review.whamcloud.com/4045
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: wangdi <di.wang@whamcloud.com>
7 years agoLU-1302 llog: simplify llog_setup functionality
Mikhail Pershin [Fri, 31 Aug 2012 05:18:35 +0000 (09:18 +0400)]
LU-1302 llog: simplify llog_setup functionality

llog catalog used llog_obd_origin_setup as llog_setup() function
It does actually setup, open and llog processing inside that
makes it different from plain llog and breaks new llog API

Patch does the following:

- llog operations are needed for both ctxt and handler, in ctxt
  there are disk and network operations possible, per-handle there
  are plain and catalog llogs. in-handle operations are taken from
  ctxt at first then updated for catalogs by the caller
- rework llog_setup, keep only ctxt allocation in it, remove unused
  parameters, remove llog_setup_named as name was never used

Signed-off-by: Mikhail Pershin <tappro@whamcloud.com>
Change-Id: I8641e697898a1a57bbc500b649f065ba3f2d41b0
Reviewed-on: http://review.whamcloud.com/3949
Tested-by: Hudson
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
7 years agoLU-1842 quota: migrate old quota admin files
Niu Yawei [Mon, 24 Sep 2012 08:34:02 +0000 (04:34 -0400)]
LU-1842 quota: migrate old quota admin files

Migrate old admin quota files into new global indexes when mount
with an old device.

Signed-off-by: Niu Yawei <niu@whamcloud.com>
Change-Id: I9e834eabf83f0da273b4ba3309adf71f55eae758
Reviewed-on: http://review.whamcloud.com/4077
Tested-by: Hudson
Reviewed-by: Johann Lombardi <johann@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
7 years agoLU-1876 ldlm: extend ldlm_valblock_ops{}
Jinshan Xiong [Mon, 17 Sep 2012 16:41:20 +0000 (09:41 -0700)]
LU-1876 ldlm: extend ldlm_valblock_ops{}

To extend the usage of RQF_DLM_LVB for quota, layout lock and nano
seconds, two extra callbacks will be added:
 - lvbo_size: determine the size of lvb data
 - lvbo_fill: fill in RPC buffer by lvb data

Also framework of mdt_lvb is added for future extension.

Signed-off-by: Jinshan Xiong <jinshan.xiong@whamcloud.com>
Change-Id: I2b3022525f8fbef72549a25766aa73d94b8b997c
Reviewed-on: http://review.whamcloud.com/3960
Reviewed-by: Johann Lombardi <johann@whamcloud.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Niu Yawei <niu@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
7 years agoLU-1303 osd: support for forced sync in procfs
Alex Zhuravlev [Mon, 24 Sep 2012 15:00:48 +0000 (19:00 +0400)]
LU-1303 osd: support for forced sync in procfs

will be used by t-f to speedup file/object removals, etc.

Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Change-Id: Ic9d933b627eed0a47438b66890933ddc39cc8c8b
Reviewed-on: http://review.whamcloud.com/4083
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: wangdi <di.wang@whamcloud.com>
7 years agoLU-1842 quota: t-f changes for new quota
Niu Yawei [Tue, 18 Sep 2012 15:00:12 +0000 (11:00 -0400)]
LU-1842 quota: t-f changes for new quota

Added new quota functions in the t-f according to new quota
architecutre, at the same time, old functions are kept for
the interoprability with old server.

two minor defects fixed:
- in facet_up(), add '-x' option to grep for exact matching,
  otherwise this function will not work in single node test;
- missing 'shift' in wait_update_facet();

Test-Parameters: envdefinitions=ENABLE_QUOTA=yes

Signed-off-by: Niu Yawei <niu@whamcloud.com>
Change-Id: I86915976f53af8620679ab267e04beea18dd5cf3
Reviewed-on: http://review.whamcloud.com/4031
Reviewed-by: Yu Jian <yujian@whamcloud.com>
Tested-by: Hudson
Reviewed-by: Johann Lombardi <johann@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
7 years agoLU-1842 quota: add quota disk operations
Johann Lombardi [Tue, 18 Sep 2012 20:18:14 +0000 (22:18 +0200)]
LU-1842 quota: add quota disk operations

Add low level quota disk operations that will be used by both the
QMT (quota master) and QSD (quota slave) to manipulate on-disk
structures.

Signed-off-by: Johann Lombardi <johann@whamcloud.com>
Signed-off-by: Niu Yawei <niu@whamcloud.com>
Change-Id: I783bf9519cf37fdfa35a04cff8207825a7ab1b49
Reviewed-on: http://review.whamcloud.com/4042
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Mike Pershin <tappro@whamcloud.com>
7 years agoLU-1753 test: use large resend count for 118i in sanity
Hongchao Zhang [Fri, 21 Sep 2012 23:16:33 +0000 (07:16 +0800)]
LU-1753 test: use large resend count for 118i in sanity

in sanity.sh, the subtest 118i will fail if the resend count
of OSC is small for 'SLOW=no' case (it's 4, default is 10).

Signed-off-by: Hongchao Zhang <hongchao.zhang@whamcloud.com>
Change-Id: I3c49628ed259e7adbff4a100d482e693502bf99d
Reviewed-on: http://review.whamcloud.com/4071
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Yu Jian <yujian@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
7 years agoLU-1304 mdt: get attributes with explicit calls
Alex Zhuravlev [Fri, 17 Aug 2012 04:47:00 +0000 (08:47 +0400)]
LU-1304 mdt: get attributes with explicit calls

to mdd, so that mdd doesn't need to care of attribute packs

Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I0c2c636e4751f599c5a580526c87ff068a5409a5
Reviewed-on: http://review.whamcloud.com/3782
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: wangdi <di.wang@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@whamcloud.com>
7 years agoLU-1999 tests: check LW client eviction in logs
Johann Lombardi [Fri, 21 Sep 2012 07:54:17 +0000 (09:54 +0200)]
LU-1999 tests: check LW client eviction in logs

A lightweight client can reconnect rather quickly after a server
restart (they are allowed to reconnect during recovery), which
confuses wait_client_evicted().
A more reliable check is to search for eviction message in the log.

Signed-off-by: Johann Lombardi <johann@whamcloud.com>
Change-Id: Idb5fda48c7d73c465c8d69c18f2040d5fa08e3ba
Reviewed-on: http://review.whamcloud.com/4069
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Niu Yawei <niu@whamcloud.com>
7 years agoLU-1303 osp: osp object operations
Mikhail Pershin [Tue, 18 Sep 2012 13:07:46 +0000 (17:07 +0400)]
LU-1303 osp: osp object operations

add object operations to OSP

Signed-off-by: Mikhail Pershin <tappro@whamcloud.com>
Change-Id: I9e460efe2cbfed984cb57e5e77992127b9084556
Reviewed-on: http://review.whamcloud.com/4030
Reviewed-by: Johann Lombardi <johann@whamcloud.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
7 years agoLU-1303 osp: land precreate code
Mikhail Pershin [Thu, 13 Sep 2012 16:45:09 +0000 (20:45 +0400)]
LU-1303 osp: land precreate code

OSP precreate code, this functionality is similar to OSP precreate

Signed-off-by: Mikhail Pershin <tappro@whamcloud.com>
Change-Id: I090cfddc26eead17e82cc75c448225b08d0debe7
Reviewed-on: http://review.whamcloud.com/3983
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
7 years agoLU-1302 llog: modify llog_write/llog_add to support OSD
Mikhail Pershin [Mon, 10 Sep 2012 13:06:32 +0000 (17:06 +0400)]
LU-1302 llog: modify llog_write/llog_add to support OSD

- add transaction and declarations in API to work over OSD
- change logic in llog catalog to open plain llogs during
  declarations
- keep lop_obd_add to work via chain of obds, e.g. MDS-LOV-OSC.
  It will be not needed with LOD/OSP anymore

Signed-off-by: Mikhail Pershin <tappro@whamcloud.com>
Change-Id: Ifba546fcb5fe8434fd4aa21a21b831737df73729
Reviewed-on: http://review.whamcloud.com/3923
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
7 years agoLU-1301 helpers: quiet class_parse_nid()
Alex Zhuravlev [Wed, 15 Aug 2012 05:49:34 +0000 (09:49 +0400)]
LU-1301 helpers: quiet class_parse_nid()

class_parse_nid_quiet() is a version of class_parse_nid()
which doesn't complain on an invalid nid.
i.e. used in obd_mount.c where nid can be followed by
another (non-nid) mount option.

Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I8938a50e56007bd626b207e4a69a2a76c572632d
Reviewed-on: http://review.whamcloud.com/3678
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Mike Pershin <tappro@whamcloud.com>
7 years agoLU-1301 mgs: OSD based class_dentry_readdir()
Alex Zhuravlev [Tue, 14 Aug 2012 20:34:04 +0000 (00:34 +0400)]
LU-1301 mgs: OSD based class_dentry_readdir()

class_dentry_readdir() now uses OSD API to list the logs.

Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I376fb8d53ffb6d0aaee27ed981a8243def4d85df
Reviewed-on: http://review.whamcloud.com/3677
Tested-by: Hudson
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Mike Pershin <tappro@whamcloud.com>
7 years agoLU-1301 mgs: mgs_nids.c to use OSD API
Alex Zhuravlev [Tue, 14 Aug 2012 19:29:43 +0000 (23:29 +0400)]
LU-1301 mgs: mgs_nids.c to use OSD API

and not lvfs

Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I04e9370561989f0ec13f5cf18ddbac8cfc59b51a
Reviewed-on: http://review.whamcloud.com/3676
Tested-by: Hudson
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Mike Pershin <tappro@whamcloud.com>
7 years agoLU-1301 mgs: osd api based setup
Alex Zhuravlev [Tue, 14 Aug 2012 17:35:34 +0000 (21:35 +0400)]
LU-1301 mgs: osd api based setup

Add new mgs_fs_setup() and mgs_fs_cleanup() routines to
initialize local objects using OSD API.  The corresponding old
mgs_fs_setup() and mgs_fs_cleanup() routines are still called
so that lvfs-based functions still work during the transition.

Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: Ib4bb83e6f8b3e5146363197b9793a810a9242b19
Reviewed-on: http://review.whamcloud.com/3675
Tested-by: Hudson
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Mike Pershin <tappro@whamcloud.com>
7 years agoLU-1301 mgs: lu device for mgs
Alex Zhuravlev [Mon, 13 Aug 2012 06:31:49 +0000 (10:31 +0400)]
LU-1301 mgs: lu device for mgs

initial infrastructure to get lu-device for mgs:
device itself, support for objects, init/fini
old lvfs llog is still used to access on-disk data

Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I46b2ba4bafa0f15970745ca024cd3239b9b63ec5
Reviewed-on: http://review.whamcloud.com/3674
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Mike Pershin <tappro@whamcloud.com>
7 years agoLU-1883 osd: Fix niobuf_local offset usage
Li Wei [Tue, 11 Sep 2012 15:02:13 +0000 (23:02 +0800)]
LU-1883 osd: Fix niobuf_local offset usage

osd-ldiskfs fills file offsets into niobuf_local::offset fields in
osd_map_remote_to_local(), while osd_write_prep() treats the values as
page offsets.  Random memory corruptions may occur as a result of this
offset usage inconsistency.  This patch fixes the issue and introduces
the Orion lnb_file_offset and lnb_page_offset names.

Change-Id: I76c555ddbe7f41271be4bebecbc41ce036747258
Signed-off-by: Li Wei <liwei@whamcloud.com>
Reviewed-on: http://review.whamcloud.com/4051
Tested-by: Hudson
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
7 years agoLU-1946 mount: Print more helpful message on EBUSY
Prakash Surya [Thu, 13 Sep 2012 23:45:01 +0000 (16:45 -0700)]
LU-1946 mount: Print more helpful message on EBUSY

If the mount function returns EBUSY, there is a chance that the
backend filesystem is mounted through the Posix layer. Specifically,
when using a ZFS backend EBUSY will be returned in this use case. As an
aid the to end user, this patch prints a message intended to help the
user diagnose and fix the issue.

Signed-off-by: Prakash Surya <surya1@llnl.gov>
Change-Id: I7bacbb74c1e76efbbea60f76049a9356d601d246
Reviewed-on: http://review.whamcloud.com/3997
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Bobi Jam <bobijam@whamcloud.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
7 years agoLU-1688 test: fix the problem in test_58 of recovery_small
Hongchao Zhang [Sat, 4 Aug 2012 10:21:12 +0000 (18:21 +0800)]
LU-1688 test: fix the problem in test_58 of recovery_small

in test_58 of recovery_small, the 'df' command could trigger
the eviction caused by the above 'drop_bl_callback', then
the fail of 'df' could be not thought as the fail of th test,

Signed-off-by: Hongchao Zhang <hongchao.zhang@whamcloud.com>
Change-Id: I226a3d4772d033182ded28caacbecdc44c7af8c4
Reviewed-on: http://review.whamcloud.com/3506
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Jay J Lan <jay.j.lan@nasa.gov>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
7 years agoLU-1304 mdd: do not use ma internally
Alex Zhuravlev [Wed, 12 Sep 2012 17:34:17 +0000 (21:34 +0400)]
LU-1304 mdd: do not use ma internally

this is the first step to prepare mdd for LOD
and removing LOV management from MDD

Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I65a6f6bc867ff3107eb6fb927da60ace304754af
Reviewed-on: http://review.whamcloud.com/4032
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: wangdi <di.wang@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
7 years agoLU-1304 mdd: changes related to acl
Alex Zhuravlev [Tue, 4 Sep 2012 15:20:22 +0000 (19:20 +0400)]
LU-1304 mdd: changes related to acl

ACL/i_mode consistency in maintained within MDD,
so that ACLs functionality do not depend on
OSD indirectly. required for ZFS backend.

Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I8f20e21734097ee2d962cc487265d6e1d9b3b805
Reviewed-on: http://review.whamcloud.com/3866
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: wangdi <di.wang@whamcloud.com>
Reviewed-by: Fan Yong <yong.fan@whamcloud.com>
7 years agoLU-1783 tests: skip directory atime update test in SLES11 SP1
Bob Glossman [Thu, 20 Sep 2012 18:36:24 +0000 (11:36 -0700)]
LU-1783 tests: skip directory atime update test in SLES11 SP1

Since this failure is seen only in SP1 which is already out of support,
skipping the subtest for this sles version.

Test-Parameters: clientdistro=sl11

Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: I9f996b1e9955052b46ad7e3310e21f118bfa77cf
Reviewed-on: http://review.whamcloud.com/4062
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
7 years agoLU-1941 tests: disable FIEMAP tests for ZFS
Andreas Dilger [Sat, 15 Sep 2012 02:07:35 +0000 (20:07 -0600)]
LU-1941 tests: disable FIEMAP tests for ZFS

Until the FIEMAP support for ZFS is implemented, skip the filefrag
FIEMAP sanity tests.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I3b1ee73bae61a71792fa8c281182e649a4261f05
Reviewed-on: http://review.whamcloud.com/3998
Tested-by: Hudson
Reviewed-by: Li Wei <liwei@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
7 years agoLU-1976 io: check index node before recycle empty leaf
Fan Yong [Thu, 20 Sep 2012 15:45:19 +0000 (23:45 +0800)]
LU-1976 io: check index node before recycle empty leaf

There may be multiple threads trying to shrink the same OI index
node to recycle different empty OI leaf nodes concurrently, and
someone may enlarged or split the index node before the threads
shrinking the index node to recycle the empty OI leaf nodes.
These concurrent OI index node modifications will change leaf
node position in the index node. So before shrinking the index
node, we need to check and adjust related frame pointer to avoid
to shrink the index node improperly as to crash the memory.

Signed-off-by: Fan Yong <yong.fan@whamcloud.com>
Change-Id: I26063407f6c52f3e51ddb40e6c27aaa5cf63ec2b
Reviewed-on: http://review.whamcloud.com/4061
Tested-by: Hudson
Reviewed-by: wangdi <di.wang@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
7 years agoLU-1304 mdd: remove partial operations
Alex Zhuravlev [Mon, 3 Sep 2012 15:23:10 +0000 (19:23 +0400)]
LU-1304 mdd: remove partial operations

DNE is implementing this by different means

Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: Ieed255381672646277af370989416fd1421d29fb
Reviewed-on: http://review.whamcloud.com/3865
Tested-by: Hudson
Reviewed-by: wangdi <di.wang@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
7 years agoLU-1850 test: remount client if replay-vbr fails
sarah [Thu, 20 Sep 2012 20:26:35 +0000 (13:26 -0700)]
LU-1850 test: remount client if replay-vbr fails

Remount client lustre if checkstat fails to make sure
the following tests running in a healthy environment

Change-Id: I764e83ee31d8cc19d79632e805a6e75225e67adf
Signed-off-by: sarah <sarah@whamcloud.com>
Reviewed-on: http://review.whamcloud.com/4063
Tested-by: Hudson
Reviewed-by: Yu Jian <yujian@whamcloud.com>
Reviewed-by: Niu Yawei <niu@whamcloud.com>
Reviewed-by: Li Wei <liwei@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
7 years agoLU-1581 build: remove false ldiskfs dependencies
Andreas Dilger [Mon, 20 Aug 2012 06:25:01 +0000 (00:25 -0600)]
LU-1581 build: remove false ldiskfs dependencies

Remove unnecessary use of ldiskfs and other headers by MDD code.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I89f56ea35444a4d36dd461df223250a061e3557a
Reviewed-on: http://review.whamcloud.com/3719
Tested-by: Hudson
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Li Wei <liwei@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
7 years agoLU-1491 tests: check Lustre version in conf-sanity test 62
Yu Jian [Tue, 18 Sep 2012 03:36:27 +0000 (11:36 +0800)]
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>
7 years agoLU-1896 tests: check Lustre version in sanity test 154
Yu Jian [Tue, 18 Sep 2012 04:05:31 +0000 (12:05 +0800)]
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>
7 years agoLU-1820 ptlrpc: fix req reference to export
Alexander.Boyko [Tue, 4 Sep 2012 09:30:06 +0000 (13:30 +0400)]
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>
7 years agoLU-1999 tests: disable recovery-small/106
Alex Zhuravlev [Fri, 21 Sep 2012 06:15:50 +0000 (10:15 +0400)]
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>
7 years agoLU-1756 kernel: cleanup lustre_compat25.h
Peng Tao [Thu, 16 Aug 2012 07:59:21 +0000 (15:59 +0800)]
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>
7 years agoLU-1519 llite: Add a mount flag to clarify DAC handling
John L. Hammond [Fri, 15 Jun 2012 21:14:06 +0000 (16:14 -0500)]
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>
7 years agoLU-1912 tests: check Lustre version in generate_db()
Yu Jian [Tue, 18 Sep 2012 05:23:58 +0000 (13:23 +0800)]
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>
7 years agoLU-1842 quota: lfs quota commands
Niu Yawei [Tue, 18 Sep 2012 07:01:27 +0000 (03:01 -0400)]
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>
7 years agoLU-1907 build: avoid function resolution mistakes by Coverity
Sebastien Buisson [Wed, 12 Sep 2012 12:49:17 +0000 (14:49 +0200)]
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>
7 years agoLU-1789 protocol: add support for lightweight connection
Johann Lombardi [Mon, 10 Sep 2012 22:18:01 +0000 (00:18 +0200)]
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>
7 years agoLU-1842 iam: store key & rec in LE order for quota IAM files
Niu Yawei [Fri, 14 Sep 2012 07:32:05 +0000 (03:32 -0400)]
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>
7 years agoLU-1973 test: t-f to set LD_LIBRARY_PATH
Alex Zhuravlev [Tue, 18 Sep 2012 10:50:07 +0000 (14:50 +0400)]
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>
7 years agoLU-1735 ptlrpc: cleanup jobid error message
Niu Yawei [Tue, 18 Sep 2012 09:19:51 +0000 (05:19 -0400)]
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>
7 years agoLU-1842 protocol: add support for OBD_IDX_READ
Johann Lombardi [Tue, 11 Sep 2012 22:04:00 +0000 (00:04 +0200)]
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>
7 years agoLU-1304 osd: ->do_ah_init() to accept new object
Alex Zhuravlev [Wed, 12 Sep 2012 16:30:03 +0000 (20:30 +0400)]
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>
7 years agoLU-1945 utils: fix ll_recover_lost_found_objs.
wangdi [Fri, 14 Sep 2012 19:39:17 +0000 (12:39 -0700)]
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>
7 years agoLU-1304 mdd: use slab for mdd objects
Alex Zhuravlev [Mon, 3 Sep 2012 15:15:43 +0000 (19:15 +0400)]
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>
7 years agoLU-1740 test: skip test for interop
Bob Glossman [Mon, 17 Sep 2012 15:41:05 +0000 (08:41 -0700)]
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>
7 years agoLU-1540 tests: skip sanity test_17m on old MDS
Andreas Dilger [Sat, 15 Sep 2012 20:35:03 +0000 (14:35 -0600)]
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>
7 years agoLU-1842 quota: helper routines to manage FID_SEQ_QUOTA_GLB
Johann Lombardi [Tue, 11 Sep 2012 11:19:04 +0000 (13:19 +0200)]
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>
7 years agoLU-1842 quota: new quota RPC format
Niu Yawei [Thu, 13 Sep 2012 10:25:11 +0000 (06:25 -0400)]
LU-1842 quota: new quota RPC format

Define RPC formats for quota acquire/release:
- non-intent DQACQ;
- intent DQACQ (per-ID intent lock);
- intent CONNECT (global intent lock);

Signed-off-by: Niu Yawei <niu@whamcloud.com>
Change-Id: Ia6ec34326cd94274f2f0f42b89f11e52d0dc8317
Reviewed-on: http://review.whamcloud.com/3977
Tested-by: Hudson
Reviewed-by: Johann Lombardi <johann@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Fan Yong <yong.fan@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
7 years agoLU-1756 kernel: cleanup lustre_compat25.h
Peng Tao [Thu, 16 Aug 2012 07:59:21 +0000 (15:59 +0800)]
LU-1756 kernel: cleanup lustre_compat25.h

1. unused functions:
   ll_remove_suid(), labs()
2. abs() is always defined
3. use SLAB_DESTROY_BY_RCU directly
4. call sb_any_quota_loaded() directl

Signed-off-by: Peng Tao <tao.peng@emc.com>
Change-Id: Ic52e1a75f3d71887ae91f03a465112ab6c08c746
Reviewed-on: http://review.whamcloud.com/3688
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Niu Yawei <niu@whamcloud.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
7 years agoLU-1842 quota: zfs local enforcement
Niu Yawei [Tue, 11 Sep 2012 07:35:32 +0000 (03:35 -0400)]
LU-1842 quota: zfs local enforcement

Quota local enforcement for zfs osd.

Signed-off-by: Niu Yawei <niu@whamcloud.com>
Change-Id: I91d6698cc5a3f1eb42dd7fc9120f83b70d2a7a6f
Reviewed-on: http://review.whamcloud.com/3933
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Fan Yong <yong.fan@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
7 years agoLU-1842 quota: ldiskfs local enforcement
Niu Yawei [Mon, 10 Sep 2012 06:30:34 +0000 (02:30 -0400)]
LU-1842 quota: ldiskfs local enforcement

Quota local enforcement for ldiskfs osd

Signed-off-by: Niu Yawei <niu@whamcloud.com>
Change-Id: Ica4c1ae74c4af5a913691e60c080cb431e273c3c
Reviewed-on: http://review.whamcloud.com/3915
Tested-by: Hudson
Reviewed-by: Johann Lombardi <johann@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Fan Yong <yong.fan@whamcloud.com>
7 years agoLU-1884 build: fix 'resource leak' errors
Sebastien Buisson [Tue, 11 Sep 2012 07:43:22 +0000 (09:43 +0200)]
LU-1884 build: fix 'resource leak' errors

Fix 'resource leak' defects found by Coverity version 6.0.3:
Resource leak (RESOURCE_LEAK)
Variable going out of scope leaks the storage it points to.

Signed-off-by: Sebastien Buisson <sebastien.buisson@bull.net>
Change-Id: I6fe04d30c209d164ac8c741497c675a33ffcca6d
Reviewed-on: http://review.whamcloud.com/3934
Tested-by: Hudson
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Keith Mannthey <keith@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
7 years agoLU-1095 debug: quiet unnecessary console chatter
Andreas Dilger [Thu, 6 Sep 2012 19:55:41 +0000 (13:55 -0600)]
LU-1095 debug: quiet unnecessary console chatter

Quiet warning when configuring non-default CPT partitions, since this
will happen whenever the module parameter is changed.  Only complain
if the number of partitions is more than the number of cores, or if
it is more than 4x the recommended number.

Running racer.sh provokes a lot of messages from mdd_readdir(),
because it is doing "ls" in a directory that has been unlinked.
This is legal under POSIX and should not generate a console message.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I33afab093e9a03324a579244ce5177708735e7cc
Reviewed-on: http://review.whamcloud.com/3894
Reviewed-by: Yu Jian <yujian@whamcloud.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Liang Zhen <liang@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
7 years agoLU-1746 osd-zfs: fix LU_BUF_NULL in osd_xattr_list()
Minh Diep [Fri, 31 Aug 2012 15:33:39 +0000 (08:33 -0700)]
LU-1746 osd-zfs: fix LU_BUF_NULL in osd_xattr_list()

== sanity test 17k: symlinks: rsync with xattrs enabled
=========================== 17:49:09 (1344332949)
sending incremental file list
rsync: get_xattr_names: llistxattr(".",0) failed: Numerical
result out of range (34)
[...]

It happened like this:

  osd_sa_xattr_list()
  osd_xattr_list()
  ...
  mdt_getxattr_pack_reply()
  mdt_getxattr()

mdt_getxattr_pack_reply() passed LU_BUF_NULL as lu_buf to
learn how big the buffer should be.  osd_xattr_list() does
not support such queries with NULL buffers.

Test-Parameters: envdefinition=USE_OFD=yes,LOAD_MODULES_REMOTE=true
Signed-off-by: Minh Diep <minh.diep@intel.com>
Change-Id: I1aa63d9774770c14db2b332e634734cda3a160b6
Reviewed-on: http://review.whamcloud.com/3863
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Li Wei <liwei@whamcloud.com>
7 years agoLU-1747 osd-zfs: Return zero when deleting nonexistent EAS
Minh Diep [Fri, 31 Aug 2012 04:33:54 +0000 (21:33 -0700)]
LU-1747 osd-zfs: Return zero when deleting nonexistent EAS

sanity 103 with ZFS targets fails:

[22] $ strace -o /tmp/tmo.strace cp -rp h i -- failed
 ~                                     ? cp: preserving permissions
for `i/x': No such file or directory
 ~                                     ? cp: preserving permissions
for `i': No such file or directory

The ENOENTs came from osd-zfs's osd_xattr_del(), when MDD tried to
delete "system.posix_acl_access".

Test-Parameters: envdefinitions=USE_OFD=yes,LOAD_MODULES_REMOTE=true
Signed-off-by: Minh Diep <mdiep@whamcloud.com>
Change-Id: I3736b1a89bec3174f7e0a6a848870adfa248d186
Reviewed-on: http://review.whamcloud.com/3833
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Li Wei <liwei@whamcloud.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
7 years agoLU-1905 build: Always create libcfs.a
James Simmons [Wed, 12 Sep 2012 11:40:48 +0000 (07:40 -0400)]
LU-1905 build: Always create libcfs.a

Lustre and LNET utilites have become dependent on libcfs.a but
one can easily disable libcfs.a from being built by disabling
liblustre creation. This patch have Lustre always build libcfs.a.

Signed-off-by: James Simmons <uja.ornl@gmail.com>
Change-Id: Id80f9baa16da238eca708409e0b5d5248e437c5a
Reviewed-on: http://review.whamcloud.com/3953
Tested-by: Hudson
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Brian J. Murrell <brian@whamcloud.com>
Reviewed-by: Artem Blagodarenko <artem_blagodarenko@xyratex.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
7 years agoLU-1856 build: fix 'out-of-bounds write' errors
Sebastien Buisson [Fri, 7 Sep 2012 11:52:56 +0000 (13:52 +0200)]
LU-1856 build: fix 'out-of-bounds write' errors

Fix 'out-of-bounds write' defects found by Coverity version 6.0.3:
Out-of-bounds write (OVERRUN_DYNAMIC or OVERRUN_STATIC)
Overrunning array at too high offset.

Signed-off-by: Sebastien Buisson <sebastien.buisson@bull.net>
Change-Id: Idb2ed5f814bb0c4c9418cedffb8e01efae0f4bd7
Reviewed-on: http://review.whamcloud.com/3903
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Keith Mannthey <keith@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
7 years agoLU-1854 ptlrpc: track culled request seq
Liang Zhen [Mon, 10 Sep 2012 07:50:51 +0000 (15:50 +0800)]
LU-1854 ptlrpc: track culled request seq

Ptlrpc service should track highest culled request-seq by storing
it in ptlrpc_servce_part::scp_hist_seq_culled, however, there is
a missed case in ptlrpc_server_drop_request(): if rq_reply_state of
the request is pre-allocated and it should be freed immediately,
ptlrpc_server_drop_request() will unlink the request from history
list w/o track sequence number, and it can be the reason of
hitting LASSERT while reading req_history.

Signed-off-by: Liang Zhen <liang@whamcloud.com>
Change-Id: I74ed9c7f00e77707628d628792bf9583c4bc4259
Reviewed-on: http://review.whamcloud.com/3916
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: wangdi <di.wang@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
7 years agoLU-1301 lu: local objects library
Alex Zhuravlev [Thu, 6 Sep 2012 04:48:16 +0000 (08:48 +0400)]
LU-1301 lu: local objects library

set of functions working on top of OSD API to create/access
local objects by name.
the library maintains own top device to be able to work in
multi-service environment (mds + mgs).

Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I26cc47b866bb0925be4f4419ac663a1d42520e02
Reviewed-on: http://review.whamcloud.com/3665
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>
7 years agoLU-1919 mount: do not access vfs mnt directly
Alex Zhuravlev [Thu, 13 Sep 2012 16:24:20 +0000 (20:24 +0400)]
LU-1919 mount: do not access vfs mnt directly

from obd_mount.c - it's under OSD control now and at umount time
the structure can disappear with OSD, sooner then lustre umount
is completed.

Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I91bae528bc229cd4e0e191e61eae8a7854494c8f
Reviewed-on: http://review.whamcloud.com/3982
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
7 years agoLU-1303 osp: code to update per-OST last_id in OSP
Mikhail Pershin [Wed, 12 Sep 2012 21:13:34 +0000 (01:13 +0400)]
LU-1303 osp: code to update per-OST last_id in OSP

Store and Update last_id - per OST counter of created objects.

Signed-off-by: Mikhail Pershin <tappro@whamcloud.com>
Change-Id: Iedd84afceb692f1b545c6dfe8e035de184952b18
Reviewed-on: http://review.whamcloud.com/3961
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Johann Lombardi <johann@whamcloud.com>
7 years agoLU-1303 osp: Basic OSP device implementation
Mikhail Pershin [Wed, 12 Sep 2012 14:50:53 +0000 (18:50 +0400)]
LU-1303 osp: Basic OSP device implementation

Initial OSP code: osp_device, osp_object and structures

Signed-off-by: Mikhail Pershin <tappro@whamcloud.com>
Change-Id: I21ea3d0cdfe07634278d8e7fee9a7c3fef79f81e
Reviewed-on: http://review.whamcloud.com/3958
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Johann Lombardi <johann@whamcloud.com>
7 years agoLU-1881 mdd: cleanup partial modification
Fan Yong [Thu, 13 Sep 2012 14:42:38 +0000 (22:42 +0800)]
LU-1881 mdd: cleanup partial modification

Usually, the modification triggered by client will be split into
several sub-operations in MDD layer and processed one by one. If
some step failed, we should rollback the former sub-operation(s)
to avoid partial modification the target(s) in RAM or on disk.

Signed-off-by: Fan Yong <yong.fan@whamcloud.com>
Change-Id: I02559618d252f65cd3ae3b26bd186b77c9f42dcc
Reviewed-on: http://review.whamcloud.com/3981
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Niu Yawei <niu@whamcloud.com>
7 years agoLU-1877 mdt: initialize lock and expiration
Alex Zhuravlev [Wed, 12 Sep 2012 03:53:15 +0000 (07:53 +0400)]
LU-1877 mdt: initialize lock and expiration

for statfs cache.

Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: Ief24f6a855c3ed14a7afc142921b9b249ab11604
Reviewed-on: http://review.whamcloud.com/3946
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: Hudson
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
7 years agoLU-1302 llog: llog test update and fixes
Mikhail Pershin [Wed, 29 Aug 2012 21:17:41 +0000 (01:17 +0400)]
LU-1302 llog: llog test update and fixes

- port llog_test fixed from Orion
- remove unneeded include files
- remove llog init/fini from lmv, it is not used
- add new test_7 for llog_test
- add unlink64 handling

Signed-off-by: Mikhail Pershin <tappro@whamcloud.com>
Change-Id: I4793bb02748f2aaab33d67d0f04c8767e7f5ffb9
Reviewed-on: http://review.whamcloud.com/3825
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Hudson
Reviewed-by: Yu Jian <yujian@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
7 years agoLU-1903 test: disable lfsck for ZFS tests
Minh Diep [Thu, 13 Sep 2012 03:14:28 +0000 (20:14 -0700)]
LU-1903 test: disable lfsck for ZFS tests

lfsck test does not apply to ZFS backend filesystem

Signed-off-by: Minh Diep <mdiep@whamcloud.com>
Change-Id: If332b5335b1e444c94669a5e8b5899d896dfb18a
Reviewed-on: http://review.whamcloud.com/3963
Tested-by: Hudson
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
7 years agoLU-1842 ldlm: support for sending GL ASTs to multiple locks
Johann Lombardi [Thu, 6 Sep 2012 12:09:05 +0000 (14:09 +0200)]
LU-1842 ldlm: support for sending GL ASTs to multiple locks

Traditionally, a glimpse callback is sent to one single lock which
is the highest PW extent lock.
The new quota code uses glimpse callbacks in a different manner since
it can issue multiple glimpse ASTs to different slaves (as done for
blocking callbacks for instance) to notify those latters of the new
qunit value.

This patch modifies the glimpse callback path to use
ldlm_run_ast_work() to issue multiple glimpse ASTs in one shot (as
done currently for other lock callbacks).

Signed-off-by: Johann Lombardi <johann@whamcloud.com>
Change-Id: I972630fcf3158dd1d361392913f8086f1ebaa39f
Reviewed-on: http://review.whamcloud.com/3887
Reviewed-by: Niu Yawei <niu@whamcloud.com>
Tested-by: Hudson
Reviewed-by: Fan Yong <yong.fan@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>