glusterfsd: copyright message

Change-Id: I91accd69e58c90f149ff66e0bfea563a9e59e790
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
BUG: 820551
Reviewed-on: http://review.gluster.org/4431
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Tested-by: Anand Avati <avati@redhat.com>
replicate: fix lock counting in blocking lock path

As of http://review.gluster.org/2828, the blocking lock code
path's condition for checking completion of locking atempt is
broken. The condition -

	if ((child_index == priv->child_count) || ...)

and

	if ((child_index == priv->child_count) && ...)

which is retained to check completion of blocking lock attempts
for DATA/METADATA transaction will _always_ fail because a few
lines above we have -

      child_index = cookie % priv->child_count;

So child_index will never equal priv->child_count. This leaves
the correctness at the mercy of the next part of the
conditional -

	.. (int_lock->lock_count == int_lock->lk_expected_count) ..

This "works" as long as no server went down during the transaction.

If a server goes down in the middle of the transaction, then this
condition also fails, and the code wraps around and starts a
blocking lock attempt loop all the way again from from the first server.
This results in double locks getting acquired on those servers, and
eventually the second condition gets hit (first condition is _never_
hit) and we come out of locking phase.

During unlock phase we perform only one unlock per server leaving the
other lock "leaked" forever.

Change-Id: I7189cdf3f70901b04647516fe1d1e189f36cc8dd
BUG: 765564
Signed-off-by: Anand Avati <avati@redhat.com>
Reviewed-on: http://review.gluster.org/4433
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
storage/posix: skip path construction when dentry list is empty

This is a minor latency optimization to the readdirp path in
storage/posix. During a recursive list, we hit this codepath with
an empty list once per high-level directory to read when end of
directory is reached. Skip constructing hpath, since we don't do
anything with it in this case.

BUG: 903175
Change-Id: I98d7c65505205d55575f064b1e982700f1320cc0
Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-on: http://review.gluster.org/4432
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
glusterd: make 'glusterd_is_local_addr' return bool

Change-Id: Id3bd0bfc4802c166f7a32b0cc6a726aeb5617b5d
BUG: 890618
Signed-off-by: JulesWang <w.jq0722@gmail.com>
Reviewed-on: http://review.gluster.org/4427
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
bug-867253.t: do a clean umount at the end

On some machines, not doing a clean umount of NFS mount results
in a hang, because sometimes the next script's cleanup() kills
NFS server and the client mountpoint hangs forever.

Change-Id: I64798202180c920650272cc19bcbe07d44377ff6
BUG: 867253
Signed-off-by: Anand Avati <avati@redhat.com>
Reviewed-on: http://review.gluster.org/4421
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
cluster/afr: before checking lock_count of internal lock make sure its not
             entrylk

when the expected lock count is equal to the attempted lock count, then before
deciding that lock is failed on all the nodes, make sure the lock type is
checked properly.

Change-Id: I1f362d54320cb6ec5654c5c69915c0f61c91d8c7
BUG: 765564
Signed-off-by: Raghavendra Bhat <raghavendra@redhat.com>
Reviewed-on: http://review.gluster.org/4436
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
quick-read: refactor

- peel out 'open behind' functionality into a separate translator
- issue where, if file size had grown by revalidate, data was not flushed
- removed unnecessary acquistion of table->lock (e.g in qr_lookup())
- keep inode ctx persistent, prune only data (effectively changing the
  order of lock acquisition from INODE -> TABLE)
- validation with readdirplus
- use variable size iobufs to simply cached reads

Change-Id: If1586d0298fd1697ddff9fd7008efb3d286d436a
BUG: 846240
Signed-off-by: Anand Avati <avati@redhat.com>
Reviewed-on: http://review.gluster.org/4403
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
bug-765564.t: fix path for file to rename

The script assumed it was chdir'ed into the mount point while it
was not. There also happened to be (conincidentally) a directory
of name 'a' in the workspace. The first the script was run, the
rename succeeded. All future tests are failing as the directory
already exists.

Change-Id: I92ad62e7893c03bb3f2af75c51d35bc35866dafe
Signed-off-by: Anand Avati <avati@redhat.com>
BUG: 765564
Reviewed-on: http://review.gluster.org/4442
Tested-by: Gluster Build System <jenkins@build.gluster.com>
fd: filter anonymous FD from fd_lookup() result

Those callers whose requirements can accommodate an anonymous FD
need to call fd_anonymous(). fd_lookup() is strictly for open()ed
file descriptors only.

Change-Id: I5d8da3db0f44b2e2161d345d7a662cfd4ef87500
BUG: 846240
Signed-off-by: Anand Avati <avati@redhat.com>
Reviewed-on: http://review.gluster.org/4404
Tested-by: Gluster Build System <jenkins@build.gluster.com>
fd: expose __fd_ctx_del symbol

used by open-behind for deleting context in locked critical region

Change-Id: I3380152211fed6aacbb719468b720376e6ec1e7c
BUG: 846240
Signed-off-by: Anand Avati <avati@redhat.com>
Reviewed-on: http://review.gluster.org/4405
Tested-by: Gluster Build System <jenkins@build.gluster.com>
performance/md-cache: add force-readdirp flag to make readdirp configurable

md-cache currently transforms all readdir fops into readdirp fops.
This patch creates the 'force-readdirp' configuration flag to
provide control over this behavior. force-readdirp is enabled by
default to maintain current default behavior.

BUG: 903175
Change-Id: Idd70926dec7c271204bdfb11fb052e56d0a39420
Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-on: http://review.gluster.org/4440
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Tests: Fix latency calculation

Idea is to make sure that the FINODELK max latency is not
in the order of seconds.

Change-Id: Ic47dc46c3b2d24d223fe7e2212c4c035de37c9ae
BUG: 895235
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
Reviewed-on: http://review.gluster.org/4434
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
mgmt/glusterd: Expose post-op-delay through cli

Change-Id: I13e3699bd58d53896ae54e1bfafb3cd1c9580c7c
BUG: 905307
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
Reviewed-on: http://review.gluster.org/4443
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>