summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Release Notes for GlusterFS 3.5.2v3.5.2Niels de Vos2014-07-311-0/+69
| | | | | | | | | BUG: 1104511 Change-Id: I4b9bb636c1b07fc3552785e3b4ba277fd2301ed5 Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/8339 Reviewed-by: Lalatendu Mohanty <lmohanty@redhat.com> Reviewed-by: Humble Devassy Chirammal <humble.devassy@gmail.com>
* gfapi: In glfs_set_volfile_server() remove the port number check.Poornima G2014-07-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The documentation for glfs_set_volfile_server() api says that the port zero is a valid value. Specifying 0 uses the default port number GF_DEFAULT_BASE_PORT. Hence removing the check for port being zero. Master branch commit 6567d141c1b0112acb35e711371ae5a879fc645a: > Change-Id: I942a7fe54a418231a438ab67756537df8f28d2de > BUG: 1084964 > Signed-off-by: Poornima G <pgurusid@redhat.com> > Reviewed-on: http://review.gluster.org/7409 > Reviewed-by: Raghavendra Talur <rtalur@redhat.com> > Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com> > Tested-by: Gluster Build System <jenkins@build.gluster.com> > Reviewed-by: Vijay Bellur <vbellur@redhat.com> Change-Id: I942a7fe54a418231a438ab67756537df8f28d2de BUG: 1124728 Signed-off-by: Poornima G <pgurusid@redhat.com> Reviewed-on: http://review.gluster.org/8374 Reviewed-by: Niels de Vos <ndevos@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com>
* cli: Fix xml output for volume statusv3.5.2beta1Niels de Vos2014-07-211-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The XML output for volume status was malformed when one of the nodes is down, leading to outputs like ------- <node> <node> <hostname>NFS Server</hostname> <path>localhost</path> <peerid>63ca3d2f-8c1f-4b84-b797-b4baddab81fb</peerid> <status>1</status> <port>2049</port> <pid>2130</pid> </node> ----- This was happening because we were starting the <node> element before determining if node was present, and were not closing it or clearing it when not finding the node in the dict. To fix this, the <node> element is only started once a node has been found in the dict. Cherry picked from commit 2ba42d07eb967472227eb0a93e4ca2cac7a197b5: > Change-Id: I6b6205f14b27a69adb95d85db7b48999aa48d400 > BUG: 1046020 > Signed-off-by: Kaushal M <kaushal@redhat.com> > Reviewed-on: http://review.gluster.org/6571 > Reviewed-by: Aravinda VK <avishwan@redhat.com> > Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com> > Tested-by: Gluster Build System <jenkins@build.gluster.com> > Reviewed-by: Vijay Bellur <vbellur@redhat.com> Change-Id: I6b6205f14b27a69adb95d85db7b48999aa48d400 BUG: 1117241 Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/8334 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Kaushal M <kaushal@redhat.com>
* heal: fix the way we check the presence of AFR in glfshealRavishankar N2014-07-181-15/+27
| | | | | | | | | | | | | | | | | | | | | Problem: glfsh_validate_replicate_volume() used to check if AFR was the parent of all client xlators present in the graph. This need not always be true, for example, for user-serviceable-snapshots where the parent of snapd-client is snapview-client. Fix: glfsh_validate_replicate_volume() returns true if atleast one client xlator has AFR as its parent. Also, AFR need not be its immediate parent, but be present somewhere in its parent ancestry. Change-Id: Id37ac88c3202bb2fdcae56e108adc461dc8a9a37 BUG: 1115950 Signed-off-by: Ravishankar N <ravishankar@redhat.com> Reviewed-on: http://review.gluster.org/8229 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com> Reviewed-by: Niels de Vos <ndevos@redhat.com>
* cluster/afr: Fix leaks in self-heal code pathPranith Kumar K2014-07-185-8/+15
| | | | | | | | | | | Change-Id: I5301ec9ebac27afe52e85cad75e6395d7f891355 BUG: 1120151 Signed-off-by: Pranith Kumar K <pkarampu@redhat.com> Reviewed-on: http://review.gluster.org/8316 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com> Reviewed-by: Ravishankar N <ravishankar@redhat.com> Reviewed-by: Niels de Vos <ndevos@redhat.com>
* build: glusterfs.spec.in, adding nfs-utils package dependency for server packageVikhyat Umrao2014-07-151-0/+5
| | | | | | | | | | | | | | | nfs-utils provides rpc.statd and it is a requirement for gluster-nfs Master review: http://review.gluster.org/7966 Master commit-Id: c34850ec71c9d6a4f30ad2e5e96aa15bc8a87064 Change-Id: I054b7d6d8fb1efe0fed9c90077a93c4f559c1ef4 BUG: 1113007 Reported-by: Satheesaran Sundaramoorthi <sasundar@redhat.com> Reviewed-by: Niels de Vos <ndevos@redhat.com> Signed-off-by: Vikhyat Umrao <vumrao@redhat.com> Reviewed-on: http://review.gluster.org/8172 Tested-by: Gluster Build System <jenkins@build.gluster.com>
* client_t: Fix memory leaksPranith Kumar K2014-07-144-18/+29
| | | | | | | | | | | | | | | | | | | | | | Backport of http://review.gluster.org/8247 - Assign frame->root->client so that gf_client_unref happens in server_connection_cleanup_flush_cbk - Avoid taking extra ref in gf_client_get TODO: The whole reason why there are two types of refs bind, ref-count is to avoid lock inside lock which is not the case now. I will be sending one more patch which will accomplish that as well as changing the tablearray to list BUG: 1116672 Change-Id: Ica87b9cbf02cae34c10789cfb56d1ccdc393cbf0 Signed-off-by: Pranith Kumar K <pkarampu@redhat.com> Reviewed-on: http://review.gluster.org/8289 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Niels de Vos <ndevos@redhat.com>
* protocol/server: '/s/ESTALE/ENOENT' only in lookup pathRavishankar N2014-07-142-22/+12
| | | | | | | | | | | | | | | | | | | | | | Problem: [1] modified the server resolver code to send ENOENT instead of ESTALE to older clients for all FOPS. This caused dht_mkdir to fail under certain conditions (see bug description). Fix: Since [1] is needed by AFR only in its lookup path, reverted the changes introduced by [1] in resolve_entry_simple () an resolve_inode_simple () and made the change instead in server_lookup_resume(). [1] http://review.gluster.org/#/c/8080 Change-Id: Idb2de25839fe712550486f2263a60c0531530d8f BUG: 1118574 Signed-off-by: Ravishankar N <ravishankar@redhat.com> Reviewed-on: http://review.gluster.org/8294 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Raghavendra G <rgowdapp@redhat.com> Reviewed-by: Niels de Vos <ndevos@redhat.com>
* nfs: prevent assertion error with MOUNT over UDPNiels de Vos2014-07-106-3/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MOUNT service over UDP runs in a separate thread. This thread does not have the correct *THIS xlator set. *THIS points to the global (base) xlator structure, but GF_CALLOC() requires it to be the NFS-xlator so that assertions can get validated correctly. This is solved by passing the NFS-xlator to the pthread function, and setting the *THIS pointer explicitly in the new thread. It seems that on occasion (needs further investigation) MOUNT over UDP does not unregister itself. There can also be issues when the kernel NLM implementation has been registered at portmap/rpcbind, so adding some unregister procedures in the cleanup of the test-cases. Cherry picked from commit ec74ceedaa41047b88d270c00eeb071b73e19664: > Change-Id: I3be5a420fc800bbcc14198d0b6faf4cf2c7300b1 > BUG: 1116503 > Signed-off-by: Niels de Vos <ndevos@redhat.com> > Reviewed-on: http://review.gluster.org/8241 > Reviewed-by: Santosh Pradhan <spradhan@redhat.com> > Tested-by: Gluster Build System <jenkins@build.gluster.com> > Reviewed-by: Vijay Bellur <vbellur@redhat.com> Change-Id: I3be5a420fc800bbcc14198d0b6faf4cf2c7300b1 BUG: 1116997 Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/8258 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com> Reviewed-by: Santosh Pradhan <spradhan@redhat.com>
* rpcsvc: Validate RPC procedure number before fetchSantosh Kumar Pradhan2014-07-0811-29/+39
| | | | | | | | | | | | | | | | | | | | | While accessing the procedures of given RPC program in, rpcsvc_get_program_vector_sizer(), It was not checking boundary conditions which would cause buffer overflow and subsequently SEGV. Make sure rpcsvc_actor_t arrays have numactors number of actors. FIX: Validate the RPC procedure number before fetching the actor. Upstream main review: http://review.gluster.org/7726 BUG: 1096020 Change-Id: Iaf207ee976cb56fa9a554ec82c9eab36d3b289ed Signed-off-by: Santosh Kumar Pradhan <spradhan@redhat.com> Reviewed-on: http://review.gluster.org/8228 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Niels de Vos <ndevos@redhat.com>
* features/gfid-access: Fix entry operationsPranith Kumar K2014-07-082-7/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport of http://review.gluster.org/8204 Problem: When more than one aux-mounts are performing rmdir .gfid/<pargfid>/dir simultaneously, then sometimes a hang is observed. In gfid-access xlator When virtual parent/inode are replaced with real parent/inode in loc, virtual pargfid/gfid are not replaced with real pargfid/gfid respectively. Afr is using parent_loc->gfids to order the entry locks. But parent_loc->gfid contains random/virtual gfid generated by gfid-access xlator. Entrylk in client xlator is using loc->inod->gfid for sending entrylk which has 'real' gfid. Because the ordering is happening based on random gfids, One mount orders the locks as (L1, L2) where as the other orders them as (L2, L1) leading to a dead-lock thus a hang. Fix: Replace virtual pargfid/gfid with real pargfid/gfid when virtual-inodes are replaced with real-inodes in loc. BUG: 1114501 Change-Id: I13016de1da11762e0697792d76e6e946d991c0a4 Signed-off-by: Pranith Kumar K <pkarampu@redhat.com> Reviewed-on: http://review.gluster.org/8251 Reviewed-by: Kotresh HR <khiremat@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Niels de Vos <ndevos@redhat.com>
* features/gfid-access: Fix inode leaks and loc path corruptionPranith Kumar K2014-07-083-123/+207
| | | | | | | | | | | | | Backport of http://review.gluster.org/8009 Backport of http://review.gluster.org/8163 BUG: 1112659 Change-Id: Ic70a3ddfcfef88909c12ca6791a8e20c3fee2eae Signed-off-by: Pranith Kumar K <pkarampu@redhat.com> Reviewed-on: http://review.gluster.org/8250 Reviewed-by: Kotresh HR <khiremat@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Niels de Vos <ndevos@redhat.com>
* quotad: Remove dead codePranith Kumar K2014-07-082-11/+1
| | | | | | | | | | | | | | | | Backport of http://review.gluster.org/8180 client_t is created by server xlator for managing connection related resources. Quotad doesn't do that. So no need to handle anything related to it. BUG: 1113403 Change-Id: I4f457b60c0b3377f8980857a883da1cf3e44d16e Signed-off-by: Pranith Kumar K <pkarampu@redhat.com> Reviewed-on: http://review.gluster.org/8227 Reviewed-by: Krutika Dhananjay <kdhananj@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Niels de Vos <ndevos@redhat.com>
* libglusterfs/client_t: cliententries are never expandedKaleb S. KEITHLEY2014-07-072-14/+31
| | | | | | | | | | | | | | | clienttable->cliententries are never expanded once all the available entries have been used. Also removed a couple chatty log messages. Change-Id: I3947fcb948e9ab84d1bb54233e96ea6808620b66 BUG: 1113749 Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com> Reviewed-on: http://review.gluster.org/8193 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com> Tested-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
* feautre/gfid-access: Fix EINVAL when stat on .gfidKotresh H R2014-07-072-14/+45
| | | | | | | | | | | | | | | | | | | | | Problem: Some of the inode operations on '.gfid' virtual directory was resulting in the error EINVAL from dht after failing to find the layout. Solution: Inode operations on '.gfid' virtual directory should not wind further down and should be handled accordingly in the gfid-access translator itself. Change-Id: I156cb10ffea0c46b0d747e26f74538d7fb01a1dd BUG: 1105891 Signed-off-by: Kotresh H R <khiremat@redhat.com> Reviewed-on: http://review.gluster.org/8011 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Raghavendra G <rgowdapp@redhat.com> Reviewed-by: Venky Shankar <vshankar@redhat.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com> Reviewed-on: http://review.gluster.org/8234 Reviewed-by: Niels de Vos <ndevos@redhat.com>
* tests: support regex in EXPECT constructsPranith Kumar K2014-07-041-4/+4
| | | | | | | | | | | | | | | Backport of http://review.gluster.org/6788 Instead of just strings, provide the ability to specify a regex of the pattern to expect Change-Id: I288db2290612accd795c3498f74e8b70bab21f2c BUG: 1115369 Signed-off-by: Pranith Kumar K <pkarampu@redhat.com> Reviewed-on: http://review.gluster.org/8235 Reviewed-by: Ravishankar N <ravishankar@redhat.com> Reviewed-by: Niels de Vos <ndevos@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com>
* gNFS: Support wildcard in RPC auth allow/rejectNiels de Vos2014-07-027-11/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RFE: Support wildcard in "nfs.rpc-auth-allow" and "nfs.rpc-auth-reject". e.g. *.redhat.com 192.168.1[1-5].* 192.168.1[1-5].*, *.redhat.com, 192.168.21.9 Along with wildcard, support for subnetwork or IP range e.g. 192.168.10.23/24 The option will be validated for following categories: 1) Anonymous i.e. "*" 2) Wildcard pattern i.e. string containing any ('*', '?', '[') 3) IPv4 address 4) IPv6 address 5) FQDN 6) subnetwork or IPv4 range Currently this does not support IPv6 subnetwork. Cherry-picked from 00e247ee44067f2b3e7ca5f7e6dc2f7934c97181: > Change-Id: Iac8caf5e490c8174d61111dad47fd547d4f67bf4 > BUG: 1086097 > Signed-off-by: Santosh Kumar Pradhan <spradhan@redhat.com> > Reviewed-on: http://review.gluster.org/7485 > Reviewed-by: Poornima G <pgurusid@redhat.com> > Reviewed-by: Harshavardhana <harsha@harshavardhana.net> > Tested-by: Gluster Build System <jenkins@build.gluster.com> > Reviewed-by: Vijay Bellur <vbellur@redhat.com> Change-Id: I18ef0a914cd403c1f9e66d1b03ecd29465cbce95 BUG: 1115369 Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/8223 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Santosh Pradhan <spradhan@redhat.com>
* build/glusterfs.spec.in: %post server doesn't wait for old glusterdKaleb S. KEITHLEY2014-07-021-1/+4
| | | | | | | | | | | | | | 'killall glusterd' needs to wait for the old glusterd to exi before starting the updated one, otherwise the new process can't bind to its socket ports Change-Id: I78af70419d8b1ac878ee9711acdc01b308b0e46f BUG: 1113959 Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com> Reviewed-on: http://review.gluster.org/8190 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Lalatendu Mohanty <lmohanty@redhat.com> Reviewed-by: Humble Devassy Chirammal <humble.devassy@gmail.com>
* gNFS: Fix multi-homed m/c issue in NFS subdir authNiels de Vos2014-07-025-90/+255
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NFS subdir authentication doesn't correctly handle multi-homed (host with multiple NIC having multiple IP addr) OR multi-protocol (IPv4 and IPv6) network addresses. When user/admin sets HOSTNAME in gluster CLI for NFS subdir auth, mnt3_verify_auth() routine does not iterate over all the resolved n/w addrs returned by getaddrinfo() n/w API. Instead, it just tests with the one returned first. 1. Iterate over all the n/w addrs (linked list) returned by getaddrinfo(). 2. Move the n/w mask calculation part to mnt3_export_fill_hostspec() instead of doing it in mnt3_verify_auth() i.e. calculating for each mount request. It does not change for MOUNT req. 3. Integrate "subnet support code rpc-auth.addr.<volname>.allow" and "NFS subdir auth code" to remove code duplication. Cherry-picked from commit d3f0de90d0c5166e63f5764d2f21703fd29ce976: > Change-Id: I26b0def52c22cda35ca11766afca3df5fd4360bf > BUG: 1102293 > Signed-off-by: Santosh Kumar Pradhan <spradhan@redhat.com> > Reviewed-on: http://review.gluster.org/8048 > Reviewed-by: Rajesh Joseph <rjoseph@redhat.com> > Tested-by: Gluster Build System <jenkins@build.gluster.com> > Reviewed-by: Niels de Vos <ndevos@redhat.com> Change-Id: Ie92a8ac602bec2cd77268acb7b23ad8ba3c52f5f BUG: 1112980 Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/8198 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Santosh Pradhan <spradhan@redhat.com>
* features/index : Creation of indices directory as soon as brick is up.Anuradha2014-06-272-0/+36
| | | | | | | | | | | | | | | | | | | Missing indices directory in the bricks leads to unwanted log messages. Therefore, indices directory needs to be created as soon as the brick comes up. This patch results in creation of indices/xattrop directory as required. Also includes a testcase to test the same. Backport of http://review.gluster.org/#/c/6343/ and http://review.gluster.org/#/c/6426/ Change-Id: I2a6f48b78aa09357ed60e45b62ec5fb08f816d76 BUG: 1112111 Signed-off-by: Anuradha <atalur@redhat.com> Reviewed-on: http://review.gluster.org/8152 Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Niels de Vos <ndevos@redhat.com>
* cluster/stripe: Fix EINVAL errors on quota enabled volumesKrutika Dhananjay2014-06-274-1/+30
| | | | | | | | | | | | | | | | | | | | Backport of http://review.gluster.org/8145 Write operations on directories with quota enabled used to fail with EINVAL on stripe volumes. This was due to assert failure in stripe_lookup(), meant to ensure loc->path is not NULL. However, in nameless lookup (in this particular case triggered by quotad, which has stripe xlator in its graph), loc->path can be legitimately NULL. The fix involves removing this check in stripe_lookup(). Change-Id: Ibbd4f68763fdd8a85f29da78b3937cef1ee4fd1e BUG: 1100050 Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com> Reviewed-on: http://review.gluster.org/8186 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com> Reviewed-by: Niels de Vos <ndevos@redhat.com>
* protocol/client: conn-id should be unique when lk-heal is offPranith Kumar K2014-06-272-8/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport of http://review.gluster.org/6669 Problem: It was observed that in some cases client disconnects and re-connects before server xlator could detect that a disconnect happened. So it still uses previous fdtable and ltable. But it can so happen that in between disconnect and re-connect an 'unlock' fop may fail because the fds are marked 'bad' in client xlator upon disconnect. Due to this stale locks remain on the brick which lead to hangs/self-heals not happening etc. For the exact bug RCA please look at https://bugzilla.redhat.com/show_bug.cgi?id=1049932#c0 Fix: When lk-heal is not enabled make sure connection-id is different for every setvolume. This will make sure that a previous connection's resources are not re-used in server xlator. BUG: 1113894 Change-Id: I5090f832730e4072c4b6b6758e64f757b911bd49 Signed-off-by: Pranith Kumar K <pkarampu@redhat.com> Reviewed-on: http://review.gluster.org/8187 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Niels de Vos <ndevos@redhat.com>
* doc: Fix peer probe deficienciesJoe Julian2014-06-241-4/+27
| | | | | | | | | | Added the command to probe the first server to assign it a hostname Change-Id: If59457a2cbbb362f706d0898ed2b84d4c76bdc0d BUG: 1095595 Reviewed-on: http://review.gluster.org/7853 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Niels de Vos <ndevos@redhat.com>
* rpc: Reconfigure() does not work for auth-rejectSantosh Kumar Pradhan2014-06-241-6/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: If volume is set for rpc-auth.addr.<volname>.reject with value as "host1", ideally the NFS mount from "host1" should FAIL. It works as expected. But when the volume is RESET, then previous value set for auth-reject should go off, and further NFS mount from "host1" should PASS. But it FAILs because of stale value in dict for key "rpc-auth.addr.<volname>.reject". It does not impact rpc-auth.addr.<volname>.allow key because, each time NFS volfile gets generated, allow key ll have "*" as default value. But reject key does not have default value. FIX: Delete the OLD value for key irrespective of anything. Add NEW value for the key, if and only if that is SET in the reconfigured new volfile. Upstream review: http://review.gluster.org/7931 Change-Id: I9d1cb37002aad978a3a59e4b45b42d881d0d20e3 BUG: 1103050 Signed-off-by: Santosh Kumar Pradhan <spradhan@redhat.com> Reviewed-on: http://review.gluster.org/8022 Reviewed-by: Raghavendra G <rgowdapp@redhat.com> Reviewed-by: Niels de Vos <ndevos@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com>
* cluster/stripe: don't treat ESTALE as failure in lookupRavishankar N2014-06-242-2/+21
| | | | | | | | | | | | | | | | | | | | Backport of: http://review.gluster.org/8135 Problem: In a stripe volume, symlinks are created only on the first brick via the default_symlink() call. During gfid lookup, server sends ESTALE from the other bricks, which is treated as error in stripe_lookup_cbk() Fix: Don't treat ESTALE as error in stripe_lookup_cbk() BUG: 1111454 Change-Id: I337ef847f007b7c20feb365da329c79c121d20c4 Signed-off-by: Ravishankar N <ravishankar@redhat.com> Reviewed-on: http://review.gluster.org/8153 Reviewed-by: Raghavendra Bhat <raghavendra@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Niels de Vos <ndevos@redhat.com>
* cluster/afr: Fix resolution issues with afrPranith Kumar K2014-06-245-11/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem with afr: Lets say there is a directory hierarchy a/b/c/d on the mount and the user is cd'ed into the directory. Bring down one of the bricks of replica and remove all directories/files to simulate disk replacement on that brick. Now this brick is brought back up. Creates on the cd'ed directory fail with ESTALE. Basically before sending a create of 'f' inside 'd', fuse sends a lookup to make sure the file is not present. On one of the bricks 'd' is present and 'f' is not so it sends ENOENT as response. On the new brick 'd' itself is not present. So it sends ESTALE. In afr ESTALE is considered to be special errno on witnessing which lookup has to fail. And ESTALE is given more priority than ENOENT. Due to these reasons lookup fails with ESTALE rather than ENOENT. Since lookup didn't fail with ENOENT, 'create' can't be issued so the command is failed with ESTALE. Solution: Afr needs to consider ESTALE errno normally and ENOENT needs to be given more priority so that operations like create can proceed even when only one of the brick is up and running. Whenever client xlator identifies that gfid-changed, it sets that information in lookup xdata. Afr uses this information to fail the lookup with ESTALE so that top xlator can send fresh lookup. Change-Id: Ie8e0e327542fd644409eb5dadf451679afa1c0e5 BUG: 1112348 Signed-off-by: Pranith Kumar K <pkarampu@redhat.com> Reviewed-on: http://review.gluster.org/8154 Tested-by: Justin Clift <justin@gluster.org> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Ravishankar N <ravishankar@redhat.com> Reviewed-by: Niels de Vos <ndevos@redhat.com>
* Add release notes for 3.5.1v3.5.1Niels de Vos2014-06-241-0/+110
| | | | | | | | Change-Id: I7e46f470779a6cb335fcb24b836b32fcd5e14c10 BUG: 1071800 Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/8036 Reviewed-by: Humble Devassy Chirammal <humble.devassy@gmail.com>
* features/index: Don't delete current xattrop index.Ravishankar N2014-06-244-2/+35
| | | | | | | | | | | | | | | | | | | Problem: `gluster v heal <volname> statistics heal-count` was not able to read the number of entries to be healed from the source brick because the base xattrop entries in indices/base_indices_holder and indices/xattrop were getting deleted after a successful heal and the code flow prevented them from creating it again. Fix: Don't delete the xattrop index unless it is stale (i.e. brick is restarted) Change-Id: Ief4eee0ddf42c4d8b711d00751be92bbbc7bbbb0 BUG: 1101647 Signed-off-by: Ravishankar N <ravishankar@redhat.com> Reviewed-on: http://review.gluster.org/7897 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com> Reviewed-by: Niels de Vos <ndevos@redhat.com>
* protocol/client,server: Suppress ESTALE logsPranith Kumar K2014-06-242-59/+75
| | | | | | | | | | | | Backport of http://review.gluster.org/7696 Change-Id: I5372b45243ad9a68a7c20290e9f5fd5ca9ab28f2 BUG: 1095256 Signed-off-by: Pranith Kumar K <pkarampu@redhat.com> Reviewed-on: http://review.gluster.org/8087 Reviewed-by: Atin Mukherjee <amukherj@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Niels de Vos <ndevos@redhat.com>
* tests: Remove spurious failure testJustin Clift2014-06-231-84/+0
| | | | | | | | | | Backport of http://review.gluster.org/#/c/8031/ BUG: 1107937 Change-Id: I21646b69b99963117cdef969d44b96f5cdfe2aa2 Reviewed-on: http://review.gluster.org/8095 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
* features/quota: Fix dict leakVarun Shastry2014-06-231-0/+3
| | | | | | | | | Change-Id: Id4542d1629175cce5fec5ab8f9a5899eec48e2eb BUG: 1110777 Signed-off-by: Varun Shastry <vshastry@redhat.com> Reviewed-on: http://review.gluster.org/8132 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Niels de Vos <ndevos@redhat.com>
* features/locks: Clean up logging of cleanup in DISCONNECT codepathKrutika Dhananjay2014-06-234-69/+126
| | | | | | | | | | | | | | | | | | | | | Backport of http://review.gluster.org/7981 Now, gfid is printed as opposed to path in cleanup messages. Also, refkeeper update is eliminated in inodelk and entrylk. Instead, the patch ensures inode and pl_inode are kept alive as long as there is atleast one lock (granted/blocked) on an inode. Also, every inode is unref'd appropriately on a DISCONNECT from the lock-owning client. Change-Id: I234db688ad0d314f4936a16cc5af70a3bd071970 BUG: 1104915 Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com> Reviewed-on: http://review.gluster.org/8042 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com> Reviewed-by: Niels de Vos <ndevos@redhat.com>
* protocol/server: send ENOENT instead of ESTALE for older clientsRavishankar N2014-06-203-5/+40
| | | | | | | | | | | | | | | Modify protocol/server and storage/posix to send ENOENT to older clients instead of ESTALE http://goo.gl/t83hmL Change-Id: Ie63e91e73e33769ce9dc3d964938cfd6eb4c4be5 BUG: 1109832 Signed-off-by: Ravishankar N <ravishankar@redhat.com> Reviewed-on: http://review.gluster.org/8080 Reviewed-by: Raghavendra Bhat <raghavendra@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* afr-v1 documentation.Pranith Kumar K2014-06-121-0/+340
| | | | | | | | | | | | Backport of http://review.gluster.org/6574 BUG: 1086781 Change-Id: I3a7e0cf3eeedce5b3859a46f2a6a7de4ae62bed4 Signed-off-by: Pranith Kumar K <pkarampu@redhat.com> Reviewed-on: http://review.gluster.org/8038 Reviewed-by: Krutika Dhananjay <kdhananj@redhat.com> Reviewed-by: Niels de Vos <ndevos@redhat.com> Tested-by: Niels de Vos <ndevos@redhat.com>
* features/gfid-access: Fix memory leaks.v3.5.1beta2Raghavendra G2014-06-101-1/+27
| | | | | | | | | | Change-Id: I90f6cdb1c8c4face1bb72a9cc77818d308389e45 BUG: 1104919 Signed-off-by: Raghavendra G <rgowdapp@redhat.com> Reviewed-on: http://review.gluster.org/7983 Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Niels de Vos <ndevos@redhat.com>
* gNFS: Make NFS DRC off by defaultNiels de Vos2014-06-103-13/+13
| | | | | | | | | | | | | | | | | | | | | | | DRC in NFS causes memory bloat and there are known memory corruptions. It would be good to disable drc by default till the feature is stable. Cherry picked from 4215d071cec4fc8a62ca4fd6212d83f931838829: > Change-Id: I93db6ef5298672c56fb117370bb582a5e5550b17 > BUG: 1105524 > Original-patch-by: Santosh Kumar Pradhan <spradhan@redhat.com> > Signed-off-by: Niels de Vos <ndevos@redhat.com> > Reviewed-on: http://review.gluster.org/8004 > Tested-by: Gluster Build System <jenkins@build.gluster.com> > Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com> > Reviewed-by: Santosh Pradhan <spradhan@redhat.com> > Reviewed-by: Vijay Bellur <vbellur@redhat.com> Change-Id: I93db6ef5298672c56fb117370bb582a5e5550b17 BUG: 1105524 Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/8013 Reviewed-by: Santosh Pradhan <spradhan@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com>
* glusterd: Better op-version values and rangesNiels de Vos2014-06-102-9/+15
| | | | | | | | | | | | | | | | | | | | | | | Till now, the op-version was an incrementing integer that was incremented by 1 for every Y release (when using the X.Y.Z release numbering). This is not flexible enough to handle backports of features into Z releases. Going forward, from the upcoming 3.6.0 and 3.5.1 releases, the op-versions will be multi-digit integer values composed of the version numbers, instead of a simple incrementing integer. An X.Y.Z release will have XYZ as its op-version. Y and Z will always be 2 digits wide and will be padded with 0 if required. This way of bumping op-versions allows for gaps in between the subsequent Y releases. These gaps will allow backporting features from new Y releases into old Z releases. Change-Id: Ib6a09989f03521146e299ec0588fe36273191e47 Depends-on: http://review.gluster.org/7963 BUG: 1096425 Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/8010 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
* features/gfid-access: calloc gfid and set in xdataRavishankar N2014-06-081-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | Backport of http://review.gluster.org/#/c/7978/ Problem: the gfid passed to ga_fill_tmp_loc() was a stack variable which the function set in the xdata dictionary. Accessing it in a later point in time gave unexpected values. This was easy to hit when AFR was involved like so: ga_mknod()--->xxx-->afr_mknod(): In afr_mknod transaction, once the stack-winds for the lock-phase are sent, the gfid in xdata becomes out of scope. When we send the actual op i.e. afr_mknod_wind(), the gfid in xdata is stale, causing posix to set junk gfids on the files. Fix: calloc the gfid and set it in the dict. Thanks to Pranith for the RCA! Change-Id: Ief2080836dc2923dec4be44dda4f6211430e535e BUG: 1104959 Signed-off-by: Ravishankar N <ravishankar@redhat.com> Reviewed-on: http://review.gluster.org/7985 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Niels de Vos <ndevos@redhat.com>
* glusterd: On gaining quorum spawn_daemons in new threadKaushal M2014-06-084-28/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport of http://review.gluster.org/7703 from master During startup, if a glusterd has peers, it waits till quorum is obtained to spawn bricks and other services. If peers are not present, the daemons are started during glusterd' startup itself. The spawning of daemons as a quorum action was done without using a seperate thread, unlike the spawn on startup. Since, quotad was launched using the blocking runner_run api, this leads to the thread being blocked. The calling thread is almost always the epoll thread and this leads to a deadlock. The runner_run call blocks the epoll thread waiting for quotad to start, as a result glusterd cannot serve any requests. But the startup of quotad is blocked as it cannot fetch the volfile from glusterd. The fix for this is to launch the spawn daemons task in a seperate thread. This will free up the epoll thread and prevents the above deadlock from happening. BUG: 1105188 Change-Id: Idad1e96fbe1411dfd4b1a542fb5fa115673636c0 Signed-off-by: Kaushal M <kaushal@redhat.com> Reviewed-on: http://review.gluster.org/7995 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Niels de Vos <ndevos@redhat.com>
* NetBSD build fixes for release-3.5Emmanuel Dreyfus2014-06-085-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | 1) Make sure __THROW is definedThis is a backport of I6e7cb1eb59b84988e155e9a8b696e842b7ff8f7f 2) include <rpc/xdr.h> before <rpc/auth.h> so that XDR is defined This was fixed in master within I20193d3f8904388e47344e523b3787dbeab044acbut weonly pull up 3) NetBSD's gettext is in libintl, hence search it at configure time This is a backport of I651a74fe49c3f087fe135dab3453fd5b18b4268a 4) include <sys/wait.h> to have WEXITSTATUS defined This problem does not exist in master as WEXITSTATUS is not used 5) Do not define popcountl() on NetBSD as it is in <strings.h> This is a backport of I4428a88b1e0d7c5f6740022861ffe230dbbd84bd BUG: 764655 Change-Id: Ieea5a2a627e2b7930525d6c525f1602073574a97 Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org> Reviewed-on: http://review.gluster.org/7925 Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com> Reviewed-by: Niels de Vos <ndevos@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com>
* logging: use duplicate stderr, instead of re-openingNiels de Vos2014-06-081-2/+24
| | | | | | | | | | | | | | | | | | | | | | | | | The special filename "-" is supposed to log to stderr. Instead of trying to explictly open "/dev/stderr" again (which may not be possible as permissions might have changed by then), dup the stderr and use the copy. It is not a good idea to use @stderr global variable directly, as ctx->log.logfile is fclose()d in glfs_fini() (was fixed in http://review.gluster.org/6452) Cherry picked from commit 15ea78fffd63756fecf2f15887d3cad6a13d2a34: > BUG: 1088589 > Signed-off-by: Anand Avati <avati@redhat.com> > Reviewed-on: http://review.gluster.org/7607 > Tested-by: Gluster Build System <jenkins@build.gluster.com> > Reviewed-by: Vijay Bellur <vbellur@redhat.com> Change-Id: Ia6c538fe363905588dcf4fc4783804073956a586 BUG: 1103413 Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/7938 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Harshavardhana <harsha@harshavardhana.net>
* heal: Don't depend on errno for reporting heal info statusPranith Kumar K2014-06-071-2/+4
| | | | | | | | | | | | | Change the interfaces to return errno in 'return value' to prevent errno being over-written in glfsh_print_brick_from_xl. Change-Id: I425c85e496a885ed3cd0aeef86d4616aa21bb1b5 BUG: 1104592 Signed-off-by: Pranith Kumar K <pkarampu@redhat.com> Reviewed-on: http://review.gluster.org/7965 Reviewed-by: Ravishankar N <ravishankar@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Niels de Vos <ndevos@redhat.com>
* doc: Document libgfapi and its apis,usage,bindings..etcHumble Chirammal2014-06-051-0/+381
| | | | | | | | | | | | | | | Change-Id: I3435f9a88acafa905e879c68bb7aa8b16023cf02 BUG: 1086766 > Signed-off-by: Humble Chirammal <hchiramm@redhat.com> > Signed-off-by: Soumya k <skoduri@redhat.com> > Reviewed-on: http://review.gluster.org/7865 > Reviewed-by: Lalatendu Mohanty <lmohanty@redhat.com> > Reviewed-by: Niels de Vos <ndevos@redhat.com> > Tested-by: Niels de Vos <ndevos@redhat.com> Signed-off-by: Humble Chirammal <hchiramm@redhat.com> Reviewed-on: http://review.gluster.org/7991 Reviewed-by: Niels de Vos <ndevos@redhat.com> Tested-by: Niels de Vos <ndevos@redhat.com>
* doc: Add 'expose volume capabilities' details of bd-xlatorHumble Chirammal2014-06-031-2/+65
| | | | | | | | | | | | | | Change-Id: If7a89a36c2eca653e4fa7f59597ac8b03e4bc747 BUG: 1086749 > Signed-off-by: Humble Chirammal <hchiramm@redhat.com> > Signed-off-by: Bharata B Rao <bharata.rao@gmail.com> > Reviewed-on: http://review.gluster.org/7844 > Reviewed-by: Vijay Bellur <vbellur@redhat.com> >Tested-by: Vijay Bellur <vbellur@redhat.com> Signed-off-by: Humble Chirammal <hchiramm@redhat.com> Reviewed-on: http://review.gluster.org/7960 Reviewed-by: Niels de Vos <ndevos@redhat.com> Tested-by: Niels de Vos <ndevos@redhat.com>
* features/glupy: GPLv2 or LGPLv3+ licenseKaleb S. KEITHLEY2014-05-313-30/+22
| | | | | | | | | | Change-Id: Id57fdb9d45a105701fff4e28818230a30a5215f9 BUG: 1102306 Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com> Reviewed-on: http://review.gluster.org/7919 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Niels de Vos <ndevos@redhat.com> Tested-by: Niels de Vos <ndevos@redhat.com>
* doc/rdmacm: fix formatting errors.Raghavendra G2014-05-311-17/+17
| | | | | | | | | | BUG: 1086743 Change-Id: I24798ef1e359dc2508d495e244151e93537b52a4 Signed-off-by: Raghavendra G <rgowdapp@redhat.com> Reviewed-on: http://review.gluster.org/7915 Reviewed-by: Humble Devassy Chirammal <humble.devassy@gmail.com> Reviewed-by: Niels de Vos <ndevos@redhat.com> Tested-by: Niels de Vos <ndevos@redhat.com>
* doc: add readdir-ahead documentationRaghavendra G2014-05-311-0/+14
| | | | | | | | | | Change-Id: Ib6fc3c9b59b498bfe3fb3dfc23dca874bdc0d21d BUG: 1086755 Signed-off-by: Raghavendra G <rgowdapp@redhat.com> Reviewed-on: http://review.gluster.org/7904 Reviewed-by: Humble Devassy Chirammal <humble.devassy@gmail.com> Reviewed-by: Niels de Vos <ndevos@redhat.com> Tested-by: Niels de Vos <ndevos@redhat.com>
* doc: fix brick port ranges in admin guide.Krishnan Parthasarathi2014-05-281-8/+10
| | | | | | | | | | | Change-Id: Ie6ac43ea435b7b21ac2b7975cbfe38126b170100 BUG: 1095595 Signed-off-by: Krishnan Parthasarathi <kparthas@redhat.com> Reviewed-on: http://review.gluster.org/7855 Reviewed-by: Humble Devassy Chirammal <humble.devassy@gmail.com> Reviewed-by: Niels de Vos <ndevos@redhat.com> Tested-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/7910
* doc: update details about posix acl on nfs mountHumble Chirammal2014-05-281-3/+2
| | | | | | | | | | | | | | | Change-Id: I591f2393a11893c77990a5b994196cb0a01358aa BUG: 1086774 > Signed-off-by: Humble Chirammal <hchiramm@redhat.com> > Reviewed-on: http://review.gluster.org/7871 > Reviewed-by: Santosh Pradhan <spradhan@redhat.com> > Reviewed-by: Lalatendu Mohanty <lmohanty@redhat.com> > Reviewed-by: Niels de Vos <ndevos@redhat.com> > Tested-by: Niels de Vos <ndevos@redhat.com> Signed-off-by: Humble Chirammal <hchiramm@redhat.com> Reviewed-on: http://review.gluster.org/7909 Reviewed-by: Niels de Vos <ndevos@redhat.com> Tested-by: Niels de Vos <ndevos@redhat.com>
* doc: Add details on qemu glusterfs integrationHumble Chirammal2014-05-281-0/+231
| | | | | | | | | | | | | | | | Change-Id: Ib3cd71f278c29483a467ee5afdd1aeb9e5f54547 BUG: 1086783 >Signed-off-by: Bharata B Rao <bharata.rao@gmail.com> >Signed-off-by: Humble Chirammal <hchiramm@redhat.com> >Signed-off-by: Satheesaran S <satheesaran@gmail.com> >Reviewed-on: http://review.gluster.org/7834 >Reviewed-by: Lalatendu Mohanty <lmohanty@redhat.com> >Reviewed-by: Niels de Vos <ndevos@redhat.com> >Tested-by: Niels de Vos <ndevos@redhat.com> Signed-off-by: Humble Chirammal <hchiramm@redhat.com> Reviewed-on: http://review.gluster.org/7908 Reviewed-by: Niels de Vos <ndevos@redhat.com> Tested-by: Niels de Vos <ndevos@redhat.com>