6843 Commits

Author SHA1 Message Date
Vijaikumar M
9f41712d06 glusterd: Error msg for snapshot status for no existing snaps
should be aligned with error messages of info and list

When a snapshot operation like status, info, list
performed on a non-existing snapshot.
For Status error message is displayed as 'Snap not found'
For List and Info error message is displayed as 'Snapshot does not exist'
Have the consistant error message all the places

Change-Id: I7b241217dba62fda844481731a6858e4ecb12897
BUG: 1119641
Signed-off-by: Vijaikumar M <vmallika@redhat.com>
Reviewed-on: http://review.gluster.org/8309
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Tested-by: Krishnan Parthasarathi <kparthas@redhat.com>
2014-07-30 02:39:37 -07:00
Rajesh Joseph
8732ee5319 glusterd/snapshot: Proper err msg for snapshot create command
problem: Snapshot command fails if one or more bricks are not thinly
provisioned. But the error message is a generic error message which
is confusing to the user.

fix: Provide correct error message in case of failure.

Change-Id: Iad247f966423a8f73ef6da57cab7ed6cddc05861
BUG: 1123646
Signed-off-by: Rajesh Joseph <rjoseph@redhat.com>
Reviewed-on: http://review.gluster.org/8377
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Tested-by: Krishnan Parthasarathi <kparthas@redhat.com>
2014-07-30 02:35:02 -07:00
Atin Mukherjee
7d74792d22 cli : glusterd getspec usage correction
gluster system getspec asks to input volume-id instead of volume name

Change-Id: I0baef9c937fc8948477aa65c8f98916b28c1e484
BUG: 1121870
Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
Reviewed-on: http://review.gluster.org/8342
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Tested-by: Krishnan Parthasarathi <kparthas@redhat.com>
2014-07-30 02:31:34 -07:00
Nithya Balachandran
df770496ba dht: fix rename race
Additional check to check if we created the linkto
file before deleting it in the rename cleanup function

Change-Id: I919cd7cb24f948ba4917eb9cf50d5169bb730a67
BUG: 1117851
Signed-off-by: Nithya Balachandran <nbalacha@redhat.com>
Reviewed-on: http://review.gluster.org/8338
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-07-30 02:19:17 -07:00
Raghavendra G
45fbf99cb6 storage/posix: removing deleting entries in case of creation failures
The code is not atomic enough to not to delete a dentry created by a
prallel dentry creation operation.

Change-Id: I9bd6d2aa9e7a1c0688c0a937b02a4b4f56d7aa3d
BUG: 1117851
Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
Reviewed-on: http://review.gluster.org/8327
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-07-30 02:17:52 -07:00
Sachin Pandit
b56719fc47 doc : man page and admin-guide for newly introduced snapshot delete option.
Change-Id: Iab5e7f63d673a2040e8d83ab7280121ff468836e
BUG: 1112613
Signed-off-by: Sachin Pandit <spandit@redhat.com>
Reviewed-on: http://review.gluster.org/8378
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Kaushal M <kaushal@redhat.com>
2014-07-29 22:52:13 -07:00
Atin Mukherjee
67a6f402d4 libgfapi : glfs_create()/glfs_h_creat()/glfs_open()/glfs_h_open() should set
fd->flags before syncop_open()

glfs_create() and glfs_open() do not set fd->flags before calling syncop_open().
This patch addresses this problem and ensure the flags are set in fd before
invoking syncop_open()

Change-Id: I9ef3243b1de610e1dd1a3e37b66fc2f763a865f9
BUG: 1096047
Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
Reviewed-on: http://review.gluster.org/7999
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Reviewed-by: Humble Devassy Chirammal <humble.devassy@gmail.com>
Reviewed-by: Anand Avati <avati@redhat.com>
2014-07-28 23:35:17 -07:00
Emmanuel Dreyfus
a95444c95c Regression test portability: ps
ps aux is truncated to the terminal width on NetBSD, Use ps auxww to
avoid that

BUG: 764655
Change-Id: I28a2fc23e2823dd6524a72da30111b86fc4bfa7b
Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org>
Reviewed-on: http://review.gluster.org/8281
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Harshavardhana <harsha@harshavardhana.net>
Tested-by: Harshavardhana <harsha@harshavardhana.net>
2014-07-28 17:41:42 -07:00
Emmanuel Dreyfus
38bae1bcf9 Regression test portability: hostname
The --fqdn option to hostname is Linux only
This is resubmission of the same patch. I assume the regression test
is a test bug

BUG: 764655
Change-Id: I6437124186435f10d1ee6a847e2593554d633716
Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org>
Reviewed-on: http://review.gluster.org/8282
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Harshavardhana <harsha@harshavardhana.net>
Tested-by: Harshavardhana <harsha@harshavardhana.net>
2014-07-28 17:40:49 -07:00
Kotresh H R
195594585e tests/bug-961307.t: echo output string in case of failure for easy debug.
Change-Id: I5bb5d7f2d9380da3247588e8eff10b559e17ff3f
BUG: 1122533
Signed-off-by: Kotresh H R <khiremat@redhat.com>
Reviewed-on: http://review.gluster.org/8362
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-07-27 13:38:31 -07:00
Anders Blomdell
f8496dab2f Allow gluster to be used with linux automounter
Added (ignored) -n option to mount.glusterfs command

Change-Id: I9209da215d38507cd9d01b1e9af4aecff4414f83
BUG: 1123004
Signed-off-by: Anders Blomdell <anders.blomdell@control.lth.se>
Reviewed-on: http://review.gluster.org/8373
Reviewed-by: Harshavardhana <harsha@harshavardhana.net>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Humble Devassy Chirammal <humble.devassy@gmail.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-07-27 13:37:36 -07:00
Krutika Dhananjay
3e7c3b2512 rpc,glusterd: Set ret to 0 after call to rpc_clnt_submit()
This is to guard against a double STACK_DESTROY in the event that
rpc_clnt_submit() failed and returned -1 anytime after sending the
request over the wire. in which case the stack could be destroyed
twice: once in the callback function of the request and once in
the error codepath of some of the callers of glusterd_submit_request().
This bug was introduced in http://review.gluster.org/#/c/8257/

Change-Id: I18a345db6eafc62ba312743201ced7d3f8697622
BUG: 1116243
Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
Reviewed-on: http://review.gluster.org/8301
Reviewed-by: Harshavardhana <harsha@harshavardhana.net>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-07-27 13:36:46 -07:00
Pranith Kumar K
7b7f853333 doc: How to generate and read statedump
Thanks to Poornima G's help with iobuf
Section explanation.

