summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * glusterd: Fix race in pid file updateRavishankar N2014-02-032-32/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * tests: Fix regression failuresVijay Bellur2014-02-032-2/+7
| | | | | | | | | | | | | | | | | | | | 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>
| * build: GFAPI_VERSION should be 6.0.0 not 0.0.6Harshavardhana2014-02-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -------------------------------------> "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>
| * geo-rep: Fixing a memory leak issue reported by CoverityLalatendu Mohanty2014-02-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * dht: do not remove linkfile if file exist in cached sub volumeVijaykumar M2014-02-022-19/+158
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * cluster/afr: Add gfid to index in wind un-conditionallyPranith Kumar K2014-01-291-9/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * features/qemu-block: Remove unref of freed iobufPoornima2014-01-291-1/+0
| | | | | | | | | | | | | | | | | | | | 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>
| * tests: Add sanity check for mount-optionsPranith Kumar K2014-01-292-2/+143
| | | | | | | | | | | | | | | | | | 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>
| * features/quota: Correct the statfs calculation when set limit is beyond ...Varun Shastry2014-01-281-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Example of how to add extra info to changelog records.Jeff Darcy2014-02-114-2/+45
| | | | | | | | | | | | | | | | This is a bit hacky so far, but this is the direction we need to go for all fops that take extra data like modes, uids, times, or keys. Change-Id: I02968611bc46beda108b4caf65cd6a8928679e16 Signed-off-by: Jeff Darcy <jdarcy@redhat.com>
* | Merge "nsr-recon: bring data_worker_fun in line with coding standard"Jeff Darcy2014-02-111-228/+245
|\ \
| * | nsr-recon: bring data_worker_fun in line with coding standardJeff Darcy2014-02-041-228/+245
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...or any reasonable one. OK, not in line, but closer. This introduces only minor functional change, in the form of new error messages for cases that haven't been implemented yet. Mostly it's just a matter of making the code readable and reviewable. Change-Id: Ide76f8b9ca1fb79f8f2772bc70a6f39656f49816 Signed-off-by: Jeff Darcy <jdarcy@redhat.com>
* | | Merge "nsr-server: update etcd-api to match upstream"Jeff Darcy2014-02-112-39/+39
|\ \ \
| * | | nsr-server: update etcd-api to match upstreamJeff Darcy2014-02-032-39/+39
| |/ / | | | | | | | | | | | | Change-Id: I91e2d61ecc924346d1c3c85eaef1193fddb52ecd Signed-off-by: Jeff Darcy <jdarcy@redhat.com>
* | | nsr-recon: fix entry-count error when logs are preallocatedJeff Darcy2014-02-111-12/+65
| | | | | | | | | | | | | | | Change-Id: I48dc83f5ea5a47ec8ef7eaadf8ecbc5f2a725fd3 Signed-off-by: Jeff Darcy <jdarcy@redhat.com>
* | | nsr: add first reconciliation testJeff Darcy2014-02-114-3/+91
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test itself fails, because reconciliation never actually seems to complete. Instead, it fills up several log files with 16M lines worth of junk, even though we only did ~200 writes. Fencing is also disabled so we can make progress despite this. Still, this test should provide a basic framework for testing reconciliation once it's fixed. This patch also fixes the hard-coded executable path used to start the recon daemon. Without this, starting the brick fails on a standard install (because the hard-coded path was to a non-standard location). Change-Id: I982967d796c3fb5713c5062912be2d804dcc0149 Signed-off-by: Jeff Darcy <jdarcy@redhat.com>
* | Merge "features/changelog: remove dead code and fix compile warnings"Jeff Darcy2014-02-031-116/+1
|\ \
| * | features/changelog: remove dead code and fix compile warningsVenky Shankar2014-01-311-116/+1
| | | | | | | | | | | | | | | Change-Id: I869121a31c057a73534e59db91a7d2392037763a Signed-off-by: Venky Shankar <vshankar@redhat.com>
* | | Merge "nsr-server: add periodic fsync (as syncop)"Jeff Darcy2014-02-031-1/+9
|\ \ \
| * | | nsr-server: add periodic fsync (as syncop)Jeff Darcy2014-01-291-1/+9
| |/ / | | | | | | | | | | | | Change-Id: I2fabe572ce0431f92fc361b338e262f1ecf5df66 Signed-off-by: Jeff Darcy <jdarcy@redhat.com>
* / / etcd-sim: fix stdio-buffering problemJeff Darcy2014-01-291-38/+68
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | Leader election was not working because processes were continuing to read their own cached copies of the data file contents, not seeing each others' changes. Fflush is not sufficient to ensure that data propagates from one process to another. Even ensuring that it gets to disk requires an fsync as well (which we weren't doing). The only viable solution is to *reopen* the data file with an empty buffer. This also makes it easier to ensure correct locking across the whole file, instead of just from the previous seek position to EOF. Change-Id: I165d55afd5804dc3f579ea7e55c56da5066ae6c1 Signed-off-by: Jeff Darcy <jdarcy@redhat.com>
* | Merge "NSR reconciliation: Adding index for each op"Jeff Darcy2014-01-286-4/+22
|\ \
| * | NSR reconciliation: Adding index for each opRaghavan P2014-01-236-4/+22
| | | | | | | | | | | | | | | | | | | | | We need to have the leader generate an index number for each changelog entry. Change-Id: If451dc00a21dbc481771b713ac75fd0af6887014 Signed-off-by: Raghavan P <rpichai@redhat.com>
* | | Merge branch 'upstream'Jeff Darcy2014-01-2866-781/+1464
|\ \ \ | |/ / |/| / | |/
| * mount/fuse: adding a setxattr filter pass for geo-rep create.Ajeet Jha2014-01-281-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * features/gfid-access: populating inode during virtual_lookup_cbk.Ajeet Jha2014-01-282-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * mgmt/glusterd: Set right op versions for few options.Vijay Bellur2014-01-281-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| * cluster/afr: Change default_value for option self-heal-daemonVijay Bellur2014-01-271-1/+1
| | | | | | | | | | | | | | | | | | 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>
| * tests: Add rpc coverage tests.Vijay Bellur2014-01-272-2/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * features/gfid-access: fix lookup on .gfid/<parent>/bnameVenky Shankar2014-01-273-0/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * mgmt/glusterd: make sure quota enforcer has established connection with ↵Raghavendra G2014-01-2510-73/+181
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * features/quota: maintain correct link_count in ancestry buildingRaghavendra G2014-01-251-53/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * features/quota: remove in-memory accounting of files in enforcerRaghavendra G2014-01-254-222/+212
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * tests: support regex in EXPECT constructsAnand Avati2014-01-251-4/+4
| | | | | | | | | | | | | | | | | | | | | | Instead of just strings, provide the ability to specify a regex of the pattern to expect Change-Id: I6ada978197dceecc28490a2a40de73a04ab9abcd Signed-off-by: Anand Avati <avati@redhat.com> Reviewed-on: http://review.gluster.org/6788 Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com>
| * glusterd: Free op_errstr before it goes out of scope.Ira Cooper2014-01-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Also removed the NULL check on path_list, as it shouldn't be needed. Change-Id: I5b655f7b383f301afa8fc1c1c09b31e2afe47f0f CID: 1138527 BUG: 789278 Signed-off-by: Ira Cooper <ira@samba.org> Reviewed-on: http://review.gluster.org/6784 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
| * cluster/dht: set op_errno correctly during migration.Raghavendra G2014-01-251-3/+18
| | | | | | | | | | | | | | | | | | | | Change-Id: I65acedf92c1003975a584a2ac54527e9a2a1e52f BUG: 1010241 Signed-off-by: Raghavendra G <rgowdapp@redhat.com> Reviewed-on: http://review.gluster.org/6219 Reviewed-by: Shyamsundar Ranganathan <srangana@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
| * nfs/server: Logic error in mount tab handling.Ira Cooper2014-01-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This error likely causes a double free and also a memory leak. Change-Id: I299209a8b5bf8aaf487e52e9a4f00948e1d40eb5 CID: 1124703 BUG: 789278 Signed-off-by: Ira Cooper <ira@samba.org> Reviewed-on: http://review.gluster.org/6778 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
| * glusterd: Free leaked error message.Ira Cooper2014-01-241-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The way the previous code was written you couldn't tell if the string was from the data area, or allocated, so we switched how the error message is printed, and now free unconditionally. Change-Id: Ia83cf9893acdfb5d537a61cc0bbf4aa7689e483d CID: 1124704 BUG: 789278 Signed-off-by: Ira Cooper <ira@samba.org> Reviewed-on: http://review.gluster.org/6779 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
| * mgmt: Fix memory leak of brickid from gf_asprintf.Ira Cooper2014-01-241-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | No GF_FREE, so one was put into the return path with proper checking. Change-Id: Idde2803608409dcbf216062f83b7f4493946ba70 CID: 1124718 BUG: 789278 Signed-off-by: Ira Cooper <ira@samba.org> Reviewed-on: http://review.gluster.org/6755 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
| * libgfapi: Remove useless call to lstatJose A. Rivera2014-01-241-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's no need to lstat cmd_args->volfile, since we already check to see if fopen fails. The error message was largely the same. BUG: 789278 CID: 1124869 Change-Id: I10827154b32c72d2e4a1ab0d3c1e464f8af6ffee Signed-off-by: Jose A. Rivera <jarrpa@redhat.com> Reviewed-on: http://review.gluster.org/6783 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
| * libgfapi: Fix pointer dereference before NULL checkJose A. Rivera2014-01-241-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ctx is not checked for NULL before it is dereferenced, though the check in "err" seems to suggest we should guard against it. BUG: 789278 CID: 1124827 Change-Id: I6ed0b42992af5f370cce9aa2feb56811cdd54b42 Signed-off-by: Jose A. Rivera <jarrpa@redhat.com> Reviewed-on: http://review.gluster.org/6782 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
| * features/quota: use STACK_WIND_TAIL when quota is turned off.Raghavendra G2014-01-241-168/+207
| | | | | | | | | | | | | | | | | | Change-Id: I8a0b7f3a1995a72560c210efbad1eaafb0bdf329 BUG: 969461 Signed-off-by: Raghavendra G <rgowdapp@redhat.com> Reviewed-on: http://review.gluster.org/6373 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
| * cli: Add options to the CLI that let the user control the reset ofDawit Alemu2014-01-2412-76/+294
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | stats "volume profile info" automatically clears incremental stats. There isn't a command to: - fetch stats without clearing incremental stats and - clear cumulative and incremental stats This change introduces two arguments (i.e. peek and clear). 'clear' will wipe both incremental and cumulative stats. 'peek' fetches stats without wiping incremental stats. 'volume profile info peek' - fetches incremental and cumulative stats without wiping incremental stats 'volume profile info incremental peek' - fetches incremental stats without wiping incremental stats 'volume profile info clear' - clears both incremental and cumultiave stats Change-Id: I91834515ad672eca5f882809941147d7d997c4c9 BUG: 1047416 Signed-off-by: Dawit Alemu <dalemu@redhat.com> Reviewed-on: http://review.gluster.org/6620 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Kaushal M <kaushal@redhat.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
| * libgfapi: Fix pointer dereference before NULL checkJose A. Rivera2014-01-241-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Call to dict_keys_join dereferences xattr before it is checked for NULL. Restructured the function to check for NULL earlier and call dict_unref only when needed. BUG: 789278 CID: 1124826 Change-Id: I732fa304ad6f3b921c589832d13f73bbd36f589c Signed-off-by: Jose A. Rivera <jarrpa@redhat.com> Reviewed-on: http://review.gluster.org/6763 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
| * cluster/dht: goto statements may cause loop exit before memory is freed.Christopher R. Hertel2014-01-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Memory is allocated at the top of the while loop via a call to gf_strdup(), but there are several goto calls that exit the loop, and the memory is not freed before each of those calls to goto. This fix moves the final call to GF_FREE() higher in the loop so that the memory is correctly freed. Two variables, dup_str and str_tmp1, point to portions of the allocated memory. Neither are used past the final call to GF_FREE( dup_str ). BUG: 789278 CID: 1124780 Change-Id: Id24b80cdbfd8b8855c80fffec63d7fce98cbed4a Signed-off-by: Christopher R. Hertel <crh@redhat.com> Reviewed-on: http://review.gluster.org/6771 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
| * cluster/stripe: Remove redundant code blocksChristopher R. Hertel2014-01-241-24/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This appears to have been a cut&paste error. The same set of 12 lines was repeated three times, causing a pointer to allocated memory to be overwritten twice resulting in a memory leak. This patch removes the redundant code. BUG: 789278 CID: 1128915 Change-Id: I3e4a3703b389c00e2a4e99e0a7368c5a3dda74d0 Signed-off-by: Christopher R. Hertel <crh@redhat.com> Reviewed-on: http://review.gluster.org/6769 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
| * features/compress: rename "compress" option to "network.compression"Niels de Vos2014-01-243-33/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prevent mistaking the "compress" options for storage (at rest) compression. The cdc-xlator is implemented to support compressing of network traffic (READ and WRITE FOPs). URL: http://www.gluster.org/community/documentation/index.php/Features/On-Wire_Compression_+_Decompression Change-Id: I9fedf4106dcb226d135ab92e4b533aff284881d7 BUG: 1053670 CC: Venky Shankar <vshankar@redhat.com> CC: Prashanth Pai <ppai@redhat.com> Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/6765 Reviewed-by: Prashanth Pai <ppai@redhat.com> Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
| * protocol: pass the size of the data in the WRITE on-wire FOPNiels de Vos2014-01-242-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Capturing GlusterFS traffic with tcpdump and displaying it in Wireshark shows that the size of all WRITEs are 0 bytes. It seems that the attribute is not used, and the size is calculated an other way. Even if the size attribute is not used (yet), it should be set correctly to prevent confusing while debugging network traffic with Wireshark or other tools. Note that the on-wire format is not being changed with this patch. The size is already part of the structure that is exchanged between the client and server. Change-Id: I9d67fe17bf203672116dea4948328e2af4004677 BUG: 1057264 Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/6766 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vikhyat Umrao <vumrao@redhat.com>
| * gfid-access: fix the issue of entry creation with wrong gfidAmar Tumballi2014-01-231-6/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * dict_set was happening with a string instead of 'uuid_t' causing entry creations to happen with wrong gfid * revalidate was causing excessive ESTALE logs as lookup was happening on '.gfid/' path itself causing server to become clueless Change-Id: I3b76ce7fdec9c2ff785be21f506f859f489f80f0 BUG: 1054199 Signed-off-by: Amar Tumballi <amarts@redhat.com> Reviewed-on: http://review.gluster.org/6520 Reviewed-by: Anand Avati <avati@redhat.com> Tested-by: Anand Avati <avati@redhat.com>
| * geo-rep: get new config value after config value resetAravinda VK2014-01-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When config.read is called it preserves the previous values from the the previously opened config file. For example import ConfigParser config = ConfigParser.RawConfigParser() config.read("defaults.conf") config.read("preferences.conf") When change in config file is identified it will open new instance of config to avoid getting old config values. Change-Id: Iec677e61ebd2c59c95aea94481f569d78bd913e4 Signed-off-by: Aravinda VK <avishwan@redhat.com> Reviewed-on: http://review.gluster.org/6747 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>