Revert "cluster/dht: Return success in dht_discover if layout issues"

This reverts commit a3e593f9f17cb1e68db97bb5a0d8074793a33964 which
was bought into fix dht_layout_anomalies error handling.

We still see applications error'ing out due to graph switches.

To fix the above issue -

We cannot heal in dht_discover, as it is a gfid based lookup, and not
path based. So, returning error here would lead to app's to see failure.

Also, update the layout in inode_ctx even if it has anomalies. Let
subsequent heals fix the issue.

Conflicts:
	xlators/cluster/dht/src/dht-common.c

Signed-off-by: shishir gowda <sgowda@redhat.com>
Change-Id: I68c1056c3587e04a02344548546ddd06034489c5
BUG: 960348
Reviewed-on: http://review.gluster.org/5443
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
posix-acl: fixup extended ACL entries properly

Typically when updating cached ACL from backend, we get both iatt and
ACL xattrs (like lookup, readdirplus etc.) However in calls like
setattr(), the mode would have updated but we receive only iatt and not
the ACL xattrs. In such case we need to "spread" the effects of the
changed mode properly into the cached ACL xattr ourselves.

Change-Id: I23a7bc9c14722ff6848e175ed4bbe863a21ce2c9
BUG: 998967
Signed-off-by: Anand Avati <avati@redhat.com>
Reviewed-on: http://review.gluster.org/5979
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amarts@redhat.com>
core: block unused signals in created threads

Block all signal except those which are set for explicit handling
in glusterfs_signals_setup(). Since thread spawning code in
libglusterfs and xlators can get called from application threads
when used through libgfapi, it is necessary to do this blocking.

Change-Id: Ia320f80521a83d2edcda50b9ad414583a0175281
BUG: 1011662
Signed-off-by: Anand Avati <avati@redhat.com>
Reviewed-on: http://review.gluster.org/5995
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
cluster/afr: disable client side self-healing in opendir()

The purpose of opendir() self-healing was to recreate files
which go missing after a crash/reboot (because the file was
created just before the crash).

This refactor addresses crash related healing problems in
the self-heal daemon and therefore eliminates the need for
opendir() self-healing in the client side.

Change-Id: I880e2896429b3ebf3669956040c3c14860494152
Signed-off-by: Anand Avati <avati@redhat.com>
cluster/afr: remove remaining traces of readdir-failover

The feature was removed long ago, but there are still traces left.
Remove all traces.

Change-Id: Icbee156b9db2111b7e6c37ab3e9a0a62e1721272
Signed-off-by: Anand Avati <avati@redhat.com>
cluster/afr: disable open fd self-healing on client side

Change-Id: I9cbef8005e7627f9f34d770b50932a0c32f43fab
Signed-off-by: Anand Avati <avati@redhat.com>
cluster/afr: remove self-healing from lookup()

In AFR lookup() we will only find out which of the copies is good
for reading and save that in the inode ctx.

Change-Id: I33bef58362fb1f0163b7202cf4ad52dc928c3f54
Signed-off-by: Anand Avati <avati@redhat.com>
cluster/afr: move self-heal specific functions to afr-self-heal-common.c

No code change, just re-organize.

Change-Id: Ieddda28c8919a8aac5f5ebfd5d5f6448deea92f6
Signed-off-by: Anand Avati <avati@redhat.com>
cluster/afr: revert (temporarily) fsync based durability fixes

Change-Id: Ifb09d6e69150d335b1c314217738b34d533aaa43
Signed-off-by: Anand Avati <avati@redhat.com>
cluster/afr: remove unused lock recovery code

Lock recovery now happens at protocol/client level. Remove all unused
recovery code in AFR.

Change-Id: Ic1ce01ee17dd1a094b8ca70d5d15319aa1c654f1
Signed-off-by: Anand Avati <avati@redhat.com>
cluster/afr: consistently use xdata sent from up in all transaction fops

This xdata will be loaded with dirty marker and post-op in future patches

Change-Id: Ie21c1b38b20eb0b663d60658c2d24e78d17d90eb
Signed-off-by: Anand Avati <avati@redhat.com>
cluster/afr: keep count of possible consistency changing events

Later, use this to recalculate freshness/staleness per inode.

Change-Id: If2fd882fdd14fcdbec4ee767840264478b67d4ad
Signed-off-by: Anand Avati <avati@redhat.com>
cluster/afr: Implement dirty flag support (in place of pending counts)

Change-Id: I6ccf71a507ad4eece839c80f711096224f0128d2
Signed-off-by: Anand Avati <avati@redhat.com>
cluster/afr: temporarily disable self-heal build

Change-Id: I0cc3e694fb4c711c7e09def24e2f4d5d2b03a5ad
Signed-off-by: Anand Avati <avati@redhat.com>
cluster/afr: eliminate inode ctx

and use read_child + event_generation combination as a long integer.

Also (re)implement all read fops as a transaction to recalculate
read child on every generation bump.

Change-Id: I12490114ba7f2b95c82be576486fcffc266329b5
Signed-off-by: Anand Avati <avati@redhat.com>
cluster/afr: implement inode ctx refreshing based on event generation

Change-Id: I5c1cea1fc8fc98a04a18d401c0d9ac15d4424e43
Signed-off-by: Anand Avati <avati@redhat.com>
cluster/afr: provide backward compatibility in write path

Change-Id: I6d1075fc7746e0fd15e98d92e734a709865c3590
Signed-off-by: Anand Avati <avati@redhat.com>
cluster/afr: remove pump related code

Signed-off-by: Anand Avati <avati@redhat.com>
cluster/afr: general cleanup

- remove unused variables and functions
- make code more consistent in style and pattern

Change-Id: I8f1551f386dc0a680cc463b6d42d5741f52e81f2
Signed-off-by: Anand Avati <avati@redhat.com>
cluster/afr: clean up inode-write transactions

regularize and cleanup inode-write FOPs

Change-Id: I2c7224142b3492058aaa73dab6ea69eb6da55443
Signed-off-by: Anand Avati <avati@redhat.com>