Change-Id: I17737fdbd1f402914f7e67fb4047f5c26ea5c36c
BUG: 1118309
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
Reviewed-on: http://review.gluster.org/8288
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Ravishankar N <ravishankar@redhat.com>
Reviewed-by: Krutika Dhananjay <kdhananj@redhat.com>
Reviewed-by: Humble Devassy Chirammal <humble.devassy@gmail.com>
Reviewed-by: Prashanth Pai <ppai@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-07-27 13:35:51 -07:00
Emmanuel Dreyfus
5986d22e62 Attempt to fix cmockery2 build
The current code assumes cmockery2 is installed in default paths.
Use PKG_MODULES_CHECK to find it using pkg-config if it is not. If
not found by pkg-config, try AC_CHECK_LIB.

There are also some build flag adjustement so that local overrides
do not loose the required -I flags.

This includes and enhance http://review.gluster.org/8340/

BUG: 764655
Change-Id: Ide9f77d1e70afe3c1c5c57ae2b93127af6a425f9
Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org>
Reviewed-on: http://review.gluster.org/8365
Reviewed-by: Harshavardhana <harsha@harshavardhana.net>
Tested-by: Harshavardhana <harsha@harshavardhana.net>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
2014-07-27 11:57:24 -07:00
Sachin Pandit
35c6ca05d8 feature/snapshot : Interface to delete all snapshots belonging
to a system as-well-as to a particular volume.

Problem :
With the current design we can only delete a single snapshot.
And the deletion of volume which contains snapshot is not allowed.
Because of that user might be forced to delete all the snapshots
manually before he is allowed to delete a volume.

Solution:
Following is the interface with which user can delete
all the snapshots of a system or belonging to a particular volume.

        Syntax : gluster snapshot delete all

        *To delete all the snapshots present in a system

        Syntax : gluster snapshot delete volume <volname>

        *To deletes all the snapshot present in a volume specified.

========================================================================
Sample Output:

Case 1 : Deleting a single snapshot.
[root@snapshot-24 glusterfs]# gluster snapshot delete snap1
Deleting snap will erase all the information about the snap. Do you still want to continue? (y/n) y
snapshot delete: snap1: snap removed successfully

-----------------------------------------------------------------
Case 2 : Deleting all the snapshots in a Volume.
[root@snapshot-24 glusterfs]# gluster snapshot delete volume vol1
Volume (vol1) contains 9 snapshot(s).
Do you still want to continue and delete them?  (y/n) y
snapshot delete: snap2: snap removed successfully
snapshot delete: snap3: snap removed successfully
snapshot delete: snap4: snap removed successfully
snapshot delete: snap5: snap removed successfully
.
.
.

-----------------------------------------------------------------
Case 3 : Deleting all the snapshots in a system.
[root@snapshot-24 glusterfs]# gluster snapshot delete all
System contains 4 snapshot(s).
Do you still want to continue and delete them?  (y/n) y
snapshot delete: snap7: snap removed successfully
snapshot delete: snap8: snap removed successfully
snapshot delete: snap9: snap removed successfully
snapshot delete: snap10: snap removed successfully
========================================================================

Change-Id: Ifec8e128ab2011cbbba208376b9c92cfbe7d8d71
BUG: 1112613
Signed-off-by: Sachin Pandit <spandit@redhat.com>
Reviewed-on: http://review.gluster.org/8162
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Avra Sengupta <asengupt@redhat.com>
Reviewed-by: Raghavendra Bhat <raghavendra@redhat.com>
Reviewed-by: Kaushal M <kaushal@redhat.com>
2014-07-25 03:23:44 -07:00
Sachin Pandit
fb730072c2 doc : man page for snapshot commands
This patch also contains few modifications in admin documentation.

Change-Id: I7bc2a88e6cbcfe81dcfafc2956f5b7c5524b0f0b
BUG: 1122399
Signed-off-by: Sachin Pandit <spandit@redhat.com>
Reviewed-on: http://review.gluster.org/8357
Reviewed-by: Avra Sengupta <asengupt@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Kaushal M <kaushal@redhat.com>
2014-07-24 23:46:07 -07:00
Ravishankar N
c57895242f glusterd: update volinfo->subvol_count during remove-brick operation.
Problem:
In glusterd_op_remove_brick(), volinfo->subvol_count was getting updated only if
the replica count was reduced due to which subvol_matcher_verify() gave false
errors under certain scenarios (see bug description).

Fix:
updated subvol_count for every remove-brick operation.

Change-Id: Id72691e2bda1c624cd7d8cae92f6bf32c101a6d3
BUG: 1120647
Signed-off-by: Ravishankar N <ravishankar@redhat.com>
Reviewed-on: http://review.gluster.org/8326
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
Reviewed-by: Kaushal M <kaushal@redhat.com>
2014-07-24 23:29:01 -07:00
Harshavardhana
88eb28678c glusterd: Avoid spurious WARNING 'op_ctx modification failed'
This patch fixes by wrapping this whole scenario and skips
op_ctx modification for necessary commands.

Change-Id: I3ecec19caefdc699d9a2dabfb456a89758ae4aa4
BUG: 1066529
Signed-off-by: Harshavardhana <harsha@harshavardhana.net>
Reviewed-on: http://review.gluster.org/8337
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Tested-by: Krishnan Parthasarathi <kparthas@redhat.com>
2014-07-24 21:08:53 -07:00
ndarshan
54cfb7dab4 cli: Xml output for geo-replication status command.
This patch adds xml output for geo-replication status
and status detail command.
sample:
--------------------------------------------------------------
  <geoRep>
    <volume>
      <name>master</name>
      <sessions>
        <session>
        <session_slave>:2a301d66-b9d2-44b4-b827-d680d67123eb:ssh://XXXXXXXXXX::slave</session_slave>
          <pair>
            <master_node>localhost.localdomain</master_node>
            <master_node_uuid>2a301d66-b9d2-44b4-b827-d680d67123eb</master_node_uuid>
            <master_brick>/root/master_b1</master_brick>
            <slave>ssh://XXXXXXXXXXX::slave</slave>
            <status>faulty</status>
            <checkpoint_status>N/A</checkpoint_status>
            <crawl_status>N/A</crawl_status>
          </pair>
        </session>
      </sessions>
    </volume>
  </geoRep>
-------------------------------------------------------------

Change-Id: Ia19dbe751c3ab1ec7cb8923cdd6c8b99c374072f
BUG: 1121518
Signed-off-by: ndarshan <dnarayan@redhat.com>
Reviewed-on: http://review.gluster.org/8089
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Kaushal M <kaushal@redhat.com>
2014-07-24 05:05:53 -07:00
Vijaikumar M
ddd132a3b2 glusterd/snapshot: Print correct error message on cli
for snapshot operation performed on a cluster with
op-version less than 30600

