LU-2736 mdd: remote dir rename under the same directory.

For "mv src_p/src_c tgt_p/tgt_c", src_c are remote directory,
if src_p and tgt_p are the same directory, and tgt_c does not exist,
this should be allowed, because all the modification will happen on
the single MDT where the parent is.

Test-Parameters: mdscount=2 mdtcount=2
Signed-off-by: wang di <di.wang@intel.com>
Change-Id: Ie7945933199648aadb9dfe68f00acf32a12c824f
Reviewed-on: http://review.whamcloud.com/5294
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Hudson
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
LU-2523 racer: don't clobber DURATION

Don't clobber racer's DURATION if SLOW is not set to no.

Test-Parameters: envdefinitions=SLOW=yes \
		 testlist=racer,racer,racer,racer,racer,racer

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I86c7f54e3fb7a06388d7083001a80b91d09ac27d
Reviewed-on: http://review.whamcloud.com/5741
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
LU-3017 tests: sanityn: remove all previous test run data

Ensure all previous data from sanityn is removed.  Test 3 would fail
if it's previous data was still present in the filesystem.

Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: If4aba05e0d78b49ab5e799dea83aa5815f43f20e
Reviewed-on: http://review.whamcloud.com/5810
Reviewed-by: Bobi Jam <bobijam@gmail.com>
Reviewed-by: Keith Mannthey <keith.mannthey@intel.com>
Tested-by: Hudson
Reviewed-by: Li Wei <wei.g.li@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-3047 tests: typo in s-q

In s-q, '$LFS rmdir' should be replaced with 'rmdir'.

Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: Ic828e3b2ab7204bfbf0815062a57cc42dc0e2c0b
Reviewed-on: http://review.whamcloud.com/5865
Tested-by: Hudson
Reviewed-by: Johann Lombardi <johann.lombardi@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
LU-3053 tests: replay-ost-single/6 wait for delete longer

Add similar code from test 7 to test 6 to wait for delete thread and
add variable wait for kbytesfree to settle down.

Test-Parameters: testlist=replay-ost-single mdtfilesystemtype=zfs  mdsfilesystemtype=zfs ostfilesystemtype=zfs
Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: I89c1270ac5196ca43c17f3a5bd722c0555960065
Reviewed-on: http://review.whamcloud.com/5875
Tested-by: Hudson
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Li Wei <wei.g.li@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-3059 lod: shrink lod_object to 128 bytes

By packing ldo_stripes_allocated into the bitfield containing
ldo_striping_cached and ldo_def_striping_set we reduce the size of
struct lod_object from 136 to 128 bytes on x86_64.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: If419560f9187a98fcb034cd9fcd5c854ff467cec
Reviewed-on: http://review.whamcloud.com/5878
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-3098 mdt: continue on LFSCK start error in mdt_prepare()

In mdt_prepare() do not allow failure of the OBD_IOC_START_LFSCK
ioctl() to prevent mount from succeeding on slave MDTs.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: Ie3ab2e61037739e3324f6ec28e5f73be861b58f5
Reviewed-on: http://review.whamcloud.com/5931
Tested-by: Hudson
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-2473 ldiskfs: Add ldiskfs support for RHEL 6.4

Add an ldiskfs kernel patch series to support the RHEL 6.4 kernel.

The ldiskfs series selection macro (LB_LDISKFS_SERIES) is fixed up
to use the AS_VERSION_COMPARE, which allows us to check if the kernel
version is greater than or equal to a specific number, rather than
just a simple pattern match.

Change-Id: I894ace2d98e3d5c7481230794e9edf984bce7aee
Signed-off-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-on: http://review.whamcloud.com/4804
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-2991 osd: Overflow of transaction credits counters

Switching size of transaction credits counters from uchar to
ushort to avoid possible overflow scenarios, like when
wide-striping.
Also allow OSD_TRACK_DECLARES to be undefined without
compile-time errors for unsatisfied-externals/unused vars.

Signed-off-by: Bruno Faccini <bruno.faccini@intel.com>
Change-Id: I2588cf11741ca4e3ee80b795a7d4318f9ed4fd3d
Reviewed-on: http://review.whamcloud.com/5830
Tested-by: Hudson
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-3050 quota: amend sync write checking from 1.8 client

