summaryrefslogtreecommitdiffstats
path: root/xlators/cluster
Commit message (Collapse)AuthorAgeFilesLines
* "option unhashed-sticky-bit on/off"krishna2009-04-233-5/+25
| | | | | | | | "option unhashed-sticky-bit on/off" will configure distribute to set or not the S_ISVTX bit in the stat.st_mode of the actual file in case it is pointed to by the link file. This can be enabled during migration. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* replicate dir self-heal - when creating a missing dir/file, set pending ↵Anand V. Avati2009-04-231-13/+68
| | | | xattrs on source subvolume for that dir/file
* fix in afr directory self-heal (partial healing)Anand V. Avati2009-04-231-0/+5
| | | | impunge loop was 'continued' on a different subvolume in certain cases, resulting in healing of partial files
* afr_lookup_cbk - self-heal getting missedAnand V. Avati2009-04-221-25/+25
| | | | | | | | compare for mismatching sizes and attributes before overwriting local->stbuf for read-child subvolume. This causes files with differing sizes on backed not to get self-healed if xattrs were missing. Also add the ESTALE check for compulsorily failing revalidates in case of 2nd unwind and beyond Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Check return value of afr_sh_select_source.2.0.0rc8Vikas Gorur2009-04-203-1/+18
| | | | | | If select_source returns -1, abort self-heal. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Minor fix in afr_sh_build_pending_matrix.Vikas Gorur2009-04-201-3/+0
| | | | | | Remove incorrect check for xattr[i] being NULL. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* afr-transaction: handle double flushesAnand V. Avati2009-04-201-1/+3
| | | | __if_fd_pre_op_done - reset fd_ctx->pre_op_done to 0 so that double flushes do not result in two xattrop() calls
* Fix two memory leaks in afr self heal code.Vikas Gorur2009-04-171-0/+4
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Fixed parameter to finodelk in STACK_WIND in dhtVikas Gorur2009-04-171-1/+1
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Use original pid when calling the FOP in afr transaction.Vikas Gorur2009-04-162-3/+42
| | | | | | | | Save the original pid while locking and restore it after the FOP is done. This ensures posix-locks can release locks (fcntl) properly. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* cluster/distribute bug fix - try to create linkfile in ↵Basavanagowda Kanur2009-04-163-16/+68
| | | | | | | | dht_lookup_everywhere_cbk(), only if hashed subvolume can be determined, else error out with ENOENT. -- with local fixes (avati) Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Changed xattr format of afr changelog to support adding and removing of ↵Vikas Gorur2009-04-1611-287/+322
| | | | | | subvolumes while keeping existing data. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* cluster/unify link() should be sent to only one subvolume.Basavanagowda Kanur2009-04-141-0/+1
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* bug fixes in dht-disk-usage feature.Amar Tumballi2009-04-144-35/+72
| | | | | | fixes bugs seen with dht's disk usage. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Send statbuf from the same subvolume, even across revalidates.Vikas Gorur2009-04-131-5/+14
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* in dht, initialize the free available space properly, so the first few ↵Amar Tumballi2009-04-123-3/+52
| | | | | | creates are not confused. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* update cluster/map with new readv writev prototypesAnand V. Avati2009-04-121-11/+13
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* update cluster/ha with new readv writev prototypesAnand V. Avati2009-04-121-6/+10
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* update cluster/dht with new readv writev prototypesAnand V. Avati2009-04-121-5/+8
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* update cluster/afr with new readv writev prototypesAnand V. Avati2009-04-125-17/+20
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* update cluster/stripe with new readv writev prototypesAnand V. Avati2009-04-121-13/+17
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* update cluster/unify with new readv writev prototypesAnand V. Avati2009-04-121-4/+7
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Compulsorily do self heal if file sizes differ.Vikas Gorur2009-04-096-23/+100
| | | | | | | | | If file sizes differ, then compulsorily do self-heal. If no 'wise' sources are found, then pick a 'fool' with the biggest file size. If even 'fools' aren't found, pick the 'innocent' source with the biggest file size. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Handle files which have no pending xattrs at all.Vikas Gorur2009-04-091-1/+27
| | | | | | | | If a pending xattr key is non-existent on a file (call such files 'ignorant'), make all other non-ignorant subvolumes point towards the ignorant one. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Erase xattr during self-heal based on original dict.Vikas Gorur2009-04-095-10/+27
| | | | | | | | Decrement xattr during self-heal based on the original dict instead of pending_matrix, as the pending_matrix might have been altered later. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* map translator cleanup.Amar Tumballi2009-04-081-643/+1065
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Fix minor bug in afr_open_cbk.Vikas Gorur2009-04-081-3/+7
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Fix in changelog logic.Vikas Gorur2009-04-076-41/+254
| | | | | | If a writev fails, remember it by marking it in the fd context. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Consider a subvolume dead if an fop fails on itVikas Gorur2009-04-073-17/+19
| | | | | | | | | Transaction fops earlier called afr_transaction_child_died only if an fop failed due to ENOTCONN or EBADFD. Now they consider a child dead regardless of the reason for failure. This handles cases such as ENOSPC. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* nufa to take care of free disk-space while creating files.Amar Tumballi2009-04-061-32/+74
| | | | | | nufa gets awareness about the available free-disk-space in subvolumes. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Fix in return value of afr_sh_mark_sourcesVikas Gorur2009-04-063-10/+26
| | | | | | | | | | | | afr_sh_mark_sources now returns: -1 if two wise subvols conflict (split-brain) 0 if all subvols are innocent (no self-heal needed) >0 if sources found Also, changes to callers of afr_sh_mark_sources to handle return value properly. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* distribute to take care of available disk space while creating new dirs, and ↵Amar Tumballi2009-04-035-26/+384
| | | | | | | | files. distribute gets awareness about disk-space while creating the files Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Made afr inode context a 64-bit packed value instead of a structure.Vikas Gorur2009-04-034-313/+205
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Load balance read operations among subvolumes in afrVikas Gorur2009-04-024-110/+513
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Defined afr_inode_ctx_t structure.Vikas Gorur2009-04-022-11/+76
| | | | | | | | Notification of a split-brain situation, which was earlier signalled by the mere presence of inode context is now signalled by the 'split_brain' member in the structure. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* unify-self-heal: Fix un-ref'ing of incorrect dictShehjar Tikoo2009-04-021-1/+1
| | | | | | | | | | | | | dict_unref'ing of the dict in local results in a crash due to de-referencing a NULL spinlock. That is because after a STACK_UNWIND(..), we cannot expect the frame->local to be allocated still. Fix by using the other available reference to local->dict. Ref: https://savannah.nongnu.org/bugs/?26058 Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Print log message when AFR receives CHILD_UP/DOWN notificationVikas Gorur2009-04-021-0/+6
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* cluster/stripe to propogate ESTALE to parent.Basavanagowda Kanur2009-04-021-2/+4
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* cluster/unify propogates ESTALE to parent translator, if any subvolume ↵Basavanagowda Kanur2009-04-021-4/+30
| | | | | | returns ESTALE during revalidate. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* cluster/replicate should propogate the ESTALE error to parent, when at least ↵Basavanagowda Kanur2009-04-021-4/+14
| | | | | | one subvolume returns ESTALE. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* cluster/{dht,nufa} propogate ESTALE (when at least one subvolume returns ↵Basavanagowda Kanur2009-04-021-1/+10
| | | | | | ESTALE for revalidate) to parent translator. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* cluster/{nufa,dht} fail revalidates with ESTALE, in case a stale layout is ↵Basavanagowda Kanur2009-04-022-4/+4
| | | | | | found in inode->ctx. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Enhancements to distribute selfhealAnand V. Avati2009-03-263-51/+117
| | | | | | | | | | - create missing directories instead of creating linkfiles when entry missing on hashed subvol - detect cases where there are dirs and linkfiles for a name and make them all dirs Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Fixed typo in warning string in afr.cVikas Gorur2009-03-261-1/+1
| | | | | | Fixed typo. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Made self heal logic more precise.Vikas Gorur2009-03-241-22/+233
| | | | | | | | | Discard earlier patch sent for the same error. This patch fixes it more comprehensively. This solves the spurious split-brain seen by many users. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* dht memory leak fixRaghavendra G2009-03-241-1/+1
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* fixes issue of hashing to wrong subvolumes in case when a subvolume is downAmar Tumballi2009-03-211-2/+2
| | | | | | | When a hashed subvolume is down, variable 'subvol' was NULL, but was sent to itransform. This patch solves this, and readdir is sent to proper subvolume now. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* dht_layout_dir_cmp - if xattr is missing, it is an error only if cached ↵Anand V. Avati2009-03-191-11/+18
| | | | layout has entry for that subvolume.
* Moving few translators which are not well tested, are in beta stage to ↵Amar Tumballi2009-03-182-2/+2
| | | | | | | | | | | | | 'testing/' directory. This way, users will be aware which are in 'beta' stage, and we can keep on adding new translators (if any) seemlessly to stable codebase and once tested can move them to proper places. To use these translators, everyone will have to prefix 'testing/' to existing type of translator (in volumefile) Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* implement forget for cluster/unifyBasavanagowda Kanur2009-03-131-0/+18
| | | | | | inode_ctx_put() would set a list allocated on heap and would not be free()ed anywhere. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>