Currently we get error message as  on cli 'Another transaction is in progress
Please try again after sometime' when a snapshot operation is performed
on a cluster with op-version less than 30600.
We need to print the correct error message in this case.

Change-Id: I5f144428d928393c3796bde96ce6e3a40fca8141
BUG: 1122816
Signed-off-by: Vijaikumar M <vmallika@redhat.com>
Reviewed-on: http://review.gluster.org/8371
Reviewed-by: Avra Sengupta <asengupt@redhat.com>
Reviewed-by: Sachin Pandit <spandit@redhat.com>
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Kaushal M <kaushal@redhat.com>
2014-07-24 05:03:37 -07:00
Kaushal M
6328019bd1 cli: Fix no libxml compilation for snapshot status
BUG: 1122186
Change-Id: Ib887f2194258e85d40f65a758b6a963a17911395
Signed-off-by: Kaushal M <kaushal@redhat.com>
Reviewed-on: http://review.gluster.org/8363
Reviewed-by: Rajesh Joseph <rjoseph@redhat.com>
Reviewed-by: Santosh Pradhan <spradhan@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
2014-07-24 03:04:38 -07:00
Sachin Pandit
00bcf8e80b cli/snapshot : Dont display the snapshot hard-limit, soft-limit
and auto-delete value in gluster volume info.

Problem : Even though snap-max-hard-limit, snap-max-soft-limit and
auto-delete values were not set explicitly, It was getting showed
in the output of gluster volume info.

Solution : Check if the value is already present in dictionary
(That means, it is set), If value is not present then consider
the default value,

NOTE : This patch doesn't solve the problem where the values
which is set globally are being displayed in gluster volume info

Change-Id: I61445b3d2a12eb68c38a19bea53b9051ad028050
BUG: 1113476
Signed-off-by: Sachin Pandit <spandit@redhat.com>
Reviewed-on: http://review.gluster.org/8191
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
Reviewed-by: Avra Sengupta <asengupt@redhat.com>
Reviewed-by: Raghavendra Bhat <raghavendra@redhat.com>
Reviewed-by: Kaushal M <kaushal@redhat.com>
2014-07-24 03:03:53 -07:00
Aravinda VK
f4110bed92 geo-rep: minimize xsync crawl usage and set upper limit to xsync crawl
For effective handling of deletes and renames use history crawl
as much as possible. History crawl will run in loop till it syncs
all data before live changelog time.

When it uses xsync crawl(fallback when changelog not available, or
very first crawl) it sets upper limit to crawl.

After completing History crawl, it checks actual end time returned
by history api to compare with register time, if actual end is less
than register time then run history crawl one more time.

If first turn history processing time is less than the CHANGELOG
ROLLOVER TIME then sleep for the difference, After sleep if it is
guaranteed that rollover will happen and switches to live changelog
consumption without switching to xsync. This sleep is only when
history processing completed < CHANGELOG_ROLLOVER_TIME and sleep
only after the first turn, So will not affect the performance.

BUG: 1112238
Change-Id: I644ef24b07e42e81cec96a025ebd21244a555ec0
Signed-off-by: Aravinda VK <avishwan@redhat.com>
Reviewed-on: http://review.gluster.org/8151
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Tested-by: Venky Shankar <vshankar@redhat.com>
2014-07-23 20:36:02 -07:00
Venky Shankar
8a24b1487d features/changelog: Capture "correct" internal FOPs
This patch fixes changelog capturing internal FOPs in a cascaded
setup, where the intermediate master would record internal FOPs
(generated by DHT on link()/rename()). This is due to I/O happening
on the intermediate slave on geo-replication's auxillary mount with
client-pid -1. Currently, the internal FOP capturing logic depends
on client pid being non-negative and the presence of a special key
in dictionary. Due to this, internal FOPs on an inter-mediate master
would be recorded in the changelog. Checking client-pid being
non-negative was introduced to capture AFR self-heal traffic in
changelog, thereby breaking cascading setups. By coincidence,
AFR self-heal daemon uses -1 as frame->root->pid thereby making
is hard to differentiate b/w geo-rep's auxillary mount and self-heal
daemon.

Change-Id: Ib7bd71e80dd1856770391edb621ba9819cab7056
BUG: 1122037
Original-Author: Venky Shankar <vshankar@redhat.com>
Signed-off-by: Kotresh H R <khiremat@redhat.com>
Reviewed-on: http://review.gluster.org/8347
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-07-23 16:15:21 -07:00
Emmanuel Dreyfus
1706151a42 Disable Erasure Code xlator if MMX is missing
Erasure Code xlator requires MMX instruction set.
Disable building it if MMX is missing.

BUG: 764655
Change-Id: Id9fe87db33e00c5630c1f3633ebd50fc4ebaec4d
Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org>
Reviewed-on: http://review.gluster.org/8366
Reviewed-by: Xavier Hernandez <xhernandez@datalab.es>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-07-23 16:13:38 -07:00
Kaushal M
f86d3facd3 Bump op-version for 3.7.0
Change-Id: I4542edeca140bc2252d765b5cfc2e24d1d90cdb1
BUG: 1122398
Reviewed-on: http://review.gluster.org/8354
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Kaushal M <kaushal@redhat.com>
2014-07-23 08:13:44 -07:00
Harshavardhana
b1cf59bf13 porting: include compat-errno.h for errno's
disperse module fails to compile since
ENODATA is non-existent on FreeBSD/Darwin

Use errno conversion in compat-errno.h to avoid
build issues.

Change-Id: I8203b7195c198c77202bde9bbec1813a487f923a
BUG: 1111774
Signed-off-by: Harshavardhana <harsha@harshavardhana.net>
Reviewed-on: http://review.gluster.org/8320
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Humble Devassy Chirammal <humble.devassy@gmail.com>
2014-07-22 09:50:58 -07:00
Varun Shastry
56ffb16474 features/marker: Fill loc->path before sending the control to healing
Problem:
The xattr healing part of the marker requires path to be present in the loc.
Currently path is not filled while triggering from the readdirp_cbk.

Solution:
Current patch tries to fill the loc with path.

Change-Id: I5c7dc9de60fa79ca0fe9b58d2636fd1355add0d3
BUG: 1118591
Signed-off-by: Varun Shastry <vshastry@redhat.com>
Reviewed-on: http://review.gluster.org/8296
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
Tested-by: Raghavendra G <rgowdapp@redhat.com>
2014-07-22 08:56:52 -07:00
ndarshan
5e1872c464 cli: Xml output for geo-replication config command
This patch adds xml output for geo-replication config
command.
sample:
---------------------------------------------------------------------
<cliOutput>
  <opRet>0</opRet>
  <opErrno>0</opErrno>
  <opErrstr/>
  <geoRep>
    <config>
      <parameter1_name>value</parameter1_name>
      <parameter2_name>value</parameter2_name>
      ...
      ...
      ...
    </config>
  </geoRep>
