summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* nfs: make it possible to disable nfs.mount-rmtabNiels de Vos2015-05-035-47/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When there are many NFS-clients doing very often mount/unmount actions, the updating of the 'rmtab' can become a bottleneck and cause delays. In these situations, the output of 'showmount' may be less important than the responsiveness of the (un)mounting. By setting 'nfs.mount-rmtab' to the value "/-", the cache file is not updated anymore, and the entries are only kept in memory. Cherry picked from commit 331ef6e1a86bfc0a93f8a9dec6ad35c417873849: > BUG: 1169317 > Change-Id: I40c4d8d754932f86fb2b1b2588843390464c773d > Reported-by: Cyril Peponnet <cyril@peponnet.fr> > Signed-off-by: Niels de Vos <ndevos@redhat.com> > Reviewed-on: http://review.gluster.org/9223 > Tested-by: Gluster Build System <jenkins@build.gluster.com> > Reviewed-by: soumya k <skoduri@redhat.com> > Reviewed-by: jiffin tony Thottan <jthottan@redhat.com> > Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com> This change also contains the fixes to the test-case from: > > nfs: fix spurious failure in bug-1166862.t > > In some environments, "showmount" could return an NFS-client that does > not start with "1". This would cause the test-case to fail. The check is > incorrect, the number of lines should get counted instead. > > Also moving the test-case to the .../nfs/... subdirectory. > > Cherry picked from commit ee9b35a780607daddc2832b9af5ed6bf414aebc0: > BUG: 1166862 > Change-Id: Ic03aa8145ca57d78aea01564466e924b03bb302a > Signed-off-by: Niels de Vos <ndevos@redhat.com> > Reviewed-on: http://review.gluster.org/10419 > Tested-by: Gluster Build System <jenkins@build.gluster.com> > Reviewed-by: Vijay Bellur <vbellur@redhat.com> > Change-Id: I40c4d8d754932f86fb2b1b2588843390464c773d BUG: 1215385 Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/10379 Tested-by: NetBSD Build System Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* features/shard: Take hole size into account while computing ia_sizeKrutika Dhananjay2015-05-032-2/+10
| | | | | | | | | | | Backport of: http://review.gluster.org/10446 Change-Id: Ic05e07801605c0d610545368a513b56d8df21bf4 BUG: 1214247 Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com> Reviewed-on: http://review.gluster.org/10493 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* features/shard: Add "is-directory" checks in stat/fstatKrutika Dhananjay2015-05-031-0/+12
| | | | | | | | | | | | | | | | | Backport of: http://review.gluster.org/10427 During mount, NFS directly calls stat on the root of the volume without sending a lookup on it. This was causing inode_ctx_get_block_size() to fail on /. A check is now added in [f]stat which would ensure no action is taken by shard xlator when the operation is on a directory. Change-Id: I8645b7fe58b2d44b5f527d50c1c7102de44acc00 BUG: 1214247 Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com> Reviewed-on: http://review.gluster.org/10509 Tested-by: NetBSD Build System Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* geo-rep: Re Enable ignore_deletes OptionAravinda VK2015-05-033-4/+13
| | | | | | | | | | | | | | | | | | | | | | | If this option is set, Deletes will not be propogated to Slave. This option is applicable for UNLINK and RMDIR. gluster volume geo-replication <MASTER> <SLAVEHOST>::<SLAVEVOL> \ config ignore_deletes true Default value is false. PS: Use this option with caution, If you create the file in master with same path then it fails to sync to slave. Old file in Slave will have different GFID compared to New. BUG: 1217929 Change-Id: I1f7816d1ea36460a654873739d3fb1b6c13e0f8d Signed-off-by: Aravinda VK <avishwan@redhat.com> Reviewed-on: http://review.gluster.org/9583 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Kotresh HR <khiremat@redhat.com> Reviewed-on: http://review.gluster.org/10498 Tested-by: NetBSD Build System
* geo-rep: Do not fail-back to xsync if Changelog is failedAravinda VK2015-05-031-25/+16
| | | | | | | | | | | | | | | | | | Unless change_detector is set to xsync, do not fallback to xsync, except during Initial Sync or Partial History. When a brick goes down, Changelog exception is raised due to which geo-rep fallback to xsync. Even after brick comes back geo-rep will not consume Changelog. BUG: 1217928 Change-Id: I1f8ea26ac7735f6ee09b3b143ee3eb66bfc9fc37 Signed-off-by: Aravinda VK <avishwan@redhat.com> Reviewed-on: http://review.gluster.org/9758 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Saravanakumar Arumugam <sarumuga@redhat.com> Reviewed-by: Kotresh HR <khiremat@redhat.com> Reviewed-on: http://review.gluster.org/10496
* tools/glusterfind: Do not fail to list if Session is invalidAravinda VK2015-05-031-1/+7
| | | | | | | | | | | | If session is invalid, Show the session time as "Session Corrupted" BUG: 1217927 Change-Id: I10f7fb79f6a3a2cabab3f21bce86f2a2f424e8b6 Signed-off-by: Aravinda VK <avishwan@redhat.com> Reviewed-on: http://review.gluster.org/10164 Reviewed-by: Kotresh HR <khiremat@redhat.com> Reviewed-on: http://review.gluster.org/10497 Tested-by: Gluster Build System <jenkins@build.gluster.com>
* nfs: Enable throttling for rpcsvcVijay Bellur2015-05-031-0/+7
| | | | | | | | | | | | | | | | Busy nfs servers need throttling to prevent duplicate requests from casuing an increase in memory consumption. Change-Id: I855bb1e841ba06b523e55f86f7788a0f7a49d444 BUG: 1216310 Signed-off-by: Vijay Bellur <vbellur@redhat.com> Reviewed-on: http://review.gluster.org/10269 Reviewed-by: Niels de Vos <ndevos@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Raghavendra G <rgowdapp@redhat.com> Tested-by: Raghavendra G <rgowdapp@redhat.com> Reviewed-on: http://review.gluster.org/10444 Tested-by: NetBSD Build System
* rpc: Perform throttling conditionallyVijay Bellur2015-05-031-6/+19
| | | | | | | | | | | | | | | | This change makes rpc's throttling to be performed only if attribute throttle is set in rpcsvc_t. Change-Id: I24620095570e206f5dc8fc6208fcf55cb22a1658 BUG: 1216310 Signed-off-by: Vijay Bellur <vbellur@redhat.com> Reviewed-on: http://review.gluster.org/10268 Reviewed-by: Niels de Vos <ndevos@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Raghavendra G <rgowdapp@redhat.com> Tested-by: Raghavendra G <rgowdapp@redhat.com> Reviewed-on: http://review.gluster.org/10443 Tested-by: NetBSD Build System
* rpc: Introduce attribute throttle for rpcsvc_tVijay Bellur2015-05-033-0/+58
| | | | | | | | | | | | | | | | | | | | | | | | This attribute will be used to set/unset throttling for a rpcsvc_t program subsequently. Following APIs have been added to get/set throttle. int rpcsvc_set_throttle (rpcsvc_t svc, gf_boolean_t value); gf_boolean_t rpcsvc_get_throttle (rpcsvc_t svc); Change-Id: Ica8a9166cef22eb92d81fe68e48d0a5e24a1ef95 BUG: 1216310 Signed-off-by: Vijay Bellur <vbellur@redhat.com> Reviewed-on: http://review.gluster.org/10267 Reviewed-by: Niels de Vos <ndevos@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Raghavendra G <rgowdapp@redhat.com> Tested-by: Raghavendra G <rgowdapp@redhat.com> Reviewed-on: http://review.gluster.org/10442 Tested-by: NetBSD Build System
* gfapi: Modified CACHE_INVALIDATE flagsSoumya Koduri2015-05-032-28/+21
| | | | | | | | | | | | | | | | Have prefixed CACHE_INVALIDATE flags exposed via gfapi with 'GFAPI_'. In addition as INODE_UPDATE is asynchronous and may need some support in NFS-Ganesha, have taken it out for now. Will revisit it later. BUG: 1217711 Change-Id: If5cd7262c85946ade04892105100aafe66887e0e Signed-off-by: Soumya Koduri <skoduri@redhat.com> Reviewed-on: http://review.gluster.org/10225 Reviewed-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/10484 Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com>
* NFS-Ganesha: Handling CLI commands when NFS-Ganesha keys are setMeghana Madhusudhan2015-05-0314-135/+385
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When ganesha.enable is set to on and features.ganesha is enabled, there are a few behaviour changes that should be seen in other volume operations. 1. ganesha.enable can be set to 'on' only when features.ganesha is set to 'enable' 2.When gluster vol is started, and if ganesha.enable key was set to 'on', it should automatically export the volume via NFS-Ganesha. 3.When ganesha.enable is set to 'on', and a volume is stopped, that volume should be unexported via NFS-Ganesha. 4. gluster vol reset <volname> If ganesha.enable was set to on, then unexport the volume via NFS-Ganesha. 5. gluster vol reset all If features.ganesha is set to enable, as part of reset all, set it to disable. This translates to teardown cluster. All the above problems are fixed by checking the global key and value, depending on the value, specific functions are called. And also, functions related to global commands are moved to cli-cmd-global.c Commit phase of features.ganesha enable/disable runs the ganesha-ha.sh setup/teardown respectively. Before the script begins, it is important that the NFS-Ganesha service starts on all the HA nodes. Having the start service commands in the commit phase could lead to problems. Moving the pre-requisite service start commands to the 'stage' phase. Change-Id: I9084d004c0aaf960f59ed8aa2d7f1c9309924658 BUG: 1217793 Signed-off-by: Meghana Madhusudhan <mmadhusu@redhat.com> Reviewed-on: http://review.gluster.org/10489 Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com> Tested-by: NetBSD Build System Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Niels de Vos <ndevos@redhat.com>
* cli,doc: man page of gluster (man gluster) should show bitrot command ↵Gaurav Kumar Garg2015-05-023-19/+21
| | | | | | | | | | | | | | | | | | | | | | | | | information Currently when user type incorrent bitrot specific command then every time cli error suggest wrong command to reuse. With this fix it cli will suggest specific bitrot command when user type wrong bitrot command. With this fix it will also display bitrot command information in man page by typing 'man gluster' Change-Id: I7dbf31332a8cc0723e54e8a37fea0afe19d95e0e BUG: 1207532 Signed-off-by: Gaurav Kumar Garg <ggarg@redhat.com> Reviewed-on: http://review.gluster.org/10273 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Venky Shankar <vshankar@redhat.com> Reviewed-by: Atin Mukherjee <amukherj@redhat.com> Tested-by: NetBSD Build System Reviewed-by: Kaushal M <kaushal@redhat.com> (cherry picked from commit 9f7557a50584dd71e7d84cedf16d4937dc821f42) Reviewed-on: http://review.gluster.org/10461 Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* build: Autogenerated files delivered in dist tarballKaleb S. KEITHLEY2015-05-021-0/+2
| | | | | | | | | Change-Id: I74589a790e047f5d461030705d217b0827d02c0a BUG: 1216128 Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com> Reviewed-on: http://review.gluster.org/10431 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* storage/posix: prevent NULL dereferencePranith Kumar K2015-05-021-3/+3
| | | | | | | | | | | | | | Backport of http://review.gluster.org/10383 filler->fd is never set but used. BUG: 1216303 Change-Id: I02dc346c526be5af4ea55ae13e8314316f127455 Signed-off-by: Pranith Kumar K <pkarampu@redhat.com> Reviewed-on: http://review.gluster.org/10437 Tested-by: Gluster Build System <jenkins@build.gluster.com> Tested-by: NetBSD Build System Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* quota: Validate NULL inode from the entries received in readdirp_cbkvmallika2015-05-022-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a backport of http://review.gluster.org/#/c/10416/ > In quota readdirp_cbk, inode ctx filled for the all entries > received. > In marker readdirp_cbk, files/directories are inspected for > dirty > > There is no guarantee that entry->inode is populated. > If entry->inode is NULL, this needs to be treated as readdir > > Change-Id: Id2d17bb89e4770845ce1f13d73abc2b3c5826c06 > BUG: 1215550 > Signed-off-by: vmallika <vmallika@redhat.com> > Reviewed-on: http://review.gluster.org/10416 > Tested-by: NetBSD Build System > Tested-by: Gluster Build System <jenkins@build.gluster.com> > Reviewed-by: Raghavendra G <rgowdapp@redhat.com> > Tested-by: Raghavendra G <rgowdapp@redhat.com> Change-Id: I6e01b16bae1555efb6c20e49c9c473d81c6d46a0 BUG: 1217406 Signed-off-by: vmallika <vmallika@redhat.com> Reviewed-on: http://review.gluster.org/10468 Reviewed-by: Raghavendra G <rgowdapp@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Tested-by: NetBSD Build System Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* cluster/ec: Handle unhandled statesPranith Kumar K2015-05-021-0/+3
| | | | | | | | | | | | | | Backport of http://review.gluster.org/10390 This was leading to hangs when get_size_and_version fails BUG: 1216303 Change-Id: Iae455ee957b9377e1b0b711b0ef567d50d32c7cb Signed-off-by: Pranith Kumar K <pkarampu@redhat.com> Reviewed-on: http://review.gluster.org/10436 Tested-by: NetBSD Build System Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* geo-rep: Added GF_CPPFLAGS to Makefile.amSoumya Koduri2015-05-021-0/+1
| | | | | | | | | | | | | | | | This change is required to include contrib files in glusterfs.h BUG: 1217711 Change-Id: I3b6c9485950db9fa1f86efbd4b6c932d33e9bdf4 Signed-off-by: Soumya Koduri <skoduri@redhat.com> Reviewed-on: http://review.gluster.org/10200 Reviewed-by: Kotresh HR <khiremat@redhat.com> Reviewed-by: Raghavendra Talur <rtalur@redhat.com> Reviewed-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/10483 Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com> Tested-by: NetBSD Build System Tested-by: Gluster Build System <jenkins@build.gluster.com>
* gfapi: Fix in glfs_h_create_from_handleSoumya Koduri2015-05-022-3/+10
| | | | | | | | | | | | | | | | | While constructing glfs_object from the handle given, incase if inode is found in the inode table, we need not do "syncop_lookup" unless we need to return the inode attributes. BUG: 1217711 Change-Id: Iaf296a80f721f9fca38d8023b83d37e6e5d970a5 Signed-off-by: Soumya Koduri <skoduri@redhat.com> Reviewed-on: http://review.gluster.org/10232 Reviewed-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/10485 Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Tested-by: NetBSD Build System Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* cluster/afr,dht: Fix memleak after syncop_readlinkPranith Kumar K2015-05-012-0/+2
| | | | | | | | | | | | Backport of http://review.gluster.org/10305 BUG: 1216302 Change-Id: Icb0f2d6bbff806e1c5827fabcbf46b9b7983491f Signed-off-by: Pranith Kumar K <pkarampu@redhat.com> Reviewed-on: http://review.gluster.org/10441 Tested-by: NetBSD Build System Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* dht: tackle thread race in dht_getxattr_cbkSusant Palai2015-05-011-17/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | problem: 1. When two threads execute in parallel in dht_getxattr_cbk it may so happen that, both may find local->xattr to be NULL. As a result dht_aggregate_xattr may not get executed. 2. In dht_getxattr_cbk, thread1 thread2 T1 this_call_cnt = 2 -1 T2 this_call_cnt = 1 - 1 T3 fills local_xattr T4 DHT_STACK_UNWIND -> local_wipe T5 tries to dereference local which is already freed, leading to crash. Solution: for problem1: Execute critical section inside frame lock to resolve race. for problem2: Calculate this_call_count just before out section. BUG: 1217386 Change-Id: I14fdb0cb1825896721670d71f48c93053448be7b Signed-off-by: Susant Palai <spalai@redhat.com> Reviewed-on: http://review.gluster.org/10389 Reviewed-by: Anuradha Talur <atalur@redhat.com> Reviewed-by: N Balachandran <nbalacha@redhat.com> Reviewed-by: Kotresh HR <khiremat@redhat.com> Reviewed-by: Shyamsundar Ranganathan <srangana@redhat.com> Signed-off-by: Susant Palai <spalai@redhat.com> Reviewed-on: http://review.gluster.org/10467 Tested-by: Gluster Build System <jenkins@build.gluster.com>
* common-ha: ganesha-ha.sh delete-node implementationKaleb S. KEITHLEY2015-05-014-110/+213
| | | | | | | | | | | | | | | | | | | | | | | | | | | | omnibus patch consisting of: + completed implemenation of delete-node (BZ 1213934 (master 1213933)) + teardown leaves /var/lib/nfs symlink (BZ 1213927 (master 1210712)) + setup copy config, teardown clean /etc/cluster (BZ 1214888 (master 1212823)) setup for copy config, teardown clean /etc/cluster: 1. on one (primary) node in the cluster, run: `ssh-keygen -f /var/lib/glusterd/nfs/secret.pem` Press Enter twice to avoid passphrase. 2. deploy the pubkey ~root/.ssh/authorized keys on _all_ nodes, run: `ssh-copy-id -i /var/lib/glusterd/nfs/secret.pem.pub root@$node` 3. copy the keys to _all_ nodes in the cluster, run: `scp /var/lib/glusterd/nfs/secret.* $node:/var/lib/glusterd/nfs/` N.B. this allows setup, teardown, etc., to be run on any node Change-Id: I66e947538769c3c531cfdb89854997130ca5c05b BUG: 1213934 Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com> Reviewed-on: http://review.gluster.org/10318 Tested-by: NetBSD Build System Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Niels de Vos <ndevos@redhat.com>
* cli: validate brick while creating replicate volumeGaurav Kumar Garg2015-05-011-17/+21
| | | | | | | | | | | | | | | | | | | | | | | When user create replicate volume by typing incomplete command "gluster volume create <VOLNAME> replica replica_count" then cli is crashing. Fix is to validate command properly. If user have not given any brick then it should return proper cli command usage error message. Change-Id: I3d4096a144e20f21ab956049af1dae196217a807 BUG: 1211576 Signed-off-by: Gaurav Kumar Garg <ggarg@redhat.com> Reviewed-on: http://review.gluster.org/10245 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Atin Mukherjee <amukherj@redhat.com> Reviewed-by: Ravishankar N <ravishankar@redhat.com> Tested-by: NetBSD Build System Reviewed-by: Kaushal M <kaushal@redhat.com> Tested-by: Kaushal M <kaushal@redhat.com> (cherry picked from commit ec6ccda3783e9a3edd5a2e4093e07ee37f266520) Reviewed-on: http://review.gluster.org/10462 Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* features/shard: Implement rename() fopKrutika Dhananjay2015-04-302-44/+261
| | | | | | | | | | | | | Backport of: http://review.gluster.org/10373 Change-Id: I15867667d50b2b4aad0ee3738a29f7a410d61ef4 BUG: 1214247 Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com> Reviewed-on: http://review.gluster.org/10455 Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Tested-by: NetBSD Build System Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* libglusterfs: Implementation of sync lock as recursive lock to avoid crash.anand2015-04-307-87/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | Problem : In glusterd,we are using big lock which is implemented based on sync task frame work for thread synchronization and rcu lock for data consistency. sync task frame work swap the threads if there is no worker poll threads available,due to this rcu lock and rcu unlock was happening in different threads (urcu-bp will not allow this),resulting into glusterd crash. fix : To avoid releasing the sync lock(big lock) in between rcu critical section,implemented sync lock as recursive lock. More details: link : http://www.spinics.net/lists/gluster-devel/msg14632.html Change-Id: I2b56c1caf3f0470f219b1adcaf62cce29cdc6b88 BUG: 1216942 Signed-off-by: anand <anekkunt@redhat.com> Reviewed-on: http://review.gluster.org/10285 Reviewed-by: Atin Mukherjee <amukherj@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Tested-by: NetBSD Build System Reviewed-by: Vijay Bellur <vbellur@redhat.com> (cherry picked from commit ada6b3a8800867934af57a57d5312f5a5d8374f0) Reviewed-on: http://review.gluster.org/10432 Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com> Tested-by: Vijay Bellur <vbellur@redhat.com>
* build: glfsheal should link against $(UUID_LIBS)Niels de Vos2015-04-291-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | Without this, building fails on Debian Jessie: /usr/bin/ld: glfs-heal.o: undefined reference to symbol 'uuid_clear@@UUID_1.0' /lib/x86_64-linux-gnu/libuuid.so.1: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status Makefile:503: recipe for target 'glfsheal' failed While at it, clean some of the unused defines too. Backport of: > BUG: 1206587 > Change-Id: I2e513b2a806e6241542e60007d720cca16dabb06 > Reviewed-on: http://review.gluster.org/10453 > Signed-off-by: Niels de Vos <ndevos@redhat.com> BUG: 1217176 Change-Id: I2e513b2a806e6241542e60007d720cca16dabb06 Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/10454 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
* tests: sync run-tests.sh from masterv3.7.0beta1Vijay Bellur2015-04-291-11/+14
| | | | | | | | | | | | | | | | A few commits going out of order for run-tests.sh between master and release-3.7 cause problems with cherrypicking patches for the file accepted on master. Since run-tests.sh does not contain any branch specific code, this change would be fine for release-3.7. Change-Id: I6da42a0a16293e108301f470a686c596dd70b82c BUG: 1212676 Signed-off-by: Vijay Bellur <vbellur@redhat.com> Reviewed-on: http://review.gluster.org/10434 Tested-by: NetBSD Build System Reviewed-by: Jeff Darcy <jdarcy@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com>
* quick-read: Do a null check before unrefRavishankar N2015-04-281-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport of http://review.gluster.org/10206 Commit 4ea5b8d2046b9e0bc7f24cdf1b2e72ab8b462c9e seems to have removed the check as a part of static analyis fixes but I'm seeing errors in the client log. --------------------- touch /mnt/fuse_mnt/zero-byte-file echo 3 > /proc/sys/vm/drop_caches cat /mnt/fuse_mnt/zero-byte-file mount log: [2015-04-13 05:52:21.683256] E [iobuf.c:790:iobuf_unref] (--> /usr/local/lib/libglusterfs.so.0(_gf_log_callingfn+0x232)[0x7feda12c0e24] (--> /usr/local/lib/libglusterfs.so.0(iobuf_unref+0x56)[0x7feda1304c8e] (--> /usr/local/lib/glusterfs/3.7dev/xlator/performance/quick-read.so(qr_readv_cached+0x466)[0x7fed95b7e2fc] (--> /usr/local/lib/glusterfs/3.7dev/xlator/performance/quick-read.so(qr_readv+0x70)[0x7fed95b7e385] (--> /usr/local/lib/libglusterfs.so.0(default_readv_resume+0x270)[0x7feda12d4401] ))))) 0-iobuf: invalid argument: iobuf --------------------- Change-Id: Ia6b29165cdef8783a716fe1e72d3d13bf0220aae BUG: 1214168 Signed-off-by: Ravishankar N <ravishankar@redhat.com> Reviewed-on: http://review.gluster.org/10329 Tested-by: NetBSD Build System Reviewed-by: Raghavendra Talur <rtalur@redhat.com> Tested-by: Raghavendra Talur <rtalur@redhat.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* tier: relax libgfdb required version numberEmmanuel Dreyfus2015-04-281-1/+1
| | | | | | | | | | | | | | | | | | | | | When calling dlopen() for libgfdb, do not specify the library version number "libgfdb.so.0.0.1", since libtool will not always create libraries or link with that name with the full 3-digit version. For instance on NetBSD only up to the 2-digit version is available and "libgfdb.so.0.0.1" does not exist. Instead, just specify "libgfdb.so" and rely on smymlinks installed by libtool to find the relevant library. Backport of: I074b1009d3622a122fdaeb4b99658bca3277e211 BUG: 1212676 Change-Id: I334cb6be8508051105c393ce4bb350f9df014df5 Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org> Reviewed-on: http://review.gluster.org/10408 Reviewed-by: Dan Lambright <dlambrig@redhat.com> Tested-by: NetBSD Build System Tested-by: Gluster Build System <jenkins@build.gluster.com>
* quota: display error when inode-quota cmds executed with cluster ver < 3.7vmallika2015-04-282-23/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a backport of http://review.gluster.org/#/c/10261/ > In a heterogeneous cluster with op_version less than 3.7, inode quotas will > be accounted on those bricks which has glusterfs version 3.7 and this is > not available in older version. > This will have incorrect values displayed when user queries inode count > from CLI. > > This patch will display error when inode-quota commands > are executed with cluster version less than 3.7 > > Change-Id: Ia0e6d5635d1d8e7b2e2cfc3daa7b7f9e314a263a > BUG: 1212253 > Signed-off-by: vmallika <vmallika@redhat.com> > Reviewed-on: http://review.gluster.org/10261 > Tested-by: Gluster Build System <jenkins@build.gluster.com> > Reviewed-by: Atin Mukherjee <amukherj@redhat.com> > Reviewed-by: Vijay Bellur <vbellur@redhat.com> Change-Id: I1ddd605e5b87a248aa85f0eab14c404895751083 BUG: 1215907 Signed-off-by: vmallika <vmallika@redhat.com> Reviewed-on: http://review.gluster.org/10415 Tested-by: NetBSD Build System Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* glusterd: Remove direct references to peerinfo in frame cookiesKaushal M2015-04-283-67/+158
| | | | | | | | | | | | | | | | | | | | | | RCU protection requires that we don't have direct references to protected data structures outside read-critical sections This change was developed on the git branch at [1]. This commit is a combination of the following commits on the development branch. 82ebfdd Remove direct references to peerinfo in frame cookies dec4bec Remove incorrect and unneeded code from gd_syncop_mgmt_v3_unlock_cbk_fn 7aced7b Use stack allocated uuid for frame cookie. 38e4124 Address comments from 10192/2 [1]: https://github.com/kshlm/glusterfs/tree/urcu Change-Id: Ic50e5fca0be72af5090f4cf318efa55d29075de9 BUG: 1205186 Signed-off-by: Kaushal M <kaushal@redhat.com> Reviewed-on: http://review.gluster.org/10399 Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com> Tested-by: Krishnan Parthasarathi <kparthas@redhat.com>
* cli: fix vol_type in volume info xmlAtin Mukherjee2015-04-284-4/+16
| | | | | | | | | | | | | | | | | xml parsing of voltype should be inline with the cli Backport of http://review.gluster.org/10271 Change-Id: I41ddddac00d07f03b56a041e1c3f5a132fbd7393 BUG: 1215517 Signed-off-by: Atin Mukherjee <amukherj@redhat.com> Reviewed-on: http://review.gluster.org/10271 Tested-by: NetBSD Build System Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Kaushal M <kaushal@redhat.com> (cherry picked from commit 4c3724f195240e40994b71add255f85ee1b025fb) Reviewed-on: http://review.gluster.org/10396 Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
* glusterd: incorrect rsp.op_ret handling in volume get in cliAtin Mukherjee2015-04-282-4/+4
| | | | | | | | | | | | | | | | | | | Cherry picked from commit 540fc2829bd63a2fa070c68ed105eb23145df406: > Change-Id: Iabe99c06166578fc90121e7cfdca4a6a3f5328ae > BUG: 1211132 > Signed-off-by: Atin Mukherjee <amukherj@redhat.com> > Reviewed-on: http://review.gluster.org/10229 > Reviewed-by: Niels de Vos <ndevos@redhat.com> > Tested-by: Gluster Build System <jenkins@build.gluster.com> > Reviewed-by: Kaushal M <kaushal@redhat.com> Change-Id: Iabe99c06166578fc90121e7cfdca4a6a3f5328ae BUG: 1215547 Signed-off-by: Atin Mukherjee <amukherj@redhat.com> Reviewed-on: http://review.gluster.org/10398 Reviewed-by: Niels de Vos <ndevos@redhat.com> Tested-by: NetBSD Build System Tested-by: Gluster Build System <jenkins@build.gluster.com>
* glusterd: initialize snapd svc at volume restore pathAtin Mukherjee2015-04-284-11/+35
| | | | | | | | | | | | | | | | | | | | | In restore path snapd svc was not initialized because of which any glusterd instance which went down and came back may have uninitialized snapd svc. The reason I used 'may' is because depending on the nodes in the cluster. In a single node cluster this wouldn't be a problem since glusterd_spawn_daemon takes care of initializing it. Backport of http://review.gluster.org/10304 Change-Id: I2da1e419a0506d3b2742c1cf39a3b9416eb3c305 BUG: 1215518 Signed-off-by: Atin Mukherjee <amukherj@redhat.com> Reviewed-on: http://review.gluster.org/10304 Tested-by: Gluster Build System <jenkins@build.gluster.com> Tested-by: NetBSD Build System Reviewed-by: Kaushal M <kaushal@redhat.com> (cherry picked from commit 18fd2fdd60839d737ab0ac64f33a444b54bdeee4) Reviewed-on: http://review.gluster.org/10397 Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
* build: configure: automake defaults to max filename length=99 charsKaleb S. KEITHLEY2015-04-271-1/+1
| | | | | | | | | | | | | | | | | | | | automake's default rule for making tar files invokes tar with options to use Unix V7 tar file format, which has a maximum FQ pathname length of 99 characters. Some of the new tests in .../tests/bugs/... have names that are longer than 99 chars. These files are dropped from the dist tarfile. automake can be configured to use a newer (POSIX 2001) tar format that does not have limits on the length of file names. Change-Id: I8c178880ebce7d83277ba2ee133f161036958785 BUG: 1215488 Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com> Reviewed-on: http://review.gluster.org/10393 Tested-by: NetBSD Build System Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Justin Clift <justin@gluster.org> Reviewed-by: Niels de Vos <ndevos@redhat.com>
* tier: fix off-by-one overrun in UUID stringEmmanuel Dreyfus2015-04-271-1/+1
| | | | | | | | | | | | | | | | | | UUID strings are UUID_CANONICAL_FORM_LEN (36) bytes long plus the trailing nul character that various function (e.g.: uuid_unparse) will add. As a consequence, UUID strings must be declared as UUID_CANONICAL_FORM_LEN+1 long, otherwise we get a off-by-one overrun that corrupts the next variable on stack. Backport of: I5837ad6ca06fa17cc7ab143eedd02d8099ecca2a BUG: 1212676 Change-Id: I27bd223bdd72cda679b7cdc861e09e0f367bd6e4 Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org> Reviewed-on: http://review.gluster.org/10395 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Dan Lambright <dlambrig@redhat.com>
* features/trash: Minor coverity fixesAnoop C S2015-04-261-4/+23
| | | | | | | | | | | | | | | | | | | | Backport of http://review.gluster.org/10315 CID 1288784 CID 1288785 CID 1288795 CID 1288796 CID 1288797 CID 1288802 Change-Id: I51dd7653a2dce3b7b6387e5d91c1c07eb157a04b BUG: 1215026 Signed-off-by: Anoop C S <achiraya@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Tested-by: jiffin tony Thottan <jthottan@redhat.com> Reviewed-by: jiffin tony Thottan <jthottan@redhat.com> Reviewed-on: http://review.gluster.org/10361 Tested-by: NetBSD Build System
* features/shard: Implement unlink fopKrutika Dhananjay2015-04-262-233/+495
| | | | | | | | | | | | Backport of: http://review.gluster.org/10249 Change-Id: I01761721224c4efbbc5e4992e70ecf68b3868d63 BUG: 1214247 Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com> Reviewed-on: http://review.gluster.org/10377 Tested-by: Gluster Build System <jenkins@build.gluster.com> Tested-by: NetBSD Build System Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* tiering: skip CTR-xlator and config options when disabledNiels de Vos2015-04-262-0/+7
| | | | | | | | | | | | | | | | | | | | | When compiling with --disable-tiering, GlusterD should not contain any references to the ChangeTimeRecorder xlator or any of the data tiering options. Cherry picked from commit a675ab96b917fc48fc3d7ca035590ebd7cf102bd: > BUG: 1213125 > Change-Id: Idb46fb80f0ca8b66115e06841d9ec15ba14c24a0 > Signed-off-by: Niels de Vos <ndevos@redhat.com> > Reviewed-on: http://review.gluster.org/10296 > Reviewed-by: Dan Lambright <dlambrig@redhat.com> > Tested-by: Gluster Build System <jenkins@build.gluster.com> BUG: 1215382 Change-Id: Idb46fb80f0ca8b66115e06841d9ec15ba14c24a0 Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/10378 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Dan Lambright <dlambrig@redhat.com>
* timer: Fix use after free issuePranith Kumar K2015-04-261-1/+5
| | | | | | | | | | BUG: 1215173 Change-Id: Ic0fcfa009d1e4828ffd245154cd3e042a1b2bc2e Signed-off-by: Pranith Kumar K <pkarampu@redhat.com> Reviewed-on: http://review.gluster.org/10368 Tested-by: NetBSD Build System Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* Tests: fix spurious failures in trash.tEmmanuel Dreyfus2015-04-261-46/+69
| | | | | | | | | | | | | | Fix timing problems that cause rare spurious failures in trash.t Backport of I673e033b53b6b4bb993c22fadbdcee725b2c1e96 BUG: 1212676 Change-Id: I319f94b7e099e189c08543da526d90d36318fe4b Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org> Reviewed-on: http://review.gluster.org/10374 Tested-by: Gluster Build System <jenkins@build.gluster.com> Tested-by: NetBSD Build System Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* features/shard: Consume size and block count in metadata read opsKrutika Dhananjay2015-04-262-98/+271
| | | | | | | | | | | | | | | | | | Backport of : http://review.gluster.org/10098 Metadata read fops like lookup, stat etc will now fetch the xattr that holds the size and block count information, extract the size and block count fields and set them in respective stbuf before unwinding the resultant iatt to the parent xlator. Change-Id: If7d2c4af886f8d70dc69d7cb09f1f66be391f198 BUG: 1214248 Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com> Reviewed-on: http://review.gluster.org/10331 Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com> Tested-by: NetBSD Build System Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* Tests: trash.t portability fixesEmmanuel Dreyfus2015-04-251-47/+63
| | | | | | | | | | | | | | | | | | | Backport of http://review.gluster.org/#/c/10327/ Fix various portability problems in trash.t - work around timing issues - avoid wildcard usage only supported by bash Original patch from Anoop C S and Jiffin Tony Thottan. Removed LONGER_HEAL_TIMEOUT from previous patch as it seems to run fine without it now. BUG: 1212676 Change-Id: I0f6f484209ef4db7e0a7b733b863927cb248e73e Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org> Reviewed-on: http://review.gluster.org/10346 Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* build: correct the version in glusterfs-api.pcNiels de Vos2015-04-241-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | The version in glusterfs-api.pc has moved backwards, breaking existing versioned dependencies in QEMU. The following table contains the GlusterFS version and the version for glusterfs-api.pc: .------------------------. | GlusterFS | pkg-config | |-----------+------------| | 3.4.x | 4.3.4.x | | 3.5.x | 6.3.5.x | | 3.6.x | 7.3.6.x | | 3.7.x | 7.3.7.x | | master | 7.x.y.z | '------------------------' BUG: 1211837 Change-Id: I62168a0ab4f0c78e61987371ae75a0d2dd56ced8 URL: http://thread.gmane.org/gmane.comp.emulators.qemu/330176 Reported-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/10309 Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com> Tested-by: NetBSD Build System Reviewed-by: Vijay Bellur <vbellur@redhat.com> Tested-by: Vijay Bellur <vbellur@redhat.com>
* Auto-retry failed tests to workaround spurious failuresEmmanuel Dreyfus2015-04-241-3/+41
| | | | | | | | | | | | | | | | | | | | Add a -r flag to run-tests.sh that will cause failed tests to be retried once. The idea is to reduce the impact of spurious failures: no need to retrigger in jenkins, and no need to replay all the tests. Backport of: I176bb32678835a669992fbac7de4dd14ee5c62bc If4e3c96d51037fbcf6d9d0e10a3dd3e12da77447 Resubmit since regression did not catch that one. BUG: 1212676 Change-Id: I31a1d71118bc9295d5c858dbf1e664d0f2aed6ff Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org> Reviewed-on: http://review.gluster.org/10302 Tested-by: NetBSD Build System Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* quota/marker: fix inode quota healing after glusterfs upgradevmallika2015-04-241-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a backport of http://review.gluster.org/10239 > There is a problem during upgrade where, inode quotas are not healed in > the contri xattrs. > Healing happens if contri xattrs are missing. > But healing doesn't happen if contri xattrs are present and inode quota > values are missing in the contri xattrs. > > This patch fixes the problem > > Change-Id: I6c88b74b5bb333a97c5419e24cc4ada82839f474 > BUG: 1211808 > Signed-off-by: vmallika <vmallika@redhat.com> > Reviewed-on: http://review.gluster.org/10239 > Tested-by: NetBSD Build System > Reviewed-by: Sachin Pandit <spandit@redhat.com> > Tested-by: Gluster Build System <jenkins@build.gluster.com> > Reviewed-by: Raghavendra G <rgowdapp@redhat.com> > Tested-by: Raghavendra G <rgowdapp@redhat.com> Change-Id: I3245ee62fd69b60ec56ebe28043c273dbb58dd58 BUG: 1212348 Signed-off-by: vmallika <vmallika@redhat.com> Reviewed-on: http://review.gluster.org/10265 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* tests: ignore results from some spuriously-failing testsJeff Darcy2015-04-231-2/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | These tests were selected based on a survey of the last 50 apparently spurious regression failures involving only one test, as of April 21, 2015. They were responsible for the following number of failures out of those 50. volume-snapshot.t: 24 uss.t: 8 glupy.t: 5 In other words, they were responsible for 74% of those failures. Until they're fixed (or we find some generic problem to which they're particularly vulnerable for some reason), ignoring their results should significantly improve our regression-test success rate. (As part of the rebase from master, it made more sense to bring along the early-termination code in run_all than to attempt surgery on it.) BUG: 1163543 Change-Id: I2727735cd57174618c56a9cdcb4bd4bf58301f05 Signed-off-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-on: http://review.gluster.org/10351 Reviewed-by: Vijay Bellur <vbellur@redhat.com> Tested-by: NetBSD Build System Tested-by: Vijay Bellur <vbellur@redhat.com>
* features/trash : fixing trash dir optionJiffin Tony Thottan2015-04-231-3/+14
| | | | | | | | | | | | | | | | Backport of http://review.gluster.org/#/c/10215/ Previously, problem was caused due to buffer overflow of variable used in the code. This patch fix the same. Change-Id: I3df5e06044470022f9475d93d33447db35384da2 BUG: 1214563 Signed-off-by: Jiffin Tony Thottan <jthottan@redhat.com> Reviewed-on: http://review.gluster.org/10345 Tested-by: NetBSD Build System Reviewed-by: Emmanuel Dreyfus <manu@netbsd.org> Tested-by: Emmanuel Dreyfus <manu@netbsd.org> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* Fix case mistake for MKDIR_P in MakefilesEmmanuel Dreyfus2015-04-226-8/+8
| | | | | | | | | | | | | | | | | | | | | Some makefiles used $(mkdir_p) instead of the corectly defined $(MKDIR_P). The former is substituted as an empty string, leading to possible failures depending of the user shell tolerance. NetBSD's /bin/sh seems to choke more easily than Linux's /bin/bash, but if the later does not fail, it does not created the intended directories anyway. Resubmit after rebase in hope that regression test will have less spurious failures. Backport of: I8caed4000f3c91cb3a685453848fb854793945ed BUG: 1212676 Change-Id: I393ffda8aa24bffce86f7b1f19b999ffa30c3562 Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org> Reviewed-on: http://review.gluster.org/10279 Tested-by: NetBSD Build System Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* Tests: python portabilityEmmanuel Dreyfus2015-04-221-6/+6
| | | | | | | | | | | | | | | | | Make sure to use $PYTHON defined from tests/env.rc so that we get the path to the actually detected python interpreter. Resubmit after rebase in hope that regression test will have less spurious failures. Backport of Ibf3e88f190d5e0c6a4a08e8d5ef9d0b5cba5078a BUG: 1212676 Change-Id: I0c39d1c64423c8c9b99f8abf8f8cd813ed6a0deb Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org> Reviewed-on: http://review.gluster.org/10287 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* core: avoid crashes in gf_msg dup-detection codeJeff Darcy2015-04-221-0/+13
| | | | | | | | | | | | | | | | | Use global_xlator for allocations so that we don't try to free objects belonging to an already-deleted translator (which will crash). Change-Id: Ie72a546e7770cf5cb8a8370e22448c8d09e3ab37 BUG: 1214220 Signed-off-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-on: http://review.gluster.org/10319 Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Krutika Dhananjay <kdhananj@redhat.com> Reviewed-by: Atin Mukherjee <amukherj@redhat.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com> Reviewed-on: http://review.gluster.org/10330 Tested-by: NetBSD Build System