summaryrefslogtreecommitdiffstats
path: root/xlators/cluster
Commit message (Collapse)AuthorAgeFilesLines
* cluster/afr: Remove dead pump code in afr_lookupPavan Sondur2010-08-121-8/+0
| | | | | | | | Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1347 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1347
* cluster/afr: Avoid Null de-reference when post parent is NULLPranith Kumar K2010-08-121-1/+1
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 857 (Crash in afr_sh_entry_expunge_entry_cbk) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=857
* cluster/pump: Dynamically control sink connect and disconnect.Pavan Sondur2010-08-123-145/+348
| | | | | | | | Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1303 (Cleanup replace-brick state info) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1303
* Cleanup dead variables.Sachidananda2010-08-111-12/+0
| | | | | | | | Signed-off-by: Sachidananda Urs <sac@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1085 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1085
* add pump xlator and changes for replace-brickPavan Sondur2010-08-0612-2599/+4617
| | | | | | | | Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1235 (Bug for all pump/migrate commits) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1235
* Remove dead variables.Sachidananda2010-08-021-18/+8
| | | | | | | | Signed-off-by: Sachidananda Urs <sac@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1065 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1065
* Remove dead variables.Sachidananda2010-08-021-1/+0
| | | | | | | | Signed-off-by: Sachidananda Urs <sac@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1067 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1067
* Remove dead variables.Sachidananda2010-08-021-7/+0
| | | | | | | | Signed-off-by: Sachidananda Urs <sac@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1066 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1066
* Remove dead variables.Sachidananda2010-08-021-2/+0
| | | | | | | | Signed-off-by: Sachidananda Urs <sac@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1068 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1068
* Remove dead variables.Sachidananda2010-08-021-9/+13
| | | | | | | | Signed-off-by: Sachidananda Urs <sac@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1070 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1070
* fixes for spurious entry self-heal in afrPranith Kumar K2010-07-282-5/+9
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 974 (Spurious self-heal?) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=974
* replicate: Set setxattr wait-count to child-count to avoid raceShehjar Tikoo2010-07-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | A race is seen during a compilebench load against NFS where a NFSv3 MKDIR is immediately followed by a LOOKUP on the new directory. By the time this lookup comes in, the setxattr issued by distribute for the mkdir has not returned yet from all the replicas. Since replicate returns a reply for setxattr after receiving reply only from one subvol, the MKDIR is unwound from distribute. When the LOOKUP is received at distribute, the setxattr has still not completed at the second replica, whereas that is where the lookup is sent by replicate. Finding that the xattr is missing from the dir, distribute returns ESTALE to NFS, which return NFS3ERR_STALE to nfs client. This patch changes replicate setxattr behaviour by forcing replicate to wait for all children rather than one to call back before unwinding the stack. Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 937 (compilebench fails on NFS+dist+repl+all perf xlators) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=937
* cluster/afr: Logging improvement for self-healPranith Kumar K2010-07-274-23/+28
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1037 (selfheal information in normal logging mode) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1037
* dht enhancementsAmar Tumballi2010-07-273-49/+143
| | | | | | | | | | | | | | * create(filename@<distribute-volume-name>-<subvol-name>), will create the file in corresponding subvol of dht. * same for unlink() same logic can be extended to other fops if there is a need Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1200 (enhance distribute with hooks so lot of debugging can be done online) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1200
* cluster/afr: ignore errno from offline nodes during self-healPranith Kumar K2010-07-271-0/+3
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 904 (Error while self-healing directories) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=904
* custer/afr added self-heal logging in normal modePranith Kumar K2010-07-235-22/+93
| | | | | | | | | | | | | Changes are made such that self heal messages are printed (filename, type of selfheal such as data/meatadata/entry selfheal and the cause which triggered the selfheal) in the log file when run in normal mode. Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1037 (selfheal information in normal logging mode) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1037
* free sh_priv->loops[i] in afr-self-heal-algorithm.c to avoid memory leakRaghavendra Bhat2010-07-221-0/+2
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 992 (memory leak in afr_sh_algo_diff) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=992
* dht: set 'lookup-unhashed' to ON by default (instead of 'auto').Amar Tumballi2010-07-193-3/+9
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 826 (distribute option lookup-unhashed should be on by default) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=826
* Revert "dht: perform revalidate on one subvolume"Anand V. Avati2010-07-151-17/+108
| | | | This reverts commit 97e060d04b6b86225264644ff8fef0459577a031.
* remove dead assignments in stripe.cAmar Tumballi2010-07-141-11/+28
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1071 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1071
* proper way to do defrag of a mountpointAmar Tumballi2010-07-142-3/+219
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Usage: "glusterfs-defrag <MOUNTPOINT>" there are new features added to distribute with this patch: * bash# getfattr -n trusted.distribute.linkinfo <file> Gives output in the format "<hostname>:<directory>", if there is a linkfile present, where hostname is server, directory is backend directory where the actual linkfile is present. * bash# getfattr -n trusted.glusterfs.pathinfo <path> Gives layout information if directory, and info about actual location of file in backend servers, in the form of 'hostname:directory'. (TODO: should extend it to all xlators) * bash# getfattr -n trusted.distribute.fix.layout <path> scales out the directory layout in distribute, so when new servers are added, layouts are fixed to include them. * removed 'scale-n-defrag.sh' as its no more required. * changed 'defrag.sh' to have a feature to specify target bricks, so defrag happens to only those nodes. moved the file to 'glusterfs-defrag', which now gets installed to '${prefix}/bin' * storage/posix: takes new option 'hostname' so it can resolve to same hostname given during 'gluster volume create'. with 'trusted.glusterfs.pathinfo' posix returns the value in 'hostname:real_path' format. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1073 ('gluster defrag <VOLNAME>' fails in mainline) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1073
* removed 'fop->checksum' from codebase as its not required anymoreAmar Tumballi2010-07-065-126/+0
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 734 (keep only the working/usable code in build tree to focus more on development) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=734
* NULL dereference fixes in code base after running with 'clang'Amar Tumballi2010-07-027-29/+44
| | | | | | | | | | | | * 212 logical (NULL deref/divide by zero) errors reduced to 28 (27 of them in contrib/ and lex part of codebase, 1 is invalid) * 11 API errors reduced to 0 Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 966 (NULL check for avoiding NULL dereferencing of pointers..) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=966
* mem-types: include *-mem-types.h in noinst_HEADERS variables in all Makefile.amAnand Avati2010-06-083-3/+3
| | | | | | | | Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 329 (Replacing memory allocation functions with mem-type functions) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=329
* dynamic volume changes for graph replacementAnand Avati2010-06-071-3/+3
| | | | | | | | Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 971 (dynamic volume management) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
* cluster/afr: Check before accessing xattrs in data self heal.Pavan Sondur2010-06-011-1/+2
| | | | | | | | | | | | | The lookup xattrs might be null, because a lookup might not have been issued during self heal, especially if only data self heal is required. Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 815 (quick-read and replicate self-heal interaction result in empty reads) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=815 BUG: 815 (quick-read and replicate self-heal interaction result in empty reads) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=815
* cluster/stripe: NULL pointer dereference checks addedAmar Tumballi2010-05-281-152/+359
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 966 (NULL check for avoiding NULL dereferencing of pointers..) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=966
* cluster/stripe: added STACK_UNWIND_STRICT macroAmar Tumballi2010-05-281-664/+717
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 966 (NULL check for avoiding NULL dereferencing of pointers..) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=966
* OS X: adjustments, minor fixes to eliminate warningsCsaba Henk2010-05-211-2/+4
| | | | | | | | Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 361 (GlusterFS 3.0 should work on Mac OS/X) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=361
* cluster/afr: Don't dereference fd ptr - it might be NULL due to a failed call.Pavan Sondur2010-05-211-1/+1
| | | | | | | | Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 914 ([3.0.4] Crash in afr_opendir_cbk) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=914
* Bug 799: dht prints 100% full when subvolume is not connected to remote hostLakshmipathi2010-05-211-1/+1
| | | | | | | | Signed-off-by: lakshmipathi <lakshmipathi@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 799 (dht prints 100% full when subvolume is not connected to remote host) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=799
* fuse, dht: use readdir by default.Anand Avati2010-05-131-2/+15
| | | | | | | | | | | dht - switch over to readdirp based algo if one subvolume is down Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@amp.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 898 (small file performance enhancements) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=898
* dht: perform revalidate on one subvolumeAnand Avati2010-05-131-108/+17
| | | | | | | | | | | | generation numbers should detect recreations and no need to rely on layout changes anymore Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@amp.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 898 (small file performance enhancements) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=898
* Unset split-brain flags in afr_self_heal_completion_cbk if self heal ↵Simone Gotti2010-05-093-7/+12
| | | | | | | | | | completes successfully. Signed-off-by: Simone Gotti <simone.gotti@gmail.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 884 (I/O errors after fixed split brain and successfully completed self heal) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=884
* Fix for crash in stripe_entry_self_healAnush Shetty2010-05-081-1/+1
| | | | | | | | | Signed-off-by: Anush Shetty <anush@gluster.com> Signed-off-by: Anush Shetty <anush@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 887 (Crash in stripe_entry_self_heal) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=887
* Check whether a server is down before calling rename on the directoryRaghavendra Bhat2010-05-081-0/+7
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 820 (distribute directory rename problem when one subvol is down) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=820
* cluster/afr: Unwind lk using struct flock from a successful serverVikas Gorur2010-05-031-1/+2
| | | | | | | | Signed-off-by: Vikas Gorur <vikas@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 882 (directory traversing problem (client crash)) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=882
* frame's 'op', 'type' restructuredAmar Tumballi2010-05-039-29/+0
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 875 (Implement a new protocol to provide proper backward/forward compatibility) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=875
* dht: don't overwrite the layout after the subvolume expansionAmar Tumballi2010-04-291-1/+1
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 864 (dht self-heal overwrites layout causing 'missing' files.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=864
* cluster/stripe: Memory accounting changesVijay Bellur2010-04-271-5/+5
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 329 (Replacing memory allocation functions with mem-type functions) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=329
* cluster/dht: perform inode number overwrite in readv_cbk iatt with checksAnand Avati2010-04-271-1/+3
| | | | | | | | Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 862 (Crash in dht_readv_cbk with error-gen) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=862
* Filter out extended attribute visibility on the mount point.Sachidananda2010-04-231-0/+6
| | | | | | | | | | | | Filter out extended attribute visibility on the mount point. This causes rsync -X to remove the extended attributes and `Stale NFS file handle' error on mount point, resulting in making the mount point inaccessible. Signed-off-by: Sachidananda Urs <sac@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 797 (DHT layout and posix generation number xattr's should be filtered) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=797
* Memory accounting changesVijay Bellur2010-04-2336-436/+970
| | | | | | | | | | | Memory accounting Changes. Thanks to Vinayak Hegde and Csaba Henk for their contributions. Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 329 (Replacing memory allocation functions with mem-type functions) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=329
* cluster/afr: Check for call_count in ENTRY_RENAME_TRANSACTIONVijay Bellur2010-04-201-1/+2
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 824 (Crash in afr rename transaction) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=824
* cluster/afr: Send xattr in lookup from the source subvolume.Vikas Gorur2010-04-201-0/+8
| | | | | | | | Signed-off-by: Vikas Gorur <vikas@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 815 (quick-read and replicate self-heal interaction result in empty reads) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=815
* cluster/afr: Fix possible NULL dereference in readdirp_cbkVikas Gorur2010-04-201-15/+17
| | | | | | | | Signed-off-by: Vikas Gorur <vikas@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 722 (Segfault in glusterfs 3.0.3 replicate/afr_readdirp_cbk) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=722
* afr: afr_fsetattr - send proper inode pointer to afr_read_child()Anand Avati2010-04-081-1/+1
| | | | | | | | Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 814 (replicate complains of invalid inode in afr_read_child()) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=814
* iatt: change S_IF macros with IA_IF macros in missing placesAnand Avati2010-04-082-22/+22
| | | | | | | | Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 730 (unknown filetypes and inode conflicts in afr) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=730
* afr: fix inode ref leak in lookupAnand Avati2010-04-081-3/+0
| | | | | | | | | | | first success lookup sets local->cont.lookup with inode_ref and second setting leaks Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 813 (inode ref leak) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=813
* cluster/afr: Cleanup fd ctx in releasedir cbkVijay Bellur2010-04-083-5/+17
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 805 (memory leak in afr) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=805