</cliOutput>
---------------------------------------------------------------------

Change-Id: Iac0451983ae5d0e65b95604eb1c29b968e1ee22f
BUG: 1121518
Signed-off-by: ndarshan <dnarayan@redhat.com>
Reviewed-on: http://review.gluster.org/8270
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Kaushal M <kaushal@redhat.com>
2014-07-22 00:24:50 -07:00
Xavier Hernandez
464ff8f759 ec: Fixed coveriry scan issues
CID list:

  1226163 Logically dead code
  1226166 Missing break in switch
  1226167 Missing break in switch
  1226168 Missing break in switch
  1226169 Missing break in switch
  1226170 Missing break in switch
  1226171 Missing break in switch
  1226172 Missing break in switch
  1226173 Missing break in switch
  1226174 Missing break in switch
  1226175 Missing break in switch
  1226176 Missing break in switch
  1226177 Missing break in switch
  1226178 Data race condition
  1226179 Data race condition
  1226180 Data race condition
  1226181 Thread deadlock
  1226182 Uninitialized pointer read
  1226183 Uninitialized pointer read
  1226184 Read from pointer after free

Change-Id: I4d33aa42289371927175c43bb29e018df64fb943
BUG: 789278
Signed-off-by: Xavier Hernandez <xhernandez@datalab.es>
Reviewed-on: http://review.gluster.org/8317
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-07-21 18:39:46 -07:00
Avra Sengupta
f6ddb4675c gluster: Fix the recursive goto outs in the source code.
Added a script check_goto.pl, that when run from
the source code root, will scan all .c files to match
the following pattern:

label:
        if (condition)
            goto label;

On finding such a pattern the script will print the file name
and the line number. There are certain cases where the above
recursive pattern is intended. Hence adding those labels to
ignore-labels. Thanks Vijaikumar Mallikarjuna for the perl
script.

Also fixed all such existing errors

Change-Id: I1b821d0a8c296f16e40faff20bd029bdc880c2e9
BUG: 1119256
Signed-off-by: Vijaikumar Mallikarjuna <vmallika@redhat.com>
Signed-off-by: Avra Sengupta <asengupt@redhat.com>
Reviewed-on: http://review.gluster.org/8307
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Tested-by: Krishnan Parthasarathi <kparthas@redhat.com>
2014-07-21 10:26:20 -07:00
Anders Blomdell
5b8de971a4 Use C-locale for numeric/string conversion routines
(strtod, ...) or config file parsing might fail.


Change-Id: I649f29bbf87222399a0c2d1ed5a3bf136c613b9b
BUG: 1117951
Signed-off-by: Anders Blomdell <anders.blomdell@control.lth.se>
Reviewed-on: http://review.gluster.org/8299
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Prashanth Pai <ppai@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-07-19 14:15:48 -07:00
Tiziano Müller
57c61d70ec build: add libraries to LIBADD instead of LDFLAGS
For a number of linker flags the order of the object files and the libs
to link against matter (for example -Wl,--as-needed). Make sure that
libraries are added via the LIBADD variable instead of LDFLAGS and
therefore always come after the object files.

Change-Id: I59d114752a0c7664b8678a72082ba5e445497fe5
Signed-off-by: Tiziano Müller <tiziano.mueller@stepping-stone.ch>
Reviewed-on: http://review.gluster.org/8331
Reviewed-by: Harshavardhana <harsha@harshavardhana.net>
Reviewed-by: Prashanth Pai <ppai@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-07-19 14:14:03 -07:00
Harshavardhana
d30c3dcf11 fuse: fuse_readlink_cbk() - linkname NULL termination unnecessary
op_ret incremented to compensate for NULL terminating character
leads to self referential loop where OSXFUSE which would reply
on a same READLINK() over and over again

~~~
[2014-07-12 08:41:29.815473]
   T [fuse-bridge.c:1372:fuse_readlink_cbk] 0-glusterfs-fuse:
                                              1: /a/b/1 => ../../1
[2014-07-12 08:41:29.815820]
   T [fuse-bridge.c:1372:fuse_readlink_cbk] 0-glusterfs-fuse:
                                              0: /a/b/1 => ../../1
[2014-07-12 08:41:29.816165]
   T [fuse-bridge.c:1372:fuse_readlink_cbk] 0-glusterfs-fuse:
                                              1: /a/b/1 => ../../1
~~~

It happens due to the problem being (op_ret + 1) > strlen(linkname),
for some odd reason this isn't an issue on Linux where there are odd
safegaurds on these things - Example of following code

~~~
((char *)linkname)[op_ret] = '\0';
send_fuse_data (this, finh, (void *)linkname, op_ret + 2048); <---- Here!
~~~

This behaves normally with no issue, the reasoning i have is that
internally 'readlink()' is verified with strlen() again or perhaps the size
is re-adjusted to the strlen() of `linkname`

This isn't the case on OSX, one needs to make sure that
~~~
strlen(linkname) == op_ret
~~~
Otherwise you would get READLINK() loops as shown above.

This patch fixes the problem.

Many thanks to Anand Avati for helping me out on this.

Change-Id: Ia35818de78a5e4d89bad03ab06e2c5ed6e6753a4
BUG: 1095525
Signed-off-by: Harshavardhana <harsha@harshavardhana.net>
Reviewed-on: http://review.gluster.org/8300
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
2014-07-18 18:37:10 -07:00
Harshavardhana
f548db88ad porting: extattr_remove_fd() doesn't exist
Fix typo extattr_remove_fd() --> extattr_delete_fd()

Change-Id: I0dc3399722eb272d3c04836726e22b212ef15eba
BUG: 1111774
Signed-off-by: Harshavardhana <harsha@harshavardhana.net>
Reviewed-on: http://review.gluster.org/8319
Tested-by: Gluster Build System <jenkins@build.gluster.com>
2014-07-18 15:58:55 -07:00
Luis Pabon
13f644f783 build: Support for unit tests using Cmockery2
This patch will allow for developers to create unit tests for
their code.  Documentation has been added to the patch and
is available here:

doc/hacker-guide/en-US/markdown/unittest.md

Also, unit tests are run when RPM is created.

This patch is a replacement for http://review.gluster.org/#/c/7281
which removed unit test infrastucture from the repo due to multiple
conflicts.  Cmockery2 is now available in Fedora and EPEL, and soon
to be available in Debian and Ubuntu.  For all other operating
systems, please install from the source:

https://github.com/lpabon/cmockery2

