summaryrefslogtreecommitdiffstats
path: root/xlators/cluster
Commit message (Collapse)AuthorAgeFilesLines
* cluster/afr: Handle split-brain/all-fool xattrs for directoryv3.2.5qa7Pranith Kumar K2011-11-095-35/+67
| | | | | | | | Change-Id: I058ed91494e1a9bbcf5e6e6c49e8ee4f7e014e23 BUG: 3796 Reviewed-on: http://review.gluster.com/695 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* cluster/distribute stat: Take ref on inode before to prevent crash.shishir gowda2011-11-091-16/+21
| | | | | | | | | | | | | | | | Possible situation is a forget call which unref's the inode, and the layout gets freed before we access it in stat. By taking a ref before we call ctx get, the layout is going to be persistent till we unref it. Also use local call_cnt var instead of layout->cnt when wind is involved Change-Id: Ie04a7afd9e2c89cc14c08dd923d06c5f0193beb8 BUG: 3730 Reviewed-on: http://review.gluster.com/687 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* cluster/distribute lookup: send revalidate calls to all subvols for directoriesshishir gowda2011-11-091-0/+11
| | | | | | | | | | | | | | If mkdir fails on a subvolume, layout is set taking into account only the subvols where it was successful. stat does not trigger selfheal, as its layout based. Revalidate on directories needs to be sent to all subvols, to fix the error, and not just on the layout. Change-Id: Ia3ce2e5a042b2d55cddd7bd8cf31a94de6023234 BUG: 3793 Reviewed-on: http://review.gluster.com/688 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* stripe read: Wipe stat in reply to prevent truncated error.shishir gowda2011-11-082-1/+2
| | | | | | | | | | | | | | If the read request, does not fall to the subvolume with the largest file size set, then we never return the correct size. This leads to clients seeing a truncated file error. The work around is to wipe stat being returned as part of read call. Change-Id: I4e76d09d7919fd0be616fe140e08f89a0dbcc444 BUG: 3774 Reviewed-on: http://review.gluster.com/682 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* cluster/replicate: no more 'itransform' required for inode numbersAmar Tumballi2011-11-085-123/+0
| | | | | | | | | | as posix layer itself sends inode numbers based on gfid now Change-Id: I184d4598cf541eadb0471c39e598f14d6ac9390a BUG: 3042 Reviewed-on: http://review.gluster.com/632 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* cluster/afr: Handle absence of gfid in lookupv3.2.5qa6Pranith Kumar K2011-11-051-3/+15
| | | | | | | | Change-Id: I57fe8db82425a064ca01b23a47baca297c67560c BUG: 3783 Reviewed-on: http://review.gluster.com/676 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* cluster/afr: unwind instead of returning directly if no open is required on ↵v3.2.5qa5Raghavendra Bhat2011-11-041-0/+1
| | | | | | | | | | | | | | | any child Currently if no open is required on any child of replicate, we are returning directly instead of unwinding and returning. This is leading to the frame loss, which results in application hang. Unwind and then return if no open is to be done on any child. Change-Id: Ib59535b63751d9e98a4ceca39b4b73b14d850680 BUG: 3443 Reviewed-on: http://review.gluster.com/674 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* dht,afr: Fixed gfid problemsPranith Kumar K2011-11-046-50/+53
| | | | | | | | | | | *) removed uuid_generate usage in pump and afr *) filled the gfids for the fops which were sending no gfid in loc Change-Id: Id6780da76c3ae18ae5130368b687ea026e338ac0 BUG: 3760 Reviewed-on: http://review.gluster.com/673 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* stripe readv_cbk: Propogate the correct size and blk cnt in stbufshishir gowda2011-11-031-0/+5
| | | | | | | | | | | | | | | We were passing the stbuf returned by the first child/index, which can be different to the size/blocks returned by stat. This led to applications viewing the file as being truncated. The stbuf size needs to be the largest of all results, and blocks the aggregation from all subvolumes. (similar to stat) Change-Id: I0782f2d0d48b53c5c507a2b1fc62a6132a31ce12 BUG: 3774 Reviewed-on: http://review.gluster.com/664 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* cluster/dht: set gfid in lookup locPranith Kumar K2011-11-031-0/+2
| | | | | | | | Change-Id: Ic7a7b344bc62bf4c78e092c34c4c9cb3e0ba6cdc BUG: 3770 Reviewed-on: http://review.gluster.com/660 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* cluster/afr: Modify finding gfid in lookup fopPranith Kumar K2011-11-031-3/+8
| | | | | | | | | Change-Id: I1d3b2028f1db7db32266827bd0ba9b2a73474e3e BUG: 3770 Reviewed-on: http://review.gluster.com/659 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* cluster/afr : Remove wrong log message in afr-open.cKaushal M2011-11-031-7/+0
| | | | | | | | | | Removes a wrong and unneeded log message in afr-open.c Change-Id: I682c9e1281867e6ccbed7099268e4015f9783ccd BUG: 3443 Reviewed-on: http://review.gluster.com/648 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Pranith Kumar Karampuri <pranithk@gluster.com>
* cluster/afr : Fix self-heal of special filesKaushal M2011-10-313-11/+37
| | | | | | | | | | | | | | | | Fixes self-heal of special files like device files, fifo files, socket files etc. Does it by doing the following: * Prevent setting of pending data xattr on a special file during entry self-heal when a new file is created. * Allow data self-heal to be started on all file types other than directories. During data self-heal, for special files just erase pending xattrs, if those xattrs were set by previous releases of glusterfs. Change-Id: I1a36670b7287292d579b53852e25cdd452d55605 BUG: 3525 Reviewed-on: http://review.gluster.com/647 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Pranith Kumar Karampuri <pranithk@gluster.com>
* Move some of the messages to log level `TRACE'.Sachidananda Urs2011-10-301-2/+2
| | | | | | | | Change-Id: I41e6f39c5d0621942a310f550250034fd520ec76 BUG: 3761 Reviewed-on: http://review.gluster.com/644 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* pump: Change crawl to accommodate afr_lookup changesPranith Kumar K2011-10-281-43/+78
| | | | | | | | Change-Id: I895574dd6fa411784eb5282c799ccf3ff7c65625 BUG: 3747 Reviewed-on: http://review.gluster.com/635 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* cluster/afr: Take gfid-req from xattr_req only if inode->gfid is nullPranith Kumar K2011-10-281-37/+60
| | | | | | | | | | | | Afr needs to send the xattr_req without gfid so instead of modifying the xattr_req that comes from parent xlators take a copy and then modify. Change-Id: I7ee9e941eb931d67f3c89feb664a257edd01803b BUG: 3747 Reviewed-on: http://review.gluster.com/634 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* check the return value of inode_path for less than or equal to zeroRaghavendra Bhat2011-10-281-3/+6
| | | | | | | | Change-Id: I9bbdfe79664c1339b66819a6c7ea4b7698beb5c6 BUG: 3757 Reviewed-on: http://review.gluster.com/640 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* Stripe mknod: Always call mknod if REGULAR file on first child.shishir gowda2011-10-202-50/+139
| | | | | | | | | | | | This prevents a possible race between mknod(REGULUAR files) and remove. mknod first creates on the first_child, and only if successful, on other subvolumes. Change-Id: I73822a9518a2e80685eff6446506d2c56783d47f BUG: 3727 Reviewed-on: http://review.gluster.com/623 Reviewed-by: Amar Tumballi <amar@gluster.com> Tested-by: Gluster Build System <jenkins@build.gluster.com>
* cluster/afr: Handle files without gfidPranith Kumar K2011-10-199-734/+610
| | | | | | | | Change-Id: Ie831ae8542c1382c17fb7837cd18b0e4e4d3db75 BUG: 3734 Reviewed-on: http://review.gluster.com/619 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* storage/posix: posix changes to handle gfid/conflicts self-healPranith Kumar K2011-10-191-0/+1
| | | | | | | | Change-Id: Ib759befe1800bc6fd93bdf44f3a7f89bfffff46e BUG: 3734 Reviewed-on: http://review.gluster.com/612 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* cluster/afr: Fix conflict files and gfidsPranith K2011-10-1911-802/+1663
| | | | | | | | Change-Id: I771045aca9f9a811744aeec0d844609a37ae4792 BUG: 3734 Reviewed-on: http://review.gluster.com/611 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* cluster/afr: Handle lookups when self-heal is offPranith Kumar K2011-10-179-590/+983
| | | | | | | | Change-Id: Ibc23fef417bcf613850e03dc4dadcc88f89e2b6f BUG: 2586 Reviewed-on: http://review.gluster.com/59 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* Stripe: Prevent dir gfid mismatch and ENOTEMPTY errorsshishir gowda2011-10-102-103/+334
| | | | | | | | | | | | | | | | | | | gfid mismatch issue- rmdir- first remove from non first child (FC), and then last from FC. If one fails, FC entry is not removed and op is failed. mkdir- first create dir from FC, followed by other childs. If FC is success then, we succeed, banking on entry self heal ENOTEMPTY issue- unlink: remove from non FC and then on success remove from FC. If non FC remove fails, fail unlink create- Create first on FC, and on success create on non FC. Change-Id: I89cb6e069762a1d45669335330e9381c23de3197 BUG: 3663 Reviewed-on: http://review.gluster.com/566 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* cluster/dht: selfheal as rootshishir gowda2011-10-102-0/+2
| | | | | | | | Change-Id: I8a0a91c2ddb7c487d06a9d5aeaed593b5e84abef BUG: 2591 Reviewed-on: http://review.gluster.com/569 Reviewed-by: Amar Tumballi <amar@gluster.com> Tested-by: Gluster Build System <jenkins@build.gluster.com>
* stripe self_heal: Prevent call to spurious STACK_DESTROY.shishir gowda2011-09-281-0/+4
| | | | | | | | | | | this will be destroyed in cbk. Porting commit d7642fb9bc13bb9c2da35bd8e80c311d5fc5096c from master. Change-Id: I46ea53433e782af48f06dda1ab1390b900966e8a BUG: 3505 Reviewed-on: http://review.gluster.com/524 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* Revert "cluster/afr: eager locking of FD writes"v3.2.4qa3Vijay Bellur2011-09-225-171/+60
| | | | | | | | | This reverts commit 81456ec2dfb312ae60c5c4e6f960a3cbf8aaaa4c. Change-Id: Id03335117f5137f5d09781850bf4fba6eca0f73d Reviewed-on: http://review.gluster.com/492 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* cluster/afr: eager locking of FD writesAnand Avati2011-09-085-60/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is a change in the way write transactions hold a lock which optimizes the case of sequential writes from a single writer. Lock phase of a transaction has two sub-phases. First is an attempt to acquire locks in parallel by broadcasting non-blocking lock requests. If lock aquistion fails on any server, then the held locks are unlocked and revert to a blocking locked mode sequentially on one server after another. The change in this patch is to make the initial broadcasting lock request attempt to acquire lock on the entire file. If this fails, we revert back to the sequential "regional" blocking lock as before. In the case where such an "eager" lock is granted in the non-blocking phase, it gives rise to an opportunity for optimization. i.e, if the next write transaction on the same FD arrives before the unlock phase of the first transaction, it "takes over" the full file lock. Similarly if yet another transaction arrives before the unlock phase of the "optimized" transaction, that in turn "takes over" the lock as well. The actual unlock now happens at the end of the last "optimzed" transaction. Any operation which arrives before the unlock phase of the previous transaction is a potential candidate to become an "optimized" transaction. In cases where the previous transaction had aquired lock as a "regional" blocking lock, and the next transaction comes in before its unlock phase, then it would not be an "optimized" transaction. Implied assumption ------------------ Since two or more transactions can now operate within the same large lock, there is a possibility that overlapping transactions can arrive at oppoosite orders on the servers. However in the larger picture this is not possible as write-behind already ensures that no two overlapping writes on an inode are in transit at the same time. Overlapping writes across clients are not a problem as they compete at locks anyways. Theoretical benefits and potential harms ---------------------------------------- In case of a single writer: The benefits are large for sequential writes. In the best case the entire file write can happen with just one lock and unlock per server, provided writes are coming in fast enough and getting pipelined by write-behind soon enough (which is usually the case). If the writes are not coming in fast enough, then the optimization "kicks in" for only those subsets of writes which are close enough to get "piggybacked". For random writes the benefits are the same as well. In any case the overall performance is better than or equal to the performance without this optimization for a single writer. In case of multiple writers: When multiple writers are not writing concurrently, there is no negative performance impact. When multiple writers are writing concurrently to the same region, there is no negative impact either, as they were previously getting arbitrated at the locks translator too. In the case of multiple writers writing to different regions concurrently, there will be an increased number of "failovers" from failed parallel non-blocking to sequential blocking regional locks. This above "worst case" has a simple workaround that as soon as we detect > 1 open-fd-count in lookup xattr, we can disable this optimization on those fds. Beneficial side-effects ----------------------- There is another similar optimization in AFR for changelogs which goes by the name of "changelog-piggybacking". That works in a similar way where pending flags get 'taken over' or 'piggybacked' by the next transaction if its 'pre-op' phase kicks in before the 'post-op' phase of the previous transaction. It has been observed that this changelog-piggybacking optimization gives a saving of about ~55% savings of xattr calls hitting the wire, measured across various types of network interfaces. The side effect of this eager-lock optimization is that it gives an almost 100% saving of xattr calls by making the optimistic-changelog work much more efficiently as it gives a wider overlap of the xattr phases of two consecutive transactions. Change-Id: I41c02eb3b64c14c68ef66a344610ec3f024cd59d BUG: 3409 Reviewed-on: http://review.gluster.com/243 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* afr/stripe: collect pathinfo xattr from all childsVenky Shankar2011-08-247-18/+361
| | | | | | | | Change-Id: Iec8b609e66ef21f4fdd6ee2ff3060f0b71d47ca0 BUG: 3046 Reviewed-on: http://review.gluster.com/237 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* mgmt/Glusterd: Implementation volume set help/help-xmlKaushik BV2011-08-183-14/+113
| | | | | | | Change-Id: I0c54fd1c15550e5e5551e95ed32adb14d8029fab Reviewed-on: http://review.gluster.com/238 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* cluster/afr: Fix endian conversion for fxattropPranith Kumar K2011-08-181-1/+1
| | | | | | | | Change-Id: Ie67c4da49876555c3162909e474b9089a85f99a6 BUG: 3182 Reviewed-on: http://review.gluster.com/256 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* cluster/stripe: send the xattr keys with create/mknod itself.shishir gowda2011-08-101-189/+177
| | | | | | | | | | | | so stripe is more acl friendly Porting patch ded0a9a2a0a9024def7a4b199ac3bbfa5d66485a from master Change-Id: I0c7d8fb90714a4d92620646d940a58be58a3cf66 BUG: 3368 Signed-off-by: Amar Tumballi <amar@gluster.com> Reviewed-on: http://review.gluster.com/202 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* Change Copyright current yearPranith Kumar K2011-08-1054-54/+54
| | | | | | | | Change-Id: Id1f1a91cf15d933d5621a0073ddaebe02df0f159 BUG: 3348 Reviewed-on: http://review.gluster.com/198 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* LICENSE: s/GNU Affero General Public/GNU General Public/Pranith Kumar K2011-08-0654-162/+162
| | | | | | | | Change-Id: Ibf5f45431d7a55b70d7304649af652d6f25bb688 BUG: 3348 Reviewed-on: http://review.gluster.com/183 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* cluster/dht: clear local->cached_subvol when switching to do_fresh_lookupAnand Avati2011-08-061-0/+1
| | | | | | | | | | | | The presence of local->cached_subvol makes dht_lookup_everywhere_done behave as though it was a lookup on a file where linkfile needs to be recreated. In a fresh lookup, local->cached_subvol should be NULL. Change-Id: Ie6bd6ad536def03d970526d51e20c6daeb00922b BUG: 3317 Reviewed-on: http://review.gluster.com/186 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* DHT rename: Recreate linkfile after unlinkshishir gowda2011-08-033-143/+50
| | | | | | | | | | | | | This is done, so that there is no gfid mismatch. Unlink the older linkfile if it exists, and recreate it with the correct gfid. Also removed unused rename related code. BUG: 2522 Change-Id: Ia880adda5a94351f30971576b4faa861fac4682d Reviewed-on: http://review.gluster.com/144 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* storage/posix: handle dictionary being NULL in a functionAmar Tumballi2011-08-011-1/+1
| | | | | | | | Change-Id: Ib9cac6ed1635203802f089986f8acb1ce416265d BUG: 3215 Reviewed-on: http://review.gluster.com/97 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* stripe: make it quick-read friendlyAmar Tumballi2011-07-271-121/+80
| | | | | | | | | | also do some cleanups Change-Id: Id792ac11b61627201ca08b9f271724dc3e9c5cd7 BUG: 3253 Reviewed-on: http://review.gluster.com/111 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* cluster/dht: dht_rename() - handle GFID situationsAnand Avati2011-07-251-14/+60
| | | | | | | | | | | | In the pre-GFID era, the linkfile of the destination file could be reused the linkfile for the renamed file when dst_cached == src_cached. This patch handles this situation and reverts the previous (wrong) fix. Change-Id: Iba57b5eb91cf8b1fb40e74f6399cdf99b8b00410 BUG: 2464 Reviewed-on: http://review.gluster.com/89 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* cluster/distribute: send proper 'params' dictionary during linkfile creationAmar Tumballi2011-07-121-4/+13
| | | | | | | | | | | | when the code path enters the 'subvol_filled()' case, local->params is set, which contains the 'gfid-req' value, but the linkfile creation was not checking for its existance. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3159 (mknod (linkfile creation) with no 'gfid-req' key) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3159
* cluster/dht: fix race between two directory renamesv3.2.2qa5Anand Avati2011-07-121-7/+79
| | | | | | | | | let the race get arbitrated at the dst_hashed subvolume. 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
* DHT access: For nfs calls, op_ret is always 0, and mode is op_errnoshishir gowda2011-07-081-1/+10
| | | | | | | | | | Return the values received from the subvol Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3057 (acl permissions don't work on nfs mount) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3057
* cluster/afr: save xattr of all the children in lookup_cbkPranith K2011-07-071-2/+2
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Vijay Bellur <vijay@gluster.com> BUG: 3138 ([release-3.2]: ls shows 2 entries) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3138
* cluster/afr: previous read_child should take precedence over priv->read_childPranith K2011-07-072-2/+9
| | | | | | | | | | | | Lookup uses the sources array to decide if a child is read_child or not. So if afr_mark_sources returns 0 i.e. all children are sources, explicitly mark them as sources. Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Vijay Bellur <vijay@gluster.com> BUG: 3138 ([release-3.2]: ls shows 2 entries) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3138
* dht: set linkto xattr with linkfile create (mknod)Anand Avati2011-07-011-75/+13
| | | | | | | Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2815 (Server-enforced ACLs) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2815
* cluster/afr: set frame local before access windPranith K2011-07-011-0/+2
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3072 (Crash in afr_access_cbk) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3072
* cluster/afr: fix the range of the lock taken in [f]truncatePranith K2011-07-011-4/+4
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3077 (afr [f]truncate locks wrong region in transaction) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3077
* pump: mark pending before notify to children to avoid race in single CPU.Krishnan P2011-06-221-2/+2
| | | | | | | | Signed-off-by: Krishnan Parthasarathi <kp@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3050 ('replace-brick' hangs on vm's) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3050
* afr: bg self-heal must be off if self-heal-count=0.Krishnan P2011-06-221-3/+3
| | | | | | | | | | | Signed-off-by: Krishnan Parthasarathi <kp@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3036 (self-heal problem in replace-brick) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3036 BUG: 3036 (self-heal problem in replace-brick) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3036
* loc_t: add 'gfid' and 'pargfid' fieldsAmar Tumballi2011-06-146-1/+33
| | | | | | | | | | | | | | | | | 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. also contains 'Pranith <pranithk@gluster.com>'s patch to set proper loc->gfid during afr selfheal 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
* cluster/afr: propagate proper errno returned by lock fopsv3.2.1qa5v3.2.1Anand 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