6188 Commits

Author SHA1 Message Date
Jose A. Rivera
ff28179310 libgfapi: Don't ignore return value of glfs_loc_touchup()
BUG: 789278
CID: 1124353

Change-Id: I7d2958cbc98faf45d723f17868c515762c50c618
Signed-off-by: Jose A. Rivera <jarrpa@redhat.com>
Reviewed-on: http://review.gluster.org/6931
Reviewed-by: Shyamsundar Ranganathan <srangana@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
2014-02-08 11:21:52 -08:00
Poornima
f32e00692e cluster/afr: Fix memory leak.
Change-Id: I811d104684905a5a9a794cde8e925bd1a97f6546
BUG: 789278
Signed-off-by: Poornima <pgurusid@redhat.com>
Reviewed-on: http://review.gluster.org/6906
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-02-08 08:21:21 -08:00
Raghavendra G
0ff6a1da6a features/quota: fix crash in error handling after building ancestry.
Change-Id: Ifbebf1aa496d49a6c4bb30258b83aaf9792828e5
BUG: 1059833
Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
Reviewed-on: http://review.gluster.org/6923
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
2014-02-08 02:57:27 -08:00
Raghavendra Talur
032854831a glusterd: Fix a memory leak.
errmsg may have malloc'ed memory, free it before leaving function.

Change-Id: I4ab3b9db7a48a5e256eb8a08b8ab49818ce6ca1b
BUG: 789278
Signed-off-by: Raghavendra Talur <rtalur@redhat.com>
Reviewed-on: http://review.gluster.org/6902
Reviewed-by: Poornima G <pgurusid@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
2014-02-08 02:29:14 -08:00
Avra Sengupta
7903c55a0d gverify: Correcting variable names
Change-Id: I851a50e0ebb7554b821fb591375bb6ebd6240ade
BUG: 1036539
Signed-off-by: Avra Sengupta <asengupt@redhat.com>
Reviewed-on: http://review.gluster.org/6939
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-02-07 18:59:33 -08:00
Christopher R. Hertel
13b68bc693 features/index: Close directories left open on error.
Two directory streams are opened, but not always closed if the function
exits with an error.  This patch aims to ensure that the directories are
closed in call cases.

Some return values may be explicitly discarded.  This is done to avoid
having a successful call to closedir() overwrite the value of ret.
Also, the errno value is preserved in case a calling function needs to
check errno.

BUG: 789278
CID: 1124710
CID: 1124711

Change-Id: I6bf3b5c9c6a1ec9a99cc9178243ea98572c2bac2
Signed-off-by: Christopher R. Hertel <crh@redhat.com>
Reviewed-on: http://review.gluster.org/6883
Reviewed-by: Shyamsundar Ranganathan <srangana@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-02-07 18:56:54 -08:00
Poornima
38e23d727a quick-read: Remove unref of a freed iobuf.
Change-Id: Ie21414658db571c9a483730b6d5e8997f04255c1
BUG: 789278
Signed-off-by: Poornima <pgurusid@redhat.com>
Reviewed-on: http://review.gluster.org/6823
Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
2014-02-07 18:52:41 -08:00
Poornima
9433cc43ef glusterd: Fix the NULL dereference errors reported by coverity.
Change-Id: I51c120dfe2db44a2b74f35e5cafb4f364ed6e66e
BUG: 789278
Signed-off-by: Poornima <pgurusid@redhat.com>
Reviewed-on: http://review.gluster.org/6901
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-02-07 08:47:15 -08:00
Santosh Kumar Pradhan
9f699ccd42 gNFS: Possible NULL pointer dereference
In NFS-ACL code (acl3.c) i.e. acl3svc_setacl(), contol can
go to "acl3err" block from setaclargs.mask validation or
acl3_validate_gluster_fh() and acl3_map_fh_to_volume() macros.
But at this point of time "cs" is yet to be init'd (the macro
acl3_handle_call_state_init() is not yet invoked) which can
cause a NULL ptr deref.

FIX:
Refactor the acl3 code.

Coverity ID (CID): 1124491