BUG: 1067059

Change-Id: I1b36cb1f56fd10916f9bf535e8ad080a3358289f
Signed-off-by: Luis Pabón <lpabon@redhat.com>
Reviewed-on: http://review.gluster.org/7538
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Niels de Vos <ndevos@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-07-18 10:55:51 -07:00
Pranith Kumar K
c7f617dfe6 features/gfid-access: Print real-gfid in statedump
Change-Id: I1cac8f3ccfcf1fda64ff8470d4f2000d05dcab63
BUG: 1117733
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
Reviewed-on: http://review.gluster.org/8271
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Kotresh HR <khiremat@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-07-18 04:43:37 -07:00
Susant Palai
d7c725f4ac DHT/mkdir : Fill the stbuf from the subvols on which directory creation
was successful.

Problem: In case a mkdir sees EEXIST on a non-hashed subvol it reports
error to the application.

Change-Id: I44b2f32fc1069e609d788b6d25b9366b1460395c
BUG: 1114557
Signed-off-by: Susant Palai <spalai@redhat.com>
Reviewed-on: http://review.gluster.org/8203
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Shyamsundar Ranganathan <srangana@redhat.com>
Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
Reviewed-by: Anders Blomdell <anders.blomdell@control.lth.se>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-07-18 04:38:18 -07:00
Raghavendra Talur
37b82b8abe protocol/client: Log ENOENT and ENODATA messages to debug.
Change-Id: I6f8ccf1650ff74e46e5a93a6701d4e694118b273
BUG: 1120136
Signed-off-by: Raghavendra Talur <rtalur@redhat.com>
Reviewed-on: http://review.gluster.org/8315
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-07-18 04:35:07 -07:00
Venkatesh Somyajulu
74d92e322e cluster/dht: Fix races to avoid deletion of linkto file
Explanation of Race between rebalance processes:
https://bugzilla.redhat.com/show_bug.cgi?id=1110694#c4

STATE 1:                          BRICK-1
only one brick                   Cached File
in the system

STATE 2:
Add brick-2                       BRICK-1                BRICK-2

STATE 3:                                       Lookup of File on brick-2
                                               by this node's rebalance
                                               will fail because hashed
                                               file is not created yet.
                                               So dht_lookup_everywhere is
                                               about to get called.

STATE 4:                         As part of lookup
                                 link file at brick-2
                                 will be created.

STATE 5:                         getxattr to check that
                                 cached file belongs to
                                 this node is done

STATE 6:

                                            dht_lookup_everywhere_cbk detects
                                            the link created by rebalance-1.
                                            It will unlink it.

STATE 7:                        getxattr at the link
                                file with "pathinfo" key
                                will be called will fail
                                as the link file is deleted
                                by rebalance on node-2

Fix:
So in the STATE 6, we should avoid the deletion of link file. Every time
dht_lookup_everywhere gets called, lookup will be performed on all the nodes.
So to avoid STATE 6, if linkto file is found, it is not deleted until valid
case is found in dht_lookup_everywhere_done.

Case 1: if linkto file points to cached node, and cached file exists,
        uwind with success.

Case 2: if linkto does not point to current cached node, and cached file
        exists:
        a) Unlink stale link file
        b) Create new link file

Case 3: Only linkto file exists:
        Delete linkto file

Case 4: Only cached file
        Create link file (Handled event without patch)

Case 5: Neither cached nor hashed file is present
        Return with ENOENT (handled even without patch)

Change-Id: Ibf53671410d8d613b8e2e7e5d0ec30fc7dcc0298
BUG: 1116150
Signed-off-by: Venkatesh Somyajulu <vsomyaju@redhat.com>
Reviewed-on: http://review.gluster.org/8231
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Tested-by: Vijay Bellur <vbellur@redhat.com>
2014-07-18 03:11:06 -07:00
Susant Palai
52da727e75 DHT/Create : Failing to identify a linkto file in lookup_everywhere_cbk path
In case a file is not found in its cached subvol we proceed with
dht_lookup_everywhere. But as we dont add the linkto xattr to the
dictionary, we fail to identify any linkto file encountered.The
implication being we end up thinking the linkto file as a regular file
and proceed with the fop.

Change-Id: Iab02dc60e84bb1aeab49182f680c0631c33947e2
BUG: 1117923
Signed-off-by: Susant Palai <spalai@redhat.com>
Reviewed-on: http://review.gluster.org/8277
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
2014-07-17 12:26:49 -07:00
Jeff Darcy
950f9d8abe dht: fix rename race
If two clients try to rename the same file at the same time, we
sometimes end up with *no file at all* in either the old or new
location.  That's kind of bad.  The culprit seems to be some overly
aggressive cleanup code.  AFAICT, based on today's study of the code,
the intent of the changed section is to remove any linkfile we might
have created before the actual rename.  However, what we're removing
might not be our extra link.  If we're racing with another client that's
also doing a rename, it might be the only remaining link to the user's
data.  The solution, which is good enough to pass this test but almost
certainly still not complete, is to be more selective about when we do
this unlink.  Now, we only do it if we know that, at some point, we did
in fact create the link without error (notably ENOENT on the source or
EEXIST on the destination) ourselves.

Change-Id: I8d8cce150b6f8b372c9fb813c90be58d69f8eb7b
BUG: 1117851
Signed-off-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-on: http://review.gluster.org/8269
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-07-17 10:30:56 -07:00
Kaushal M
8896ffd86b glusterd: Correctly reset volinfo->caps during volume create
Change-Id: I012899be08a06d39ea5c9fb98a66acf833d7213f
BUG: 1120589
Signed-off-by: Kaushal M <kaushal@redhat.com>
Reviewed-on: http://review.gluster.org/8323
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Tested-by: Krishnan Parthasarathi <kparthas@redhat.com>
2014-07-17 05:21:00 -07:00
Harshavardhana
e291ce0531 porting: use __builtin_ffsll() instead of ffsll()
- NetBSD/Darwin doesn't implement ffsll()
- use Compiler builtin

Change-Id: Iee78b4b81747b0bd3877fd2fcb98746f642ce080
BUG: 764655
Signed-off-by: Harshavardhana <harsha@harshavardhana.net>
Reviewed-on: http://review.gluster.org/8308
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Xavier Hernandez <xhernandez@datalab.es>
Reviewed-by: Justin Clift <justin@gluster.org>
2014-07-16 15:28:52 -07:00
Soumya Koduri
119109e952 libgfapi: Fixed an issue with healing files during glfs_resolve
While resolving any path during the first lookup, libgfapi
          should generate and send gfid as well along with the new inode
          created to the syncop_lookup(..) so that POSIX translator
          can heal the files with missing gfid using the new gfid passed.

          This wasn't happening correctly in the current "glfs_resolve_component(..)"
          implementation. Fixed the same.

          Also have added the changes from http://review.gluster.org/5337 in
          libgfapi, which is a fix to unlink the inode on revalidate if entry not found.

          In addition to the above, have cleaned up a redundant gfapi log mesage.

