summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt/glusterd/src/glusterd-rebalance.c
Commit message (Collapse)AuthorAgeFilesLines
* LICENSE: s/GNU Affero General Public/GNU General Public/Pranith Kumar K2011-08-061-3/+3
| | | | | | | | Change-Id: I3914467611e573cccee0d22df93920cf1b2eb79f BUG: 3348 Reviewed-on: http://review.gluster.com/182 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* Variable IOBUF: Use variable iobuf for cli/glusterd/glusterfsd(mgmt)shishir gowda2011-07-311-2/+4
| | | | | | | | | | | | By using variable iobufs, xfer data size is no more limited to 128K (default). This helps in scaling. Change-Id: Iab453db9223d887306d150cd6fe0b1eae9c422cc BUG: 2472 Reviewed-on: http://review.gluster.com/13 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* glusterd rebalance: use lstat() instead of stat()Amar Tumballi2011-07-191-5/+5
| | | | | | | | | | | | so the symlinks pointing to directories are not considered as directories themself and the control flows outside gluster's scope Change-Id: Iae910ce6c68886d34ae6e5efe46062481b40cd25 BUG: 3191 Reviewed-on: http://review.gluster.com/30 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* glusterd-rebalance: utilize distribute's internal rebalance featureAmar Tumballi2011-07-141-173/+16
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3070 (After 'rebalance', the gfid of the file gets changed) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3070
* distribute: bring in feature to do rebalance from insideAmar Tumballi2011-07-141-0/+1
| | | | | | | | | | | | | | | | do the 'rebalance' on a file with 'setxattr()' with 'distribute.migrate-data' key. the valid 'value' is "force" or anything else. current implementation of 'rebalance' is same as 'glusterd-rebalance', and hence comes with limitation of not rebalancing hardlinks, non-regular files, and files with open-fds. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3070 (After 'rebalance', the gfid of the file gets changed) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3070
* Changed error message displayed and logged, on rebalance failureKaushal M2011-07-131-2/+2
| | | | | | | | Signed-off-by: Kaushal M <kaushal@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3106 (Rebalance start failure message is not appropriate) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3106
* distribute: handle 'fix.layout' key in setxattr() instead of getxattr()Amar Tumballi2011-06-231-6/+4
| | | | | | | | | | | | | | | as 'fix.layout' command does changes to directory layout, its not a 'read/get' type of operation, and hence as per the symantics, it suits setxattr() better also fix a memory leak in getxattr(), where 'local' was allocated twice in few cases Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3075 (the 'fix.layout' command should happen through 'setxattr', not getxattr().) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3075
* gluster rebalance: handle the migration of files with 'holes'.Amar Tumballi2011-06-161-6/+70
| | | | | | | | | | treat a block (512bytes) of '0' as hole too (something like 'rsync') 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
* gluster rebalance: bring in a 'force' optionAmar Tumballi2011-06-161-9/+17
| | | | | | | | | | | | | | | | * also correct the free space available logic to check the size without the file in migration (this considers the sparse files too) * 'force' option will bypass the free-space check logic, hence will cleanup all the linkfile * 'force' option is valid only with 'migrate-data' option 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
* fixing some build issues in Mac OS XAmar Tumballi2011-06-161-5/+5
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2966 (MacOSX compile failure: duplicate symbol _k) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2966
* gluster rebalance: fix the mount command stringAmar Tumballi2011-06-141-1/+1
| | | | | | | | | | error creeped in while bringing in 'runner' options 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
* gluster rebalance: prevent data migration from higher disk space to lowerAmar Tumballi2011-05-311-0/+29
| | | | | | | | | | this is done using the 'statfs()' on inode feature. 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
* reimplement invocation of external programs with run APICsaba Henk2011-05-261-21/+26
| | | | | | | | Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2562 (invoke external commands precisely with fork + exec) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2562
* Revert "temporary workaround for mtab update race thingy"Csaba Henk2011-05-261-2/+0
| | | | | | | | | | | | | | | | This reverts commit 59b9ab45a01d52e197ab6f76fd71e64910396d57. [c5d781e0 made this temporary workaround unnecessary] Conflicts: xlators/features/marker/utils/syncdaemon/resource.py Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2690 (race between mtab updates of mount and umount) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2690
* temporary workaround for mtab update race thingyCsaba Henk2011-04-121-0/+2
| | | | | | | | Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2690 (race between mtab updates of mount and umount) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2690
* gluster rebalance: don't move a hardlinked file.Amar Tumballi2011-04-081-2/+7
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@gluster.com> BUG: 2258 (enhance gluster volume rebalance) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2258
* gluster rebalance: don't depend on the sticky bit for validating link file.Amar Tumballi2011-04-081-27/+25
| | | | | | | | | | | | do the getxattr() with 'trusted.distribute.linkinfo' key, which returns success only if the file has a link. With this we can preserve the exact same permission as old file. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@gluster.com> BUG: 2530 (Rebalance not working properly (file permission issues)) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2530
* removed reference to GF_LOG_NORMALAmar Tumballi2011-04-071-2/+2
| | | | | | | | | | 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
* used S_ISVTX instead of 01000 in code for sticky bit checkAmar Tumballi2011-03-141-3/+3
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 2369 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2369
* gluster rebalance: set the proper permission of the fileAmar Tumballi2011-03-101-1/+1
| | | | | | | | | | remove the sticky bit from the mode. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 2369 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2369
* gluster rebalance: give option to split the commandAmar Tumballi2011-03-011-61/+58
| | | | | | | | | | | | | | | | | the 'gluster volume rebalance <VOLNAME> start' is enhanced with two more options: * 'gluster volume rebalance <VOLNAME> fix-layout start' (for fixing layout only) * 'gluster volume rebalance <VOLNAME> migrate-data start' (for migrating data only) Also the old way of running rebalance in one shot will still work fine * 'gluster volume rebalance <VOLNAME> start' Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2258 (enhance gluster volume rebalance) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2258
* gluster rebalance: get the proper/exact error msg to cliAmar Tumballi2011-03-011-83/+310
| | | | | | | | | | | introduce a new field in XDR structure, and hence change the version of program. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1922 (Volume not present wrong message displayed on command line) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1922
* gluster rebalance: fix the permission issue of rebalanced filesv3.1.2gsyncqa6Amar Tumballi2011-02-071-0/+14
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2369 (Rebalanced files written as root:root on any brick) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2369
* log the total rebalance command recieved into the logfileRaghavendra Bhat2010-12-271-2/+3
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2231 (log the total rebalance command recieved, in the logfile to avoid confusion) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2231
* glusterd rebalance: update the status in failure casesAmar Tumballi2010-11-151-2/+9
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1999 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1999
* Propogate rebalance already started error to clishishir gowda2010-10-241-0/+1
| | | | | | | | Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1882 (starting rebalance while previous rebalance is still running) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1882
* glusterd-rebalance: if file is open, don't do rebalanceAmar Tumballi2010-10-191-0/+7
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1934 (Server segfault with 3.1 platform ISO during volume expansion) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1934
* Revert "glusterd-rebalance: if file is open, don't do rebalance"Vijay Bellur2010-10-191-7/+0
| | | | This reverts commit 6e6b4b4fd002347ca08691f73e10b961f693d754.
* glusterd-rebalance: if file is open, don't do rebalancev3.1.0Amar Tumballi2010-10-121-0/+7
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 971 (dynamic volume management) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
* mgmt/glusterd: Fix replace brick to pass src-brick and dst-brick port nos ↵v3.1.0qa42Pavan Sondur2010-10-081-0/+7
| | | | | | | | | | | | properly. Fix also contains patch from shishir ng for maintaining replace-brick states in glusterd. Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1235 (Bug for all pump/migrate commits) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1235
* rpc: don't refer to 'req' after calling 'prog->actor()'Amar Tumballi2010-10-041-1/+2
| | | | | | | | | | | | there are chances that a error reply is sent to client from actor, in which case, 'req' would be free'd and accessing it would result in error. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1790 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1790
* rebalance: bring in two stagesv3.1.0qa37Amar Tumballi2010-10-011-64/+130
| | | | | | | | | | | | | | | | step 1: fix layout (quick pass, so the newly added brick can participate in distribute's entry creations) step 2: migrate data (do the actual rebalance) Its advised to run rebalance after add-brick, and let it complete at-least 'step 1', so things will be smooth with distribute. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 971 (dynamic volume management) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
* glusterd: put all the code related to 'rebalance' in new fileAmar Tumballi2010-10-011-0/+414
Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 971 (dynamic volume management) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971