summaryrefslogtreecommitdiffstats
path: root/xlators/cluster
Commit message (Collapse)AuthorAgeFilesLines
...
* PUMP: perform opendir on pump xlator instead of its childPranith K2011-06-161-4/+2
| | | | | | | | | | | | | | | | | | | | | | When replace-brick is performed, there is a high probability for the directories on the source brick to not have any pending entry xattrs. So for proper self-heal we need the force merge to kick in. If the opendir is performed on pump xlator directory is examined and if the entries on its children do not match then force merge is triggered, so missing entries will be created on the sink. Pending xattrs are set from source to sink on the files present on source in this process. So when the lookup happens the self-heal is triggered. Before this fix, the code is working because the self-heal source is decided based on what file is biggest in size which is a wrong and removed. Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2586 (read child is set without checking the xattr) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2586
* cluster/distribute: remove the unused variable from 'conf'Amar Tumballi2011-06-164-22/+0
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3013 (error in the log file upon taking the statedump) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3013
* pump: cleanup xattrs on both commit and abort path.Krishnan P2011-06-162-4/+149
| | | | | | | | | | | | | | | This change makes glusterd to send a setxattr command for replace-brick commit operation similar to abort. Earlier we could commit even before the 'migration' of data was complete, with this change we fail that operation. Signed-off-by: Krishnan Parthasarathi <kp@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3033 (Changes to replace-brick and syntask interface.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3033
* afr: holding stack var via dict_set_static_bin corrupts.Krishnan P2011-06-161-2/+15
| | | | | | | | Signed-off-by: Krishnan Parthasarathi <kp@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3033 (Changes to replace-brick and syntask interface.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3033
* syncop: Modified to accept one 'non-frame' arg.Krishnan P2011-06-161-5/+3
| | | | | | | | | | | | | Earlier syncops used to accept one argument which was a call frame to carry out the fops synchronously. Now we have two args passed to synctask function, one call frame and another void pointer. Signed-off-by: Krishnan Parthasarathi <kp@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3033 (Changes to replace-brick and syntask interface.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3033
* DHT: check for mis-matching user xattrsshishir gowda2011-06-141-2/+15
| | | | | | | | Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2717 (Detect user_xattr mismatches for dir's) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2717
* DHT selheal dir: Recreate dirs with correct gfid.shishir gowda2011-06-131-0/+1
| | | | | | | | | | | When selfheal of dir is triggered, make sure the dirs are recreated with the correct gfid, to prevent mismatch of gfids in the backend. Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2994 ([glusterfs-3.2.1qa2]: untar and rm in parallel hangs untar) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2994
* cluster/afr: propagate proper errno returned by lock fopsAnand Avati2011-06-101-4/+0
| | | | | | | | | | If locks could not be held on any of the servers, then propagate the errno returned by the lock FOPs instead of hardcoding EAGAIN/EINVAL. Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2993 ([glusterfs-3.2.0qa2]: hang while doing the selfheal) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2993
* cluster/dht: use GFID returned from hashed subvolumeAnand Avati2011-06-091-0/+5
| | | | | | | | | | | | | .. to perform lookups on remaining subvolumes. This way, if there is a race between two clients to 'fix' GFIDs with gfid-req, then the hashed subvolume will arbitrate and return the winner in stbuf->ia_gfid. This patch uses the returned gfid as the new gfid-req thereby preventing mismatching GFIDs on other servers due to further races. Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2522 ([glusterfs-3.1.3qa8]: rm -rf shows invalid argument) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2522
* cluster/stripe: check if key is a valid ptr. before dereferncingKaushik BV2011-06-081-1/+1
| | | | | | | | Signed-off-by: Kaushik BV <kaushikbv@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2978 (Geo-replication fails on stripe(Master) setup.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2978
* cluster/afr: Log errors in afr self-heal with GF_LOG_ERRORPranith Kumar K2011-06-087-44/+49
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2986 (Failed operations should should be logged `E' or `W') URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2986
* DHT:first_up_subvol should be the one up the longestshishir gowda2011-05-314-4/+20
| | | | | | | | Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2684 (Dir missing from mount point) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2684
* stripe: changes to print stripe information in statedumpRaghavendra Bhat2011-05-311-0/+63
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2958 (stripe information is not printed in statedump) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2958
* dht-rename: Unlink older link files before creating new oneshishir gowda2011-05-313-2/+150
| | | | | | | | | | | If a older link file exists, unlink it and then create the linkfile. This will prevent mis-match of gfid's. Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2464 ([7b07d444a77526f27f860210930bf1d4c7fbea9b]: rm -rf gives Invalid argumenrt error) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2464
* pump: init last_event array to be used in afr_notifyPranith Kumar K2011-05-311-0/+7
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2870 (Inconsistent xattr values when creating bricks) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2870
* statfs(): honor the 'inode' on which the statfs() call is madeAmar Tumballi2011-05-311-6/+27
| | | | | | | | | | | | fuse-bridge : fill the 'loc' properly with correct 'inode'. dht : if directory, send statfs() to all subvol, else send it to only cached subvol. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2258 (enhance gluster volume rebalance) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2258
* cluster/afr: Send Non-blocking lock in non-blocking entrylkPranith Kumar K2011-05-301-1/+1
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2949 (self-heal hangs) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2949
* cluster/afr: Send the first child up/down after all its children notifyPranith Kumar K2011-05-303-54/+115
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2870 (Inconsistent xattr values when creating bricks) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2870
* cluster/dht: notify should succeed when waiting for all subvols first eventPranith Kumar K2011-05-301-1/+3
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2870 (Inconsistent xattr values when creating bricks) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2870
* cluster/stripe: Fix a typo in strncmp.Junaid2011-05-301-1/+1
| | | | | | | | Signed-off-by: Junaid <junaid@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2760 (Quota: stripe volume not showing the quota size properly) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2760
* pump: Detect 'empty' brick and finish migration.Krishnan Parthasarathi2011-05-301-0/+8
| | | | | | | | Signed-off-by: Krishnan Parthasarathi <kp@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2909 (replace brick of empty brick never says migration completed) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2909
* cluster/dht: detect linkfiles mismatching gfids and delete+recreateAnand Avati2011-05-261-70/+107
| | | | | | | Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2522 ([glusterfs-3.1.3qa8]: rm -rf shows invalid argument) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2522
* replicate: print favorite child as an int instead of unsigned intRaghavendra Bhat2011-05-201-1/+1
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2668 ([glusterfs-3.2.9qa7]: createbench error) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2668
* cluster/stripe: make sure gfid is checked with valid dataAmar Tumballi2011-05-112-3/+7
| | | | | | | | | | | | | earlier logic of determining if different subvolumes have different gfid for same file had a flaw. It could have checked with a empty gfid field in case a reply comes from other subvolumes before first subvolume Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2773 ([glusterfs-3.2.0qa12]: stripe lookup says gfid different) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2773
* Validate stripe-block-size optionshishir gowda2011-05-111-0/+12
| | | | | | | | | | Minimum size is 512 bytes and should be a multiple of 512 bytes. Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2861 (Stripe block-size has no check for valid option) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2861
* Move `self-heal completed' message to log level INFO.Sachidananda2011-05-111-1/+1
| | | | | | | | Signed-off-by: Sachidananda Urs <sac@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2867 (Move self-heal completed message to INFO level) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2867
* cluster/afr: set loc gfids for fresh lookupPranith Kumar K2011-05-043-0/+15
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2346 (Log message enhancements in GlusterFS - phase 1) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2346
* cluster/distribute: corrected layout mismatch handling logicAmar Tumballi2011-05-032-173/+17
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2281 (I/O operations exit when add-brick is done) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2281
* Move the log `self-heal pending' message to INFO level.Sachidananda2011-05-031-1/+1
| | | | | | | | Signed-off-by: Sachidananda Urs <sac@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2867 (Move self-heal completed message to INFO level) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2867
* Move self-heal completed log message to INFO level.Sachidananda2011-05-031-1/+1
| | | | | | | | Signed-off-by: Sachidananda Urs <sac@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2867 (Move self-heal completed message to INFO level) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2867
* loc_t: add 'gfid' and 'pargfid' fieldsAmar Tumballi2011-05-034-2/+16
| | | | | | | | | | | | | | these fields are used mainly in case of selfheal path, where 'inode->gfid'||'parent->gfid' is not yet set. These fields in 'loc' will have lower precedence than 'inode->gfid' in client protocol. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2346 (Log message enhancements in GlusterFS - phase 1) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2346
* DHT: Propogate error if dht_rmdir_opendir_cbkshishir gowda2011-04-171-0/+2
| | | | | | | | | | | | | Earlier rmdir would succeed on all up subvols, but fuse would get an error if one of the subvol was down. In follow up lookup, self heal would be triggered, and since st_mode would be 0, the permissions would be bad. The behaviour now is to fail rmdir if subvol is down Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2591 (Directories changing to d--------- permission after trying to delete) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2591
* cluster/stripe: aggregate xattrs holding quota-size in lookup and getxattr ↵Raghavendra G2011-04-152-4/+125
| | | | | | | | | | calls. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2760 (Quota: stripe volume not showing the quota size properly) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2760
* DHT: Make assert-no-child-down a boolean optionshishir gowda2011-04-151-11/+11
| | | | | | | | Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2765 (geo-replication should have mercy on brick failure) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2765
* DHT: Add xlator-option assert_no_child_downshishir gowda2011-04-143-0/+24
| | | | | | | | | | If this is set, when CHILD_DOWN event is received, call exit Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2536 (gsync service introspection) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2536
* cluster/afr: Avoid null dereferencePranith Kumar K2011-04-141-1/+3
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2750 ([glusterfs-3.2.0qa11]: nfs server crashed in afr_sh_entry_expunge_cbk) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2750
* PUMP: initialize loc at declarationPranith Kumar K2011-04-131-5/+5
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2726 ([glusterfs-3.2.0qa11]: glusterfs server crashed due to stack overflow) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2726
* declare favorite child as int instead of unsigned intRaghavendra Bhat2011-04-131-1/+1
| | | | | | | | | | | | | | In afr_private_t structure favorite child is declared as unsigned int. In init function of afr we set favorite child to -1, if that option is not found in volfile. But favorite child value will be set to a huge value instead of -1 since it is an unsigned int and in statedump file favorite child value is displayed as a huge value instead of -1. Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2668 ([glusterfs-3.2.9qa7]: createbench error) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2668
* cluster/distribute: Account for the first lookup sent to check whether the ↵Raghavendra G2011-04-101-1/+15
| | | | | | | | | | | | | | | path is a directory while aggregating quota-xattrs. - The total number of lookups sent for a directory is equal to (no of children + 1). Hence we should not aggregate the xattrs from the first lookup. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Junaid <junaid@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2604 (Quota: crossing the set limit) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2604
* DHT: send revalidate to all subvols and not just first subvolshishir gowda2011-04-101-6/+10
| | | | | | | | | | | Reverting commit 23d9783a192669b638d42b8dd127ad69ea36f950. When first subvolume is down, mount point becomes inaccessible. Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2532 ([glusterfs-3.1.3qa8]: bringing first subvolume down makes mount point inaccessible) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2532
* removed reference to GF_LOG_NORMALAmar Tumballi2011-04-076-11/+11
| | | | | | | | | | instead used GF_LOG_INFO, which is more standard log level. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@gluster.com> BUG: 2669 (RuntimeError: cannot recognize log level "normal") URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2669
* cluster/dht: send back the proper inode number in the cbk functionsAmar Tumballi2011-04-061-2/+4
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@gluster.com> BUG: 2584 (Inode number changes on a directory when one of subvolumes is down in replicate) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2584
* cluster/dht: log level fixes in lookup* functionsAmar Tumballi2011-04-061-21/+20
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@gluster.com> BUG: 2346 (Log message enhancements in GlusterFS - phase 1) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2346
* log gfid mismatches for the same file in cluster xlator lookupAmar Tumballi2011-04-063-1/+32
| | | | | | | | | | | | This can help in pin pointing some of the issues resulted in gfid mismatch for the same file, which is harder to find through basic debugging/logging of current codebase. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@gluster.com> BUG: 2346 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2346
* cluster/afr: log enhancements - part 1Amar Tumballi2011-04-067-585/+568
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@shell.gluster.com> BUG: 2346 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2346
* cluster/afr: log enhancement - part 3Amar Tumballi2011-04-016-316/+139
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 2346 (Log message enhancements in GlusterFS - phase 1) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2346
* cluster/afr: log enhancement - part 2Amar Tumballi2011-04-012-190/+215
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 2346 (Log message enhancements in GlusterFS - phase 1) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2346
* Revert "Process dir/link from other subvol if error in dht_readdir"Vijay Bellur2011-03-311-17/+4
| | | | This reverts commit cd3d977b10e24c4b46e55f9831113aba3a241583.
* cluster/afr: white-space cleanup - part 2Amar Tumballi2011-03-318-3852/+3850
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 2346 (Log message enhancements in GlusterFS - phase 1) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2346
* cluster/afr: whitespace cleanupAmar Tumballi2011-03-297-2290/+2288
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 2346 (Log message enhancements in GlusterFS - phase 1) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2346