The 1.8 client sync write doesn't carry OBD_BRW_SYNC flag, to
interoperate with 1.8 client, the checking for sync write on OST
should be amended accordingly.

Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: I4179c4878d295dae625f5631b6b02f3b4dd32cb6
Reviewed-on: http://review.whamcloud.com/5928
Reviewed-by: Johann Lombardi <johann.lombardi@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
LU-1812 osd-ldiskfs: oti_obj_dentry needs d_sb set

Commit 431547b3 (v2.6.33) changed the generic xattr handlers to
use dentry->d_sb rather than dentry->d_inode->i_sb.

This patch ensures it's set before calling the xattr ops, which filter
through the generic xattr handlers.

Really, since any call into the kernel using a dentry can deref d_sb,
it should be set so we'll set it for fsync as well.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: James Simmons <uja.ornl@gmail.com>
Change-Id: I0ce38970cd839a220f852f96632b473011adbdc6
Reviewed-on: http://review.whamcloud.com/5120
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-3059 dt: shrink dt_object by 8 bytes on x86_64

Merge struct dt_lock_operations (containing only do_object_lock) into
dt_object_operations.  The DT types that use these two structures do
not have enough variation in their methods to justify separate
structures and it removes an 8 byte pointer member from struct
dt_object.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I4372ba23f0f7691ac86e391772a6a6157311cfda
Reviewed-on: http://review.whamcloud.com/5892
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-2923 ptlrpc: Stop suppressing pings when IR is unavailable

Currently, IR does not notify LWPs and MDT-MDT OSPs of target
recoveries.  This patch removes OBD_CONNECT_PINGLESS from LWP and
MDT-MDT OSP connect requests.

Although an MGC does not know if IR is administratively disabled on
the MGS or if a particular target is mounted with "noir", it can
detect MGSs that do not support IR at all and MGSs that are
unreachable.  This patch stops suppressing pings under those two
cases.

As a cleanup requested by the reviewers, this patch also replaces the
plain OBD_CONNECT_PINGLESS checks with OCD_HAS_FLAG(..., PINGLESS)
macros.

Change-Id: I993b46c8f33413793d9cf2fa1a73b3635996a206
Signed-off-by: Li Wei <wei.g.li@intel.com>
Reviewed-on: http://review.whamcloud.com/5900
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Tested-by: Hudson
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-398 ptlrpc: Add the NRS CRR-N policy

The CRR-N (Client-based Round Robin over NIDs) policy batch-schedules
all types of RPCs in a Round Robin manner according to the NID of the
client that generated the RPC; the maximum size of the batches is
configurable via interaction with lprocfs. The policy aims to provide
for better resource utilization across the cluster, and to help
shorten completion times of jobs in some cases by distributing
available bandwidth more evenly across client nodes.

Signed-off-by: Nikitas Angelinas <nikitas_angelinas@xyratex.com>
Co-authored-by: Liang Zhen <liang@whamcloud.com>
Change-Id: Ie91ee277fc95564908b20fd0d539a274089657ed
Oracle-bug-id: b=13634
Xyratex-bug-id: MRP-73
Reviewed-on: http://review.whamcloud.com/4937
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Liang Zhen <liang.zhen@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-2990 osd-zfs: locate cursor to specified pos via load API

There was defect for zfs-based backend when traverse directory:
the dt_iteration API ::load() did not locate the cursor to the
specified position, then caused non-first directory readpage
RPC obtained repeated entries, and then caused readdir() loop
or unexpected dir hash collision.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I9c159f0f80677590869246dd9f30f0dfb9cc2fbc
Reviewed-on: http://review.whamcloud.com/5894
Tested-by: Hudson
Reviewed-by: Li Wei <wei.g.li@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-2904 llite: use 32bitapi for re-export Lustre via NFS

Since Lustre-2.4, non-IGIF FID for root object will be
returned to client. For 64bit client, it converts such
root FID into a local ino#, which is larger than 2^32.

For the case of re-exporting Lustre via NFS, it works
only when the ino# less than 2^32, which is NFS defect.
So if without proper handling, it cannot re-export the
Lustre root via NFS. Similar issue exists all along on
old version for re-exporting non-root via NFS.

Current solution is that the user who want to re-export
Lustre (in spite of root or not) via NFS needs to mount
the Lustre client with the options "-o 32bitapi". Then
the client will convert 128-bits FID into 32-bits ino#.

This patch handles the options "32bitapi" for the FID
to ino# conversion. And some code cleanup.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I367ebe07d9bd645b312f37d78dfaa10f9f4b8200
Reviewed-on: http://review.whamcloud.com/5711
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Bobi Jam <bobijam@gmail.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>