Change-Id: I0757dda782d16ba6bdbe7ebdbde9c43381229b0a
BUG: 1116854
Signed-off-by: Soumya Koduri <skoduri@redhat.com>
Reviewed-on: http://review.gluster.org/7976
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Poornima G <pgurusid@redhat.com>
Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-07-16 04:48:20 -07:00
Raghavendra Bhat
1dea949cb6 make snapview-server more compatible with NFS server
* There was no handle based API for listxattr. With this change, glfs_h_getxattrs
  also handles the listxattr functionality by checking whether the name is NULL
  or not (like posix). But all the gfapi functions for listxattr
  (glfs_h_getxattrs AND glfs_listxattr AND glfs_flistxattr) returns the names of
  the xattrs in a buffer provided by the caller. But snapview-server has to
  return the list of xattrs in a dict itself (similar to posix xlator). But
  the buffer just contains the names of the xattrs. So for each xattr, a zero
  byte value is set (i.e. "") into the dict and sent back. Translators which
  do xattr caching (as of now md-cache which caches selinux and acl related
  xattrs) should not cache those xattrs whose value is a zero byte data ("").
  So made changes in md-cache to ignore zero byte values.

* NFS server was not linking the inodes to inode table in readdirp. This was
  leading to applications getting errors. The below set of operations would
  lead to applications getting error
  1) ls -l in one of the snaopshots (snapview-server would generate gfids for
     each entry on the fly and link the inodes associated with those entries)
  2) NFS server upon getting readdirp reply would not link the inodes of the
     entries. But it used to generate filehandles for each entry and associate
     the gfid of that entry with the filehandle and send it as part of the
     reply to nfs client.
  3) NFS client would send the filehandle of one of those entries when some
     activity is done on it.
  4) NFS server would not be able to find the inode for the gfid present in the
     filehandle (as the inode was not linked) and would go for hard resolution
     by sending a lookup on the gfid by creating a new inode.
  5) snapview-client will not able to identify whether the inode is a real inode
     existing in the main volume or a virtual inode existing in the snapshots
     as there would not be any inode context.
  6) Since the gfid upon which lookup is sent is a virtual gfid which is not
     present in the disk, lookup would fail and the application would get an
     error.

  To handle above situation, now nfs server also does inode linking in readdirp.

Change-Id: Ibb191408347b6b5f21cff72319ccee619ea77bcd
BUG: 1115949
Signed-off-by: Raghavendra Bhat <raghavendra@redhat.com>
Reviewed-on: http://review.gluster.org/8230
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Niels de Vos <ndevos@redhat.com>
Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-07-16 02:27:50 -07:00
Raghavendra Bhat
dcc1696045 mgmt/glusterd: do not check for snapd handle in restore if uss is disabled
Change-Id: I01afe64685a5794cce9265580c6c5de57a045201
BUG: 1119582
Signed-off-by: Raghavendra Bhat <raghavendra@redhat.com>
Reviewed-on: http://review.gluster.org/8310
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Kaushal M <kaushal@redhat.com>
2014-07-15 23:38:41 -07:00
Jeff Darcy
52ca745fb7 tests: make dd less noisy
Also fixed one case in quota.t where error output is expected.  There
are probably other similar cases which can be fixed separately.

Change-Id: If80fad0d9fcff6f8ca91d00f4f7b2d5f3fef4256
Signed-off-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-on: http://review.gluster.org/8298
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Humble Devassy Chirammal <humble.devassy@gmail.com>
Reviewed-by: Prashanth Pai <ppai@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-07-15 23:00:48 -07:00
Anders Blomdell
de359f8b2a Add possibility to run single tests
Change-Id: I9282b711c09611bd0fd4cc814f3ec34aa67d10c0
BUG: 1118453
Signed-off-by: Anders Blomdell <anders.blomdell@control.lth.se>
Reviewed-on: http://review.gluster.org/8291
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Harshavardhana <harsha@harshavardhana.net>
Reviewed-by: Humble Devassy Chirammal <humble.devassy@gmail.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-07-15 22:59:44 -07:00
Kaushal M
fde2b73746 glusterd: Improvements to peer identification
This patch improves the peer identification mechanism in glusterd and
lays down the framework for further improvements, including better multi
network support in glusterd.

This patch mainly does two things,
1. Extend the peerinfo object to store a list of addresses instead of a
single hostname as it does now. This also includes changes to make the
peer update behaviour of 'peer probe' to add to the list.

2. Improve glusterd_friend_find_by_hostname() to perform better matching
of hostnames. glusterd_friend_find_by_hostname() now does and initial
quick string compare against all the peer addresses known to glusterd,
after which it tries a more thorough search using address resolution and
matching the struc sockaddr's.

The above two changes together improve the peer identification situation
in glusterd a lot.

More information regarding the problem this patch attempts to resolve
and the approach chosen can be found at
http://www.gluster.org/community/documentation/index.php/Features/Better_peer_identification

This commit is a squashed commit of the following changes, the
development branch of which can be viewed at,
https://github.com/kshlm/glusterfs/tree/better-peer-identification or,
https://forge.gluster.org/~kshlm/glusterfs-core/kshlms-glusterfs/commits/better-peer-identification

commit 198f86e60fab74faf082eaa02657a4d8f60b92f0
Author: Kaushal M <kaushal@redhat.com>
Date:   Tue Jul 15 14:34:06 2014 +0530

    Update gluster.8

commit 35d597f3a6b3248373e727f7b7e889c92554d56c
Author: Kaushal M <kaushal@redhat.com>
Date:   Tue Jul 15 09:01:01 2014 +0530

    Address review comments

    https://review.gluster.org/#/c/8238/3

commit 47b5331e17304477322bd2daed5bbed503c34ca1
Merge: c71b12c 78128af
Author: Kaushal M <kaushal@redhat.com>
Date:   Tue Jul 15 08:41:39 2014 +0530

    Merge branch 'master' into better-peer-identification

commit c71b12c164330e8d19d1df4734ab34ef9a8caad2
Merge: 57bc9de 0f5719a
Author: Kaushal M <kaushal@redhat.com>
Date:   Thu Jul 10 19:50:19 2014 +0530

    Merge branch 'master' into better-peer-identification

commit 57bc9de9e4f49ff2b1620df9906cda50a3527a25
Author: Kaushal M <kaushal@redhat.com>
Date:   Thu Jul 10 19:49:08 2014 +0530

    More fixes to review comments