Change-Id: I3aca38770e03ce59d1705653b6d8349e6cc153b2
BUG: 789278
Signed-off-by: Santosh Kumar Pradhan <spradhan@redhat.com>
Reviewed-on: http://review.gluster.org/6890
Reviewed-by: Rajesh Joseph <rjoseph@redhat.com>
Reviewed-by: Niels de Vos <ndevos@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-02-07 08:43:59 -08:00
Raghavendra Talur
432f7e45b2 changelog: When connection is unsuccessful, close socket too.
Bug fix for Coverity CID: 1124791

Change-Id: I0362d45123ebc250290f3a5231f7fb113fa41212
BUG: 789278
Signed-off-by: Raghavendra Talur <rtalur@redhat.com>
Reviewed-on: http://review.gluster.org/6900
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Reviewed-by: Santosh Pradhan <spradhan@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
2014-02-07 03:01:35 -08:00
Harshavardhana
055c02436f geo-replication: gverify should use disk_size and available_size
"commit ef4bb42382a5c9c3ca0907136669a659c2a20311" was incomplete since
reduction in sizes doesn't really have any affect on the problem when
disks sizes are similar.

Actual fix is to verify disk_size and then verify available_size

Change-Id: Idb57f606df229c0bdaeda8852c74e84d29109ffc
BUG: 1020154
Signed-off-by: Harshavardhana <harsha@harshavardhana.net>
Reviewed-on: http://review.gluster.org/6844
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
2014-02-06 07:31:23 -08:00
Venky Shankar
4d7764a73f gsyncd / geo-rep: invoke changelog process() on non-empty change list
Change-Id: Ida4890abdc90d683a4a83127a1573bbb3829ea23
BUG: 1036539
Signed-off-by: Venky Shankar <vshankar@redhat.com>
Reviewed-on: http://review.gluster.org/6793
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-02-06 01:55:58 -08:00
Venky Shankar
aa7b0c6408 gsyncd / geo-rep: ignore DHTs sticky bit file during crawl
Change-Id: Ide927759c6a3d5301475eac9f6e785aa901d426e
BUG: 1036539
Signed-off-by: Venky Shankar <vshankar@redhat.com>
Reviewed-on: http://review.gluster.org/6792
Reviewed-by: Kotresh HR <khiremat@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-02-06 01:54:52 -08:00
Venky Shankar
cbf6a264bd gsyncd / geo-rep: "patch" up missing stime
In cases (mostly upgrade) of unavailability of "stime" key and
availability of "xtime" (slave's xtime), introduce "stime" key
on the fly by setting it to the value to "xtime".

Change-Id: Iaa424662d838154c8abc2cf00830c7f9d6be45ac
BUG: 1036539
Signed-off-by: Venky Shankar <vshankar@redhat.com>
Reviewed-on: http://review.gluster.org/6791
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-02-06 01:53:08 -08:00
Venky Shankar
0035b37a2d gsyncd / geo-rep: cleanup the "tar" process
A missing cleanup for the "tar" process (when tar+ssh
is used as the sync engine).

Change-Id: Ib9599b43e7ec606c70b7c5598793417142be3c0b
BUG: 1036539
Signed-off-by: Venky Shankar <vshankar@redhat.com>
Reviewed-on: http://review.gluster.org/6794
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-02-06 01:50:46 -08:00
Susant Palai
c04c8a4cb1 cli/cli-xml : skipped files should be treated as failures for
remove-brick operation.

Fix: For remove-brick operation skipped count is included into
failure count.

clixml-output : skipped count would be zero always for remove-brick
status.

Change-Id: Ic0bb23b89e0cf5b884b6d1ae42bbf98deedc9173
BUG: 1060209
Signed-off-by: Susant Palai <spalai@redhat.com>
Reviewed-on: http://review.gluster.org/6889
Reviewed-by: Kaushal M <kaushal@redhat.com>
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
2014-02-05 23:38:16 -08:00
Raghavendra Talur
3bc23e1ad0 changelog: Restrict length of unix socket files to UNIX_PATH_MAX.
Bug fix for Coverity-CID 1124847.

Change-Id: I410ef8e06cbc491b1f72535298fae5e9bc77220d
BUG: 789278
Signed-off-by: Raghavendra Talur <rtalur@redhat.com>
Reviewed-on: http://review.gluster.org/6870
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-02-05 23:05:34 -08:00
Christopher R. Hertel
e3162ed7e9 libglusterfs: Allow all valid file handle values to be closed.
Zero (0) is a valid file handle. The code, as written, interprets return
values of open(2) that are less than or equal to zero to indicate an
error.  Only -1 indicates an error.

BUG: 789278
CID: 1124756

Change-Id: Ie77c25f1f557d5d5adcec464b49dc7df2e3dc7e5
Signed-off-by: Christopher R. Hertel <crh@redhat.com>
Reviewed-on: http://review.gluster.org/6884
Reviewed-by: Lalatendu Mohanty <lmohanty@redhat.com>
Reviewed-by: Shyamsundar Ranganathan <srangana@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-02-05 22:26:07 -08:00
Poornima
e021078220 Fix for 'use after free' errors reported by coverity.
Change-Id: I941fc89b2d696c7f227330321ed4bba3ed1deac4
BUG: 789278
Signed-off-by: Poornima <pgurusid@redhat.com>
Reviewed-on: http://review.gluster.org/6868
Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-02-05 22:09:13 -08:00
Poornima
60c1fa2ada mgmt/glusterd: Fix double free.
Change-Id: I7a8b7772849715b019c86c6c768f33c1d9dcb27c
BUG: 789278
Signed-off-by: Poornima <pgurusid@redhat.com>
Reviewed-on: http://review.gluster.org/6881
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-02-05 21:46:07 -08:00
Atin Mukherjee
d0574d040b Problem : getfattr fails and mount point becomes inaccessible while
fetching glusterfs.ancestry.path key value for a gfid from aux-gfid-mount 
based mount point.

Analysis : The caller of posix_make_ancestryfromgfid() function i.e. 
posix_get_ancestry_non_directory() is sending an incorrect type value as 
an argument leading to a crash in posix_make_ancestral_node() (head 
dirent pointer is NULL and an attempt to dereference causes seg fault). 
For a non directory operation this piece of code should not have been 
executed but due to incorrect type value this happened.

Solution : In posix_make_ancestryfromgfid() call type is passed as 
logical or of type and POSIX_ANCESTRY_PATH instead of logical or of 
POSIX_ANCESTRY_PATH and POSX_ANCESTRY_DENTRY.


Change-Id: Iaf844bea91396c5e2ee295d5a082998fda66f0a9
BUG: 1060104
Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
Reviewed-on: http://review.gluster.org/6892
Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-02-05 21:44:26 -08:00
Vijay Bellur
b187d3b523 tests/basic: Prevent mount-options.t from being run.
mount-options.t introduces a race leading to failures in
regression tests. Hence disabling the test unit till we
sort out the race.

Also removing the workaround introduced in mount.t.

Change-Id: I7d60413bbff8597f90153cca838e326247e96cd9
BUG: 1060654
Signed-off-by: Vijay Bellur <vbellur@redhat.com>
Reviewed-on: http://review.gluster.org/6911
Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
2014-02-05 20:07:56 -08:00
Lukas Bezdicka
2f8a8cfc27 libxlator: fix memleak in cluster_markerxtime_cbk and cluster_markeruuid_cbk
Change-Id: Ide3574bf9f661b077f707990d47821feda18b1a3
BUG: 841617
Reviewed-on: http://review.gluster.org/6850
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
2014-02-04 11:29:27 -08:00
surabhi
7282094c5f libglusterfs:Fixing Dereference NULL return value.
1.Checking of data for NULL.

Change-Id: If49513f7c3fd1dc443c05dc62ed07d3254059e6e
BUG: 789278
Signed-off-by: surabhi <sbhaloth@redhat.com>
Reviewed-on: http://review.gluster.org/6799
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-02-04 10:00:13 -08:00
ShyamsundarR
0c721c4c04 cluster/dht: Set restrictive open flags for files under rebalance
Files that are being rebalanced are created in the new volume
and access path needs to open these files to write changing
data in parallel to both the old and new locations. While opening
the file in the new location, we need to restrict the open flags
to not use truncate or create and fail if exist flags, to prevent
open failures or inadvertently truncate the file under rebalance.

Change-Id: I12130e0377adc393f1925c45585200ad991fd0d5
BUG: 1058569
Signed-off-by: ShyamsundarR <srangana@redhat.com>
Reviewed-on: http://review.gluster.org/6830
Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
Reviewed-by: Krutika Dhananjay <kdhananj@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Raghavendra Bhat <raghavendra@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-02-04 09:56:57 -08:00
Christopher R. Hertel
21a83b8be0 features/index: Loop exit without freeing in-use memory.
If the while loop is exited via the goto, the call to closedir(3) is
skipped, leaving an open directory stream.  This patch ensure that the
directory is closed if the loop is exited via the goto.

BUG: 789278
CID: 1124763

Change-Id: Iec5da4b8d32c0a93c10d035ff38d0c063fd97cda
Signed-off-by: Christopher R. Hertel <crh@redhat.com>
Reviewed-on: http://review.gluster.org/6828
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-02-04 09:52:39 -08:00
Krutika Dhananjay
797c62eb56 glusterd: Reset opinfo.op ONLY if lock succeeded
Change-Id: I0244a7f61a826b32f4c2dfe51e246f2593a38211
BUG: 1060434
Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
Reviewed-on: http://review.gluster.org/6885
Reviewed-by: Kaushal M <kaushal@redhat.com>
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
2014-02-04 09:50:12 -08:00
Kaushal M
ab80504486 glusterd: Bump MAX_OP_VERSION to 4
Change-Id: Ib017a7d8ad8017bdcf15035018f4d04ecb5560e9
BUG: 1059206
Signed-off-by: Kaushal M <kaushal@redhat.com>
Reviewed-on: http://review.gluster.org/6853
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
2014-02-03 17:30:39 -08:00
Lalatendu Mohanty
33e9e8fcb9 quota: Fixing a possibility of GF_FREE on an array pointer
Issue: when the charecter pointer is not heap allocated by the program
we should not do GF_FREE on it.

Change-Id: Ibccc25491a9ab924fd5b82c14566f551a061ec2e
BUG: 789278
Signed-off-by: Lalatendu Mohanty <lmohanty@redhat.com>
Reviewed-on: http://review.gluster.org/6741
Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
2014-02-03 17:29:54 -08:00
Poornima G
120235d6f5 cluster/dht: Fix layout sorting
The layout was not being sorted in the ascending order leading
to the wrong detection of holes/overlaps.

From looking at the previous git commits it appears that the initial version itself had the err comparison code.
Deductions from the current dht_layout_sort():
1. The zero'ed out layouts should be in the from of list, if needed
2. The layout should be sorted in the ascending order of layout error value.
3. The layout should be sorted in the ascending order of the layout 'start'.
But In some cases, with the err comparison code its not sorted in the ascending order. Example: If the input is as below for dht_layout_sort(), the sorting doesn't happen in ascending order.
Input:
0-1 err:0    2-3 err:0   6-7 err:0    0-0 err:20   4-5 err:0
          
With the current sort, Output:
4-5 err:0    0-0 err:0    0-1 err:0    2-3 err:0    6-7 err:0
Expected: 0-0 err:20 0-1 err:0 2-3 err:0 4-5 err:0 6-7 err:0
Looking at dht_layout_anomalies() it appears that, it doesn't require the layout to be sorted based on error value.
The other solution was to replace line 468 with:
 if ((layout->list[i].err || layout->list[j].err) && (layout->list[i].start > layout->list[j].start))
Since dht_layout_anomalies() didn't expect the layout to be sorted based on the error, removed the err comparison.

Change-Id: I1215f6cd53efc7dba01c0958ba6cc7609dab6ff5
BUG: 1056406
Signed-off-by: Poornima G <pgurusid@redhat.com>
Reviewed-on: http://review.gluster.org/6757
Reviewed-by: Anand Avati <avati@redhat.com>
Tested-by: Anand Avati <avati@redhat.com>
2014-02-03 17:24:13 -08:00
Christopher R. Hertel
d2b0a016e7 cluster/dht: Abandoned memory if a call fails
If the call to dict_set_dynstr() fails, the memory indicated by
xattr_buf will not have been stored in the dictionary, so it must be
freed.

Patch set 2: Added a missed call to GF_FREE().  Fixed a formatting
             consistency issue.

Patch set 3: Cleaned a minor style nit.

BUG: 789278
CID: 1124786

Change-Id: Id1f85bd2cbfac0b8727a3f6901f0a50ba921817d
Signed-off-by: Christopher R. Hertel <crh@redhat.com>
Reviewed-on: http://review.gluster.org/6826
Reviewed-by: Shyamsundar Ranganathan <srangana@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
2014-02-03 17:22:15 -08:00
Harshavardhana
bbe02d77a5 mount.glusterfs/glusterfsd: Add dummy deprecated *fetch-attempts options
volfile-max-fetch-attempts and fetch-attempts were not deprecated
properly at 'b610f1be7cd71b8f3e51c224c8b6fe0e7366c8cf'.

Provide a way for backward compatibility for broken third party apps.

Change-Id: I597b50df08823e74691c5a20a4da4d13aab4b7ff
BUG: 1045309
Signed-off-by: Harshavardhana <harsha@harshavardhana.net>
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
Reviewed-on: http://review.gluster.org/6544
Reviewed-by: Humble Devassy Chirammal <humble.devassy@gmail.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
2014-02-03 17:21:09 -08:00
Ravishankar N
8cf2a36dad glusterd: Fix race in pid file update
This patch only removes lines of code. For personal gratification, giving a
detailed explanation of what the problem was.

When glusterd spawns the local brick process, say when a reboot of the node
occurs,the glusterd_brick_start() and subsequently the
glusterd_volume_start_glusterfs() function gets called twice; from
glusterd_spawn_daemons() and glusterd_do_volume_quorum_action() respectively.
This causes a race, best described by a pseudo-code of current behaviour.

glusterd_volume_start_glusterfs()
{
       if(!brick process running) {

         step-a) reap pid file( i.e. unlink it)
         step-b) fork a brick process which creates and locks pid file and
                 binds the process to a socket.

        }

}

