summaryrefslogtreecommitdiffstats
path: root/xlators/cluster
Commit message (Collapse)AuthorAgeFilesLines
* cluster/afr: Handle self-heal of files with holesv3.2.7qa2Pranith Kumar K2012-06-094-44/+65
| | | | | | | | | Change-Id: I7a560b3633151c9c1e5a787d1c808d8a396ee754 BUG: 765424 Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Reviewed-on: http://review.gluster.com/3540 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* cluster/afr: Don't reset split-brain when data-self-heal is offPranith Kumar K2012-06-063-1/+3
| | | | | | | | | Change-Id: Id73bdb84c3a1c0af6f0e2954514c3c07c65317bc BUG: 804606 Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Reviewed-on: http://review.gluster.com/3522 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* cluster/afr: Fix truncation of offset in 32-bit machinesPranith Kumar K2012-06-061-1/+2
| | | | | | | | | | | Thanks to the fix submitted by Ian Latter and Michael Change-Id: I84a62a9183c70be6da055d23e4d60cc97cfcf531 BUG: 809982 Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Reviewed-on: http://review.gluster.com/3521 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* cluster/afr: Perform conservative merge on dir with xattr split-brainv3.2.6p3Pranith Kumar K2012-03-143-10/+60
| | | | | | | | | Change-Id: I314cf7bbc8a451e42b6addf367f55e431ab0a85c BUG: 802637 Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Reviewed-on: http://review.gluster.com/2945 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* cluster/afr: Handle files w.o. xattrs and size mismatch.v3.2.6p2Pranith Kumar K2012-03-132-10/+44
| | | | | | | | | Change-Id: I31458538c738c85a026994584c937c99538fe069 BUG: 802637 Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Reviewed-on: http://review.gluster.com/2932 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* cluster/afr: Mark zero size file as sink in absense of xattrs.Pranith Kumar K2012-03-132-2/+53
| | | | | | | | | Change-Id: Ic9381f9caa7021a629afb7401e51a29686880bfe BUG: 802637 Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Reviewed-on: http://review.gluster.com/2931 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* replicate: backport of 0783ca994d9ea95fd9ab3dd95d6407918f19f255Anand Avati2012-03-124-45/+30
| | | | | | | | | | | This is a backport of patch 0783ca994d9ea95fd9ab3dd95d6407918f19f255 which is a fix for bug 798874 Change-Id: I0edac430b2f22dce121ff4889b563cbef14b09cd BUG: 798874 Reviewed-on: http://review.gluster.com/2928 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
* cluster/afr: Handle split-brain/all-fool xattrs for directoryPranith Kumar K2012-03-126-176/+158
| | | | | | | | | | | | In case of split-brain/all-fool xattrs perform conservative merge. Don't treat ignorant subvol as fool. Change-Id: I3044d388d816d79268fec170d202ef23e7d5bf1c BUG: 765528 Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Reviewed-on: http://review.gluster.com/2674 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
* support for nano second resolution for mtime,ctime,atime attributes.v3.2.6qa2krishna2012-02-081-3/+15
| | | | | | | | | Change-Id: Id5078f270d0fec280b53d4aa7b16bbaf42a2df05 BUG: 784095 Signed-off-by: krishna <ksriniva@redhat.com> Reviewed-on: http://review.gluster.com/2729 Reviewed-by: Anand Avati <avati@gluster.com> Tested-by: Gluster Build System <jenkins@build.gluster.com>
* cluster/dht: Exit clean when assert_no_child_down is enabledVijay Bellur2012-01-241-1/+2
| | | | | | | | | Change-Id: If90b1080edcf3792f8590492b585a6dd48fac18e BUG: 783249 Signed-off-by: Vijay Bellur <vijay@gluster.com> Reviewed-on: http://review.gluster.com/2682 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* cluster/stripe: Fix block size reported in pathinfo xattrVenky Shankar2012-01-031-16/+54
| | | | | | | | | | | | | | | | Block size (or stripe size) is reported when request is made for pathinfo xattr (trusted.glusterfs.pathinfo) for a striped volume. When the block size is changed, the new block size is reported for files created with older block size. This can be confusing ( or even erroneous ) for applications relying on pathinfo xattr to find chunks in backend. Change-Id: I79cb6721bbd33f44c3fada4dd52e459d2c128e24 BUG: 766530 Signed-off-by: Venky Shankar <vshankar@redhat.com> Reviewed-on: http://review.gluster.com/2549 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Shishir Gowda <shishirng@gluster.com>
* cluster/stripe: copy the gfid from the dentry structure to locshishir gowda2012-01-031-0/+2
| | | | | | | | | | | | | | | | In stripe_readdirp_cbk we used to send stat call on each of the entry we have got from readdirp, by creating a new inode (but without setting the gfid in loc). Protocol/client asserts if it cannot find gfid in either loc or loc->inode. This patch copies the gfid of the entry from the stat structure to loc. Change-Id: I3f124fb816fc6e3f9239a24fc657b1dbee34d3a2 BUG: 768840 Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Reviewed-on: http://review.gluster.com/2544 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* Cluster/stripe setattr: Wind only to first_child for special filesshishir gowda2012-01-031-1/+9
| | | | | | | | | Change-Id: Ia60207199ee702f22222b67a1f1d62b8093e871c BUG: 765539 Signed-off-by: shishir gowda <shishirng@gluster.com> Reviewed-on: http://review.gluster.com/723 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* cluster/afr: honor the xattr set by data-self-healPranith Kumar K2011-11-112-1/+4
| | | | | | | | Change-Id: I2b8c3a2d7771463ef94892f2a78fc464aba703ee BUG: 3805 Reviewed-on: http://review.gluster.com/708 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* cluster/distribute: Trigger selfheal only if rmdir succeeded onceshishir gowda2011-11-112-3/+7
| | | | | | | | | | | A EACCES error also should not trigger a selfheal. Only if rmdir succeeded on any subvol, a selfheal should be triggered Change-Id: I1dd39db830e9396b1dc6d6edbaa6de6ea83e9070 BUG: 3786 Reviewed-on: http://review.gluster.com/715 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* afr: Fixed backgroundness detection in self-heal algo.Krishnan Parthasarathi2011-11-101-0/+1
| | | | | | | | Change-Id: I9888d8a0b86fdaf6589885766f2de7222d8c8ba2 BUG: 3802 Reviewed-on: http://review.gluster.com/705 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Pranith Kumar Karampuri <pranithk@gluster.com>
* cluster/distribute lookup: Request layout info for dir'sv3.2.5qa8shishir gowda2011-11-101-6/+6
| | | | | | | | Change-Id: I17e40beb2c6e77a802fb987bed6f0e4be8010ef6 BUG: 3803 Reviewed-on: http://review.gluster.com/707 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* 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>