commit 5482cc363a687a9e246a0780ec88acd53e218501
Author: Kaushal M <kaushal@redhat.com>
Date:   Thu Jul 10 18:36:40 2014 +0530

    Code refactoring in peer-utils based on review comments

    https://review.gluster.org/#/c/8238/2/xlators/mgmt/glusterd/src/glusterd-peer-utils.c

commit 89b22c34757178f64d5fbaffa31e6302f841c060
Author: Kaushal M <kaushal@redhat.com>
Date:   Thu Jul 10 12:30:00 2014 +0530

    Hostnames in peer status

commit 63ebf9485cf50d736cf640238a1ab241671fcaf1
Merge: c8c8fdd f5f9721
Author: Kaushal M <kaushal@redhat.com>
Date:   Thu Jul 10 12:06:33 2014 +0530

    Merge remote-tracking branch 'origin/master' into better-peer-identification

commit c8c8fdd2104b5b6b8a1af739b1dd952b74e6dd66
Author: Kaushal M <kaushal@redhat.com>
Date:   Wed Jul 9 18:35:27 2014 +0530

    Hostnames in xml output

commit 732a92a0167ad7b1d70edbc35ebd8307c2766ae1
Author: Kaushal M <kaushal@redhat.com>
Date:   Wed Jul 9 15:12:10 2014 +0530

    Add hostnames to cli rsp dict during list-friends

commit fcf43e3e317508f0c225024738a988a4af8e9205
Merge: c0e2624 72d96e2
Author: Kaushal M <kaushal@redhat.com>
Date:   Wed Jul 9 12:53:03 2014 +0530

    Merge branch 'master' into better-peer-identification

commit c0e262416728a3c536a8347a216e471eb2251535
Author: Kaushal M <kaushal@redhat.com>
Date:   Mon Jul 7 16:11:19 2014 +0530

    Use list_for_each_entry_safe when cleaning peer hostnames

commit 6132e60224eb592f3657e535a12a3e72c772da42
Author: Kaushal M <kaushal@redhat.com>
Date:   Mon Jul 7 15:52:19 2014 +0530

    Fix crash in gd_add_friend_to_dict

commit 88ffa9a508fd5aac0b2a76e6e76487ce0cab786a
Author: Kaushal M <kaushal@redhat.com>
Date:   Mon Jul 7 13:19:44 2014 +0530

    gd_peerinfo_destroy -> glusterd_peerinfo_destroy

commit 4b36930a715b1e13cd1a77d136ef1cf78a06d574
Author: Kaushal M <kaushal@redhat.com>
Date:   Mon Jul 7 12:50:12 2014 +0530

    More refactoring

commit ee559b081d608c6501c10ae22166f26eeb65690e
Author: Kaushal M <kaushal@redhat.com>
Date:   Mon Jul 7 12:14:40 2014 +0530

    Major refactoring of code based on review comments at
    https://review.gluster.org/#/c/8238/1/xlators/mgmt/glusterd/src/glusterd-peer-utils.h

commit e96dbc7bbb05fad2a9c424de41a394b8023fe48d
Merge: 2613d1d 83c09b7
Author: Kaushal M <kaushal@redhat.com>
Date:   Mon Jul 7 09:47:05 2014 +0530

    Merge remote-tracking branch 'origin/master' into better-peer-identification

commit 2613d1daebff0c56812de821c06ed4c16bb9d447
Merge: b242cf6 9a50211
Author: Kaushal M <kaushal@redhat.com>
Date:   Fri Jul 4 15:28:57 2014 +0530

    Merge remote-tracking branch 'origin/master' into better-peer-identification

commit b242cf66d95dd3dd5e3975aa430baa6bd74b8a29
Author: Kaushal M <kaushal@redhat.com>
Date:   Fri Jul 4 15:08:18 2014 +0530

    Fix a silly mistake, if (ctx->req) => if (ctx->req == NULL)

commit c835ed26433830ceed57289143f596cf60421558
Author: Kaushal M <kaushal@redhat.com>
Date:   Fri Jul 4 14:58:23 2014 +0530

    Fix reverse probe.

commit 9ede17f9329b854b02e8ad159f173244789fd08c
Author: Kaushal M <kaushal@redhat.com>
Date:   Fri Jul 4 13:31:32 2014 +0530

    Fix friend import for existing peers

commit 891bf74c7350064dfb008d1b7294bcec28d680fd
Author: Kaushal M <kaushal@redhat.com>
Date:   Fri Jul 4 13:08:36 2014 +0530

    Set first hostname in peerinfo->hostnames to peerinfo->hostname

commit 9421d6a217381a7427a7d84f369280883ca4297a
Author: Kaushal M <kaushal@redhat.com>
Date:   Fri Jul 4 12:21:40 2014 +0530

    Fix gf_asprintf return val check in glusterd_store_peer_write

commit defac978c1d94011ce8195e311839b9ffce057e7
Author: Kaushal M <kaushal@redhat.com>
Date:   Fri Jul 4 11:16:13 2014 +0530

    Fix store_retrieve_peers to correctly cleanup.

commit 00a799f5de1121b0cb7421da8285f9407063e1bd
Author: Kaushal M <kaushal@redhat.com>
Date:   Fri Jul 4 10:52:11 2014 +0530

    Update address list in glusterd_probe_cbk only when needed.

commit 7a628e8a9c562d85709c69cfa13fb1774c521b75
Merge: d191985 dc46d5e
Author: Kaushal M <kaushal@redhat.com>
Date:   Fri Jul 4 09:24:12 2014 +0530

    Merge remote-tracking branch 'origin/master' into better-peer-identification

commit d1919858e6639d2b54d716a61f662d9752ec5ff1
Author: Kaushal M <kaushal@redhat.com>
Date:   Tue Jul 1 18:59:49 2014 +0530

    gf_compare_addrinfo -> gf_compare_sockaddr

commit 31d8ef730d408f8d9ba8f504fa648f7dcd59da87
Merge: 93bbede 86ee233
Author: Kaushal M <kaushal@redhat.com>
Date:   Tue Jul 1 18:16:13 2014 +0530

    Merge remote-tracking branch 'origin/master' into better-peer-identification

commit 93bbedeac5181e29f59b2acd08f638146812ec41
Author: Kaushal M <kaushal@redhat.com>
Date:   Tue Jul 1 18:15:16 2014 +0530

    Improve glusterd_friend_find_by_hostname

    glusterd_friend_find_by_hostname will now do an initial quick search for
    the peerinfo performing string comparisions on the given host string. It
    follows it with a more thorough match, by resolving the addresses and
    comparing addrinfos instead of strings.