Time            Event
----            -----
T1              Call-1 arrives, completes step-a, starts step-b
T2              Call-2 arrives, enters step-a as Call-1's forked child is not
                yet running.
T3              Call-1's forked child is alive, creates pidfile and locks it,binds
                its address to a socket.
T4              Call-2 performs step-a; i.e.unlinks the pid file created by Call-1 !!
                (files can still be stil be unlinked despite a lockf on it)
T5              Call-2 does step-b, and the forked child process creates a *new* pid file
                with it's pid and locks this file.
T6              But Call-2's brick process is not able to bind to socket as it
                is already in use (courtesy T3) and hence exits (so no locks anymore on the pidfile).

Result:
-  Pid file now contains PID of an extinct brick process.
- `gluster volume status` shows this PID value. It also notices that there is no
lock held on pid file by the currently running brick process (created by Call-1)
and hence shows N/A for the online status.

Also, as a result of events at T4, "ls  -l /proc/<brick process PID>/fd/pidfile"
shows up as deleted.

Fix:
1.Do not unlink pid file. i.e. avoid step-a. Now at T5,Call-2's brick process
cannot obtain lock on pid file (Call-1's process still holds it) and exits.

2. Unrelated, but remove lock-unlock sequence in glusterfs_pidfile_setup()
which does not seem to be doing anything useful.

Change-Id: I18d3e577bb56f68d85d3e0d0bfd268e50ed4f038
BUG: 1035586
Signed-off-by: Ravishankar N <ravishankar@redhat.com>
Reviewed-on: http://review.gluster.org/6786
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-02-03 05:45:03 -08:00
Vijay Bellur
3395b98a34 tests: Fix regression failures
Change-Id: I83dc651a5ce87adf51d1f539400cd91c801fc460
BUG: 1045309
Signed-off-by: Vijay Bellur <vbellur@redhat.com>
Reviewed-on: http://review.gluster.org/6874
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Kaushal M <kaushal@redhat.com>
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
2014-02-03 00:10:20 -08:00
Harshavardhana
a7243ea310 build: GFAPI_VERSION should be 6.0.0 not 0.0.6
------------------------------------->
"In essence, every time you make a change to the library and
release it, the C:R:A should change. A new library should
start with 0:0:0. Each time you change the public interface
(i.e., your installed header files), you should increment the
CURRENT number."

So the version which was 3 became 5 when discard API was added
and became 6 when zerofill was added. As per the above description,
API addition will result in a change to the installed header (glfs.h)
and hence warrants a change in CURRENT number ? Should you have
changed the version to 6.0.0 instead of 0.0.6 ?
<------------------------------------

Thanks Bharata B Rao <bharata.rao@gmail.com> for pointing this out

Change-Id: I0aa980a6713fbd28922a94c5debb170a89aa3512
BUG: 862082
Signed-off-by: Harshavardhana <harsha@harshavardhana.net>
Reviewed-on: http://review.gluster.org/6790
Reviewed-by: Niels de Vos <ndevos@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Bharata B Rao <bharata.rao@gmail.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-02-02 23:25:18 -08:00
Lalatendu Mohanty
f676d5a3e0 geo-rep: Fixing a memory leak issue reported by Coverity
Issue: "errmsg" is allocated memory through  GF_CALLOC in function "gf_strdup"

Fix: using GF_FREE to free the memory

Change-Id: Iee8f8d806ea995591feee8e4ed0a0798ad07a8c4
BUG: 789278
Signed-off-by: Lalatendu Mohanty <lmohanty@redhat.com>
Reviewed-on: http://review.gluster.org/6740
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
2014-02-02 23:23:56 -08:00
Vijaykumar M
3023a50c14 dht: do not remove linkfile if file exist in cached sub volume
Currently with rmdir, if a directory contains only the linkfiles
we remove all the linkfiles and this is causing the problem when the cached
sub volume is down and end-up with duplicate files showing on the mount point.

Solution: Before removing a linkfile check if the
files exists in cached subvolume.

Change-Id: Iedffd0d9298ec8bb95d5ce27c341c9ade81f0d3c
BUG: 1042725
Signed-off-by: Vijaykumar M <vmallika@redhat.com>
Reviewed-on: http://review.gluster.org/6500
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
2014-02-02 23:10:38 -08:00
Pranith Kumar K
922134fdc0 cluster/afr: Add gfid to index in wind un-conditionally
Problem:
If brick crashes just after performing xattrop before
reaching index _cbk then the gfid will not be added to/deleted from
index. If it is not deleted it will be deleted when self-heal is
triggered. But if the crash happens before the file is added to index,
user may think the system does not need self-heal even when there is
this file that needs to be healed.

Fix:
Add file to index un-conditionally in wind phase. This way the
file remains in index even when brick process crashes before reaching
_cbk. This does not affect performance because of caching(check
_index_action) built into index xlator.

Change-Id: Ie83ac6aa1ac0ff66862e757864865b47ab39404d
BUG: 1058713
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
Reviewed-on: http://review.gluster.org/6836
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
2014-01-29 19:42:24 -08:00
Poornima
410fe979b4 features/qemu-block: Remove unref of freed iobuf
Change-Id: I507a6504b379eef54be77b54d6e2beee63975ebf
BUG: 789278
Signed-off-by: Poornima <pgurusid@redhat.com>
Reviewed-on: http://review.gluster.org/6824
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Raghavendra Talur <rtalur@redhat.com>
Reviewed-by: Anand Avati <avati@redhat.com>
2014-01-29 19:39:34 -08:00
Pranith Kumar K
e780df78fa tests: Add sanity check for mount-options
Change-Id: Ica246f99b8cdb6c0cf0e9143f50be056e37d3b7f
BUG: 1045309
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
Reviewed-on: http://review.gluster.org/6550
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-01-29 01:55:00 -08:00
Varun Shastry
3ab5d0672c features/quota: Correct the statfs calculation when set limit is beyond ...
actual disk space.

Fixed one of the cases where 'df' values data show wrong when the quota limit
is greater than back-end disk space.

Change-Id: I09fb71a37602c6f3daf6b91dd3fd19b7f5f76817
BUG: 969461
Signed-off-by: Varun Shastry <vshastry@redhat.com>
Reviewed-on: http://review.gluster.org/6126
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-01-28 22:43:04 -08:00
Ajeet Jha
6dfe01d7e7 mount/fuse: adding a setxattr filter pass for geo-rep create.
Adding filter pass for setxattr when key is "glusterfs.gfid.newfile".
This was blocking creates at slave volume.

Change-Id: I61455abd8688c52ac6894b5a04ba050076117ea3
BUG: 1054199
Signed-off-by: Ajeet Jha <ajha@redhat.com>
Reviewed-on: http://review.gluster.org/6797
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amarts@gmail.com>
2014-01-28 02:07:27 -08:00
Ajeet Jha
2ef4e5a991 features/gfid-access: populating inode during virtual_lookup_cbk.
Setting appropriate ia_type and gfid for the inode, obtained during
virtual_lookup_cbk of a directory by doing an "inode_link".

Change-Id: I9582570c82e70ff5f1d4e441f9e9868ef82e9dc6
BUG: 1054199
Signed-off-by: Ajeet Jha <ajha@redhat.com>
Reviewed-on: http://review.gluster.org/6723
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amarts@gmail.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-01-28 02:07:12 -08:00
Vijay Bellur
c8975995d7 mgmt/glusterd: Set right op versions for few options.
compression and changelog translators appear first in 3.5. op-versions
of options corresponding to these translators should be 3.

Change-Id: Ib514207743e36eba53c3d5cf477c85136cf30b42
BUG: 923540
Signed-off-by: Vijay Bellur <vbellur@redhat.com>
Reviewed-on: http://review.gluster.org/6774
Reviewed-by: Kaushal M <kaushal@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
2014-01-28 00:50:48 -08:00
Vijay Bellur
e435b4b059 cluster/afr: Change default_value for option self-heal-daemon
Change-Id: Ic3c8e179a63e82a4e416aea620796f8bb3236c7c
BUG: 1052759
Signed-off-by: Vijay Bellur <vbellur@redhat.com>
Reviewed-on: http://review.gluster.org/6706
Reviewed-by: Kaushal M <kaushal@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
2014-01-27 07:47:06 -08:00
Vijay Bellur
add56c1fd5 tests: Add rpc coverage tests.
1. Moves rpc-coverage.sh from extras/ to tests/basic/
2. Fixes a symlink test

Change-Id: I2fb8f8441434acfd7bd7fff72deedfbd2410d08c
BUG: 764966
Signed-off-by: Vijay Bellur <vbellur@redhat.com>
Reviewed-on: http://review.gluster.org/6609
Reviewed-by: Niels de Vos <ndevos@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Raghavendra Bhat <raghavendra@redhat.com>
2014-01-27 02:21:19 -08:00
Venky Shankar
3a35e939ec features/gfid-access: fix lookup on .gfid/<parent>/bname
In gfid translator, lookup was not handling the case when
the lookup is sent on .gfid/<parent>/bname. In this case,
we flip with fake inode of the parent with the real inode
in loc and send it downwards.

Change-Id: I639ff1dce10ffc045da419e333d455e208b6a0f0
BUG: 1057881
Signed-off-by: Venky Shankar <vshankar@redhat.com>
Reviewed-on: http://review.gluster.org/6795
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-01-27 00:51:38 -08:00
Raghavendra G
f05607fe05 mgmt/glusterd: make sure quota enforcer has established connection with quotad before marking quota as enabled.
without this patch there is a window of time when quota is marked as
enabled in quota-enforcer, but connection to quotad wouldn't have been
established. Any checklimit done during this period can result in a
failed fop because of unavailability of quotad.

Change-Id: I0d509fabc434dd55ce9ec59157123524197fcc80
Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
BUG: 969461
Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
Reviewed-on: http://review.gluster.org/6572
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-01-25 09:10:12 -08:00
Raghavendra G
a10100a4b8 features/quota: maintain correct link_count in ancestry building
codepath.

Ancestry building codepath can be executed simultaneously when a file
has hardlinks. So, following fixes are needed:

* modify local->link_count under locks in ancestry building codepath.
* before invoking check_limit on newly constructed parents,
  link_count should not be set, but instead incremented by as many
  number of new invocations of check_limit.
* decrementing link_count and the check whether the count has hit zero
  to resume the waiting call_stub should be atomic.

Change-Id: I6f52e50547362a5ded6bd9f085570223aea372d1
BUG: 969461
Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
Reviewed-on: http://review.gluster.org/6491
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-01-25 08:53:01 -08:00
Raghavendra G
49eb5ea29c features/quota: remove in-memory accounting of files in enforcer
Accounting was done in enforcer (though marker is the ultimate source
of truth) to offset cached directory size becoming stale. However,
with enforcer being moved to brick we can no longer maintain correct
cluster wide size for a directory. Hence removing accounting code from
enforcer.

Change-Id: I5ea94234da4da85ed5f5ced1354d8de3454b3fcb
BUG: 969461
Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
Reviewed-on: http://review.gluster.org/6434
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-01-25 07:51:10 -08:00