commit 2542cdbc45aa9cfcaf1f174686158d5565cdd07b
Author: Kaushal M <kaushal@redhat.com>
Date:   Tue Jul 1 17:21:10 2014 +0530

    New utility gf_compare_addrinfo

commit 338676e8389a44bd91136eebd110197429c2566c
Author: Kaushal M <kaushal@redhat.com>
Date:   Tue Jul 1 14:55:56 2014 +0530

    Use gd_peer_has_address instead of strcmp

commit 28d45be51f594328741c44455bd80ac9d64ca501
Merge: 728266e 991dd5e
Author: Kaushal M <kaushal@redhat.com>
Date:   Tue Jul 1 14:54:40 2014 +0530

    Merge branch 'master' into better-peer-identification

commit 728266eb16d5f5a4bf36266044425ae164337f99
Merge: 7d9b87b 2417de9
Author: Kaushal M <kaushal@redhat.com>
Date:   Tue Jul 1 09:55:13 2014 +0530

    Merge remote-tracking branch 'origin/master' into better-peer-identification

commit 7d9b87b84955ec17daeaf88a3e7462914039430f
Merge: b890625 e02275c
Author: Kaushal M <kshlmster@gmail.com>
Date:   Tue Jul 1 08:41:40 2014 +0530

    Merge pull request #4 from vpshastry/better-peer-identification

    Better peer identification

commit e02275c52fb83c72ad082c098fd3e432c2b9c526
Merge: 75ee90d b890625
Author: Varun Shastry <vshastry@redhat.com>
Date:   Mon Jun 30 16:44:29 2014 +0530

    Merge branch 'better-peer-identification' of https://github.com/kshlm/glusterfs into better-peer-identification-kaushal-github

commit 75ee90d2f272e49b94d24c9ca4571e89a83055ff
Author: Varun Shastry <vshastry@redhat.com>
Date:   Mon Jun 30 15:36:10 2014 +0530

    glusterd: add to the list if the probed uuid pre-exists

    Signed-off-by: Varun Shastry <vshastry@redhat.com>

commit b890625d8164c660695daef3285c67979eef723e
Merge: 04c5d60 187a7a9
Author: Kaushal M <kaushal@redhat.com>
Date:   Mon Jun 30 11:44:13 2014 +0530

    Merge remote-tracking branch 'origin/master' into better-peer-identification

commit 04c5d60cb938c8d94b214689580b40abb1b0ffcd
Merge: 3a5bfa1 e01edb6
Author: Kaushal M <kshlmster@gmail.com>
Date:   Sat Jun 28 19:23:33 2014 +0530

    Merge pull request #3 from vpshastry/better-peer-identification

    glusterd: search through the list of hostnames in the peerinfo

commit 0c64f3346a977f9165ac55a84a1e03c40a7573a7
Merge: e01edb6 3a5bfa1
Author: Varun Shastry <vshastry@redhat.com>
Date:   Sat Jun 28 10:43:29 2014 +0530

    Merge branch 'better-peer-identification' of https://github.com/kshlm/glusterfs into better-peer-identification-kaushal-github

commit e01edb63153a1008db70b8fa76ae5b535e099326
Author: Varun Shastry <vshastry@redhat.com>
Date:   Fri Jun 27 12:29:36 2014 +0530

    glusterd: search through the list of hostnames in the peerinfo

    Signed-off-by: Varun Shastry <vshastry@redhat.com>

commit 3a5bfa15855e660db2bfde644727371dd2d618cc
Merge: cda6d31 371ea35
Author: Kaushal M <kshlmster@gmail.com>
Date:   Fri Jun 27 11:31:17 2014 +0530

    Merge pull request #1 from vpshastry/better-peer-identification

    glusterd: Add hostname to list instead of replaceing upon update

commit 371ea354f198b4182382d5403c5960c0b2add6b6
Author: Varun Shastry <vshastry@redhat.com>
Date:   Fri Jun 27 11:24:54 2014 +0530

    glusterd: Add hostname to list instead of replaceing upon update

    Signed-off-by: Varun Shastry <vshastry@redhat.com>

commit cda6d3152886623ecbf46baf0048ebe0119b30b6
Author: Kaushal M <kaushal@redhat.com>
Date:   Thu Jun 26 19:52:52 2014 +0530

    Import address lists

commit 6649b54aa0440130c08e827e0a1d1bbfb840eca9
Author: Kaushal M <kaushal@redhat.com>
Date:   Thu Jun 26 19:15:37 2014 +0530

    Implement export address list

commit 55990034eead92bc9b936240029e460a4bf152d5
Author: Kaushal M <kaushal@redhat.com>
Date:   Thu Jun 26 18:11:59 2014 +0530

    Use first address in list to when setting up the peer RPC.

commit a35fde8d19b9988eb04c652fb3a5e4f84d90ad00
Author: Kaushal M <kaushal@redhat.com>
Date:   Thu Jun 26 18:03:04 2014 +0530

    Properly free addresses on glusterd_peer_destroy

commit 1988081db09ac9205f3dc7268cef8be267f3ce8b
Author: Kaushal M <kaushal@redhat.com>
Date:   Thu Jun 26 17:52:35 2014 +0530

    Restore peerinfo with address list implemented.

commit 66f524d5749a12f4910dd6b06c9d91f37e1d831e
Author: Kaushal M <kaushal@redhat.com>
Date:   Mon Jun 23 13:02:23 2014 +0530

    Move out all peer related utilities from glusterd-utils to glusterd-peer-utils

commit 14a2a326a4dff11b55490dca2a14f39320931340
Author: Kaushal M <kaushal@redhat.com>
Date:   Tue May 27 12:16:41 2014 +0530

    Compilation fix

commit c59cd351d0a102d0d5f3ea9001fd33c4edcb262f
Author: Kaushal M <kaushal@redhat.com>
Date:   Mon May 5 12:51:11 2014 +0530

    Add store support for hostname list

commit b70325f0beb884ad12645ef40185f0bf6cedd741
Author: Kaushal M <kaushal@redhat.com>
Date:   Fri May 2 15:58:07 2014 +0530

    Add a hostnames list to glusterd_peerinfo_t

    glusterd_peerinfo_new will now init this list and add the given hostname
    as the lists first member.

Signed-off-by: Kaushal M <kaushal@redhat.com>
Signed-off-by: Varun Shastry <vshastry@redhat.com>
Change-Id: Ief3c5d6d6f16571ee2fab0a45e638b9d6506a06e
BUG: 1119547
Reviewed-on: http://review.gluster.org/8238
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Tested-by: Krishnan Parthasarathi <kparthas@redhat.com>
2014-07-15 06:59:35 -07:00