summaryrefslogtreecommitdiffstats
path: root/xlators
Commit message (Collapse)AuthorAgeFilesLines
* cluster/afr: set loc->gfid for building root locv3.3.0qa20Shylesh Kumar2012-01-231-1/+1
| | | | | | | | | Change-Id: Icb902846d243df0502f664bfd187280cecd4397c BUG: 784176 Signed-off-by: Shylesh Kumar <shylesh@gluster.com> Reviewed-on: http://review.gluster.com/2681 Reviewed-by: Pranith Kumar Karampuri <pranithk@gluster.com> Tested-by: Gluster Build System <jenkins@build.gluster.com>
* glusterd: fix transpose of memset argumentsRajesh Amaravathi2012-01-231-1/+1
| | | | | | | | | | | | a fix for transposed arguments to memset in glusterd_get_all_volnames function introduced in volume status enhancement. Change-Id: Iaea60c7d19b23992684f91b016b0841e2153b0a9 BUG: 765464 Signed-off-by: Rajesh Amaravathi <rajesh@redhat.com> Reviewed-on: http://review.gluster.com/2680 Reviewed-by: Amar Tumballi <amar@gluster.com> Tested-by: Gluster Build System <jenkins@build.gluster.com>
* Revert "distribute: utilize new 'fremovexattr()' fop for rebalance"Harshavardhana2012-01-231-1/+1
| | | | | | | | | | | This reverts commit c4e4be31ec2783b984e7dbb9ecbc1eea84044ad0 .. There is a problem here. syncop_fremovexattr doesn't exist in the codebase yet. Have a dependency merge for this. No other patches can be uploaded without a build failure now. Change-Id: Ic2c6194d905ffcfa7cbdc29c9bc8739f628d404e Reviewed-on: http://review.gluster.com/2679 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* pump: move internal pump xattrs out of trusted domainRajesh Amaravathi2012-01-234-25/+16
| | | | | | | | | | | | | | | | | | | * the trusted.glusterfs.pump.{start|pause|commit|status|abort} xattrs have been moved out of trusted domain. This enables separation of xattrs used as gluster-internal commands (handled by pump) for replace-brick, which are not set in the back-end, from xattrs set on the replace-brick source and destinations bricks. * macros definitions from pump.h and glusterd.h, #defining these xattrs have been merged and put into libglusterfs/src/glusterfs.h Change-Id: I87b8bfbf045aa140f5d3f0c9baa9b2e79f87b67b BUG: 783049 Signed-off-by: Rajesh Amaravathi <rajesh@redhat.com> Reviewed-on: http://review.gluster.com/2663 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* distribute: utilize new 'fremovexattr()' fop for rebalanceAmar Tumballi2012-01-231-1/+1
| | | | | | | | | | | | | instead of existing 'syncop_removexattr()' which is not rename proof for now. Change-Id: I3b2afbe58ce90658100cc56b01e23bed672854e8 Signed-off-by: Amar Tumballi <amar@gluster.com> BUG: 766571 Reviewed-on: http://review.gluster.com/803 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-by: Shishir Gowda <shishirng@gluster.com>
* storage/posix: Pass correct size to sys_lgetxattrroot2012-01-231-1/+1
| | | | | | | | | | | | | We were passing op_ret (0), instead of size variable obtained by previous sys_lgetxattr to determine the size Signed-off-by: root <shishirng@gluster.com> Change-Id: I886dedc2ab752ac1feabe7a79725ea5f069d6865 BUG: 783916 Reviewed-on: http://review.gluster.com/2676 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Rahul C S <rahulcs@redhat.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* rpc: extend actors with flag signing if privilege is requiredCsaba Henk2012-01-217-125/+125
| | | | | | | | | | | | Currently we allow the following RPC messages for unprivileged users: GLUSTER_CLI_GETWD, GLUSTER_CLI_MOUNT, GLUSTER_CLI_UMOUNT Change-Id: I05414f3ca7cbe47de45c5e5cfba1537efc774e6c BUG: 781256 Signed-off-by: Csaba Henk <csaba@gluster.com> Reviewed-on: http://review.gluster.com/2641 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* nfs: changes for using nameless lookup and anonymous FDsAnand Avati2012-01-209-1004/+1927
| | | | | | | | | | | | | | - Use gfid to create filehandle instead of encoding path components - Utilize nameless lookups of GFID for deep resolution instead of crawling the namespace with component hints - Use anonymous FDs for file based operations - Do away with fdcaching code for files and dirs Change-Id: Ic48fb23370b25d183f7e1fc1cc5dffa9d5bab3fb BUG: 781318 Reviewed-on: http://review.gluster.com/2645 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* core: GFID filehandle based backend and anonymous FDsAnand Avati2012-01-2030-1445/+2183
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. What -------- This change introduces an infrastructure change in the filesystem which lets filesystem operation address objects (inodes) just by its GFID. Thus far GFID has been a unique identifier of a user-visible inode. But in terms of addressability the only mechanism thus far has been the backend filesystem path, which could be derived from the GFID only if it was cached in the inode table along with the entire set of dentry ancestry leading up to the root. This change essentially decouples addressability from the namespace. It is no more necessary to be aware of the parent directory to address a file or directory. 2. Why ------- The biggest use case for such a feature is NFS for generating persistent filehandles. So far the technique for generating filehandles in NFS has been to encode path components so that the appropriate inode_t can be repopulated into the inode table by means of a recursive lookup of each component top-down. Another use case is the ability to perform more intelligent self-healing and rebalancing of inodes with hardlinks and also to detect renames. A derived feature from GFID filehandles is anonymous FDs. An anonymous FD is an internal USABLE "fd_t" which does not map to a user opened file descriptor or to an internal ->open()'d fd. The ability to address a file by the GFID eliminates the need to have a persistent ->open()'d fd for the purpose of avoiding the namespace. This improves NFS read/write performance significantly eliminating open/close calls and also fixes some of today's limitations (like keeping an FD open longer than necessary resulting in disk space leakage) 3. How ------- At each storage/posix translator level, every file is hardlinked inside a hidden .glusterfs directory (under the top level export) with the name as the ascii-encoded standard UUID format string. For reasons of performance and scalability there is a two-tier classification of those hardlinks under directories with the initial parts of the UUID string as the directory names. For directories (which cannot be hardlinked), the approach is to use a symlink which dereferences the parent GFID path along with basename of the directory. The parent GFID dereference will in turn be a dereference of the grandparent with the parent's basename, and so on recursively up to the root export. 4. Development --------------- 4a. To leverage the ability to address an inode by its GFID, the technique is to perform a "nameless lookup". This means, to populate a loc_t structure as: loc_t { pargfid: NULL parent: NULL name: NULL path: NULL gfid: GFID to be looked up [out parameter] inode: inode_new () result [in parameter] } and performing such lookup will return in its callback an inode_t populated with the right contexts and a struct iatt which can be used to perform an inode_link () on the inode (without a parent and basename). The inode will now be hashed and linked in the inode table and findable via inode_find(). A fundamental change moving forward is that the primary fields in a loc_t structure are now going to be (pargfid, name) and (gfid) depending on the kind of FOP. So far path had been the primary field for operations. The remaining fields only serve as hints/helpers. 4b. If read/write is to be performed on an inode_t, the approach so far has been to: fd_create(), STACK_WIND(open, fd), fd_bind (in callback) and then perform STACK_WIND(read, fd) etc. With anonymous fds now you can do fd_anonymous (inode), STACK_WIND (read, fd). This results in great boost in performance in the inbuilt NFS server. 5. Misc ------- The inode_ctx_put[2] has been renamed to inode_ctx_set[2] to be consistent with the rest of the codebase. Change-Id: Ie4629edf6bd32a595f4d7f01e90c0a01f16fb12f BUG: 781318 Reviewed-on: http://review.gluster.com/669 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* glusterd: Fixed crash in stop volume found using efence.Krishnan Parthasarathi2012-01-191-3/+6
| | | | | | | | | Change-Id: I84d38b8af248920a1559d05f0e4f43d3eda0f43e BUG: 782710 Signed-off-by: Krishnan Parthasarathi <kp@gluster.com> Reviewed-on: http://review.gluster.com/2651 Reviewed-by: Pranith Kumar Karampuri <pranithk@gluster.com> Tested-by: Gluster Build System <jenkins@build.gluster.com>
* cluster/afr: do not unlock without holding the lock on the fdRaghavendra Bhat2012-01-191-1/+1
| | | | | | | | | | | | | | | In afr_open_fd_fix we were unlocking the local->fd->lock, without holding the lock on it if we were not able to get the fd context. Now we are directly going to out and returning, instead of going to unlock without holding the lock. Change-Id: I0da638bbd2c269127cf111b3aac707e4a95d20c6 BUG: 783036 Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Reviewed-on: http://review.gluster.com/2658 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* cli: trivial changes in cli-rpc-ops.cRajesh Amaravathi2012-01-191-6/+2
| | | | | | | | | | | | | | * the get_volume_cbk has been cleaned up(w.r.t whitespace) and a memset used where appropriate. some other functions have been affected(in a good way) by the whitespace-dealing commands in emacs. Change-Id: Iba473290e87747f8bb06d335db06c872a241d7cd BUG: 781333 Signed-off-by: Rajesh Amaravathi <rajesh@redhat.com> Reviewed-on: http://review.gluster.com/2653 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* glusterd: Fixed crash in peer probe found using efenceKrishnan Parthasarathi2012-01-191-10/+18
| | | | | | | | | | Change-Id: Ie09d1e4eb9a8d338f8e5cf6360b398b196141a81 BUG: 782718 Signed-off-by: Krishnan Parthasarathi <kp@gluster.com> Reviewed-on: http://review.gluster.com/2655 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Pranith Kumar Karampuri <pranithk@gluster.com> Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
* core/setxattr: prevent users from setting glusterfs xattrsRajesh Amaravathi2012-01-1410-20/+387
| | | | | | | | | | | | | | | | | | | | | | | | * Each xlator prevents the user from setting glusterfs-internal xattrs like trusted.gfid by handling it in respective setxattr functions. The speacial case of trusted.gfid is handled in fuse (Not in posix because posix_setxattr is used to set gfid). * For xlators which did not define setxattr and/or fsetxattr, the functions have been implemented with appropriate checks. xlator | fops-added _______________|__________________________ | 1. afr | fsetxattr 2. stripe | setxatrr and fsetxattr 3. quota | setxattr and fsetxattr Change-Id: Ib62abb7067415b23a708002f884d30e8866fbf48 BUG: 765487 Signed-off-by: Rajesh Amaravathi <rajesh@redhat.com> Reviewed-on: http://review.gluster.com/685 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* trivial: gluster_pmap_actors should only use GF_PMAP_* proceduresNiels de Vos2012-01-141-1/+1
| | | | | | | | | | | | | GF_HNDSK_NULL is not suitable for gluster_pmap_actors, instead use GF_PMAP_NULL. The actual value (0) is not different for these, so there is no fuctional change. Change-Id: Ibb998ebae88b457c57a42ce63dad095d2d4a22c5 BUG: 772468 Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.com/2603 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* don't try to get ngroups from /proc on non-Linux systemsKaleb KEITHLEY2012-01-141-6/+58
| | | | | | | | | | | | | | | | | Emmanual Dreyfus abandoned his changes, seemingly because he couldn't get rfc.sh to correctly generate his changed patch set. Since Mac OS is an important port, I suggest we keep this change alive. (This change also works on the other BSDs too) Now with added Solaris support BUG: 764655 Change-Id: I6a9ab7383777f9a09ab5c9a6914f45eee43461fb Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com> Reviewed-on: http://review.gluster.com/2617 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* cli,glusterd: Display volume UUID in the output of 'volume info'Vijay Bellur2012-01-141-0/+10
| | | | | | | | | | | Cleaned up some leaks along the way. Change-Id: Ibc76c539eee935c0630f9580d0d914814b1a6fe1 BUG: 781445 Signed-off-by: Vijay Bellur <vijay@gluster.com> Reviewed-on: http://review.gluster.com/2643 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* cluster/distribute: dht_aggregate() fix a logic error before xattr comparisonsHarshavardhana2012-01-121-1/+1
| | | | | | | | | Change-Id: I20f015263bed9851225005d5f41a5d518bd22592 BUG: 769691 Signed-off-by: Harshavardhana <fharshav@redhat.com> Reviewed-on: http://review.gluster.com/2557 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* glusterd: prevent adding bricks already in useRajesh Amaravathi2012-01-122-23/+24
| | | | | | | | | | | | | | | The add-brick command now checks if the brick provided for add-brick is used in any volumes, even if the volume was never started by looping through the brick lists of all volumes. Change-Id: I15035d41d91386448a3e3d4063d909b880288681 BUG: 771831 Signed-off-by: Rajesh Amaravathi <rajesh@redhat.com> Reviewed-on: http://review.gluster.com/2607 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Krishnan Parthasarathi <kp@gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* glusterd: improve replace brick status messageRajesh Amaravathi2012-01-123-2/+39
| | | | | | | | | | | | | | when replace-brick status is invoked without starting replace brick on the specified bricks, appropriate error message is displayed Change-Id: I57230db84314caf807f1ff54f74307d85bdc1633 BUG: 769926 Signed-off-by: Rajesh Amaravathi <rajesh@redhat.com> Reviewed-on: http://review.gluster.com/2531 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* posix-acl: properly process umask in case client sent itLubomir Rintel2012-01-121-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | FUSE used to interpret the umask itself. That was a bad idea, since there are cases where umask is not applied, such as when extended POSIX ACLs are present and default ACLs are set on parent directory. The FUSE bridge was changed to send original mode with umask (alongside masked mode, for compatibility). If that is the case, we decide whether to apply the umask or not in the posix-acl translator depending on whether a default umask is set, or not. The original, broken, behavior is preserved in following cases: * Unpatched client (not sending umask with original mode) * Unpatched server (not understanding umask with original mode) * Old FUSE on client side (FUSE < 7.12 or linux < 2.6.31) (can not find out the umask and original mode) Change-Id: I2e3bfc4c7c9611bc51119ca5c8e28f6582677516 Signed-off-by: Lubomir Rintel <lubo.rintel@gooddata.com> Tested-by: Lubomir Rintel <lubo.rintel@gooddata.com> BUG: 765508 Reviewed-on: http://review.gluster.com/668 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* fuse-bridge: preserve original mode and umaskLubomir Rintel2012-01-121-0/+110
| | | | | | | | | | | | | | | | | | | | FUSE used to interpret the umask itself. That was a bad idea, since there are cases where umask is not applied, such as when extended POSIX ACLs are present and default ACLs are set on parent directory. Thus, FUSE was changed to pass umask to operation handler itself in case the fuse server is initialized with FUSE_DONT_MASK. In case FUSE supports it, gluster client sends mode unmasked and umask separately ( masked mode is still sent, for compatibility with old servers). the mode as-is for compatibility with older clients. Change-Id: I55862b39a25261446f18ba0b3c03f85b41c4d722 Signed-off-by: Lubomir Rintel <lubo.rintel@gooddata.com> Tested-by: Lubomir Rintel <lubo.rintel@gooddata.com> BUG: 765508 Reviewed-on: http://review.gluster.com/667 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* cli: volume status enhancementRajesh Amaravathi2012-01-124-71/+515
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Support "gluster volume status (all)" option to display all volumes' status. * On option "detail" appended to "gluster volume status *", amount of storage free, total storage, and backend filesystem details like inode size, inode count, free inodes, fs type, device name of each brick is displayed. * One can also obtain [detailed]status of only one brick. * Format of the enhanced volume status command is: "gluster volume status [all|<vol>] [<brick>] [detail]" * Some generic functions have been added to common-utils: skipword get_nth_word These functions enable parsing and fetching of words in a sentence. glusterd_get_brick_root (in glusterd) These are self explanatory. Change-Id: I6f40c1e19810f8504cd3b1786207364053d82e28 BUG: 765464 Signed-off-by: Rajesh Amaravathi <rajesh@redhat.com> Reviewed-on: http://review.gluster.com/777 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* mount/fuse: Fix memory leaksPranith Kumar K2012-01-111-0/+3
| | | | | | | | | | Change-Id: Iff10650dc8234f9d8ca0472f2e1ea9c60fbd6d4e BUG: 773211 Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Reviewed-on: http://review.gluster.com/2630 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-by: Anand Avati <avati@gluster.com>
* cluster/afr: Remove dead codePranith Kumar K2012-01-103-55/+0
| | | | | | | | | | Change-Id: I239128c51b728fbb7814fd6a41020b76c88fbd93 Signed-off-by: Pranith Kumar K <pranithk@gluster.com> BUG: 772876 Reviewed-on: http://review.gluster.com/2623 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* lib/mount-broker: move utility functions to common-utilsRajesh Amaravathi2012-01-051-26/+1
| | | | | | | | | | | | | functions skipwhite and nwstrtail have been moved from mount-broker to common-utils library for general use. Change-Id: I9cfefb28bbfcf5d0bd37e35865ff3f3b7923fc53 BUG: 765464 Signed-off-by: Rajesh Amaravathi <rajesh@redhat.com> Reviewed-on: http://review.gluster.com/2560 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com> Reviewed-by: Csaba Henk <csaba@gluster.com>
* glusterd: Fixed add-brick error message.Krishnan Parthasarathi2012-01-051-2/+2
| | | | | | | | | Change-Id: I9260d5a0203ae2990d37b30bcc7c94c81c1e168e BUG: 770678 Signed-off-by: Krishnan Parthasarathi <kp@gluster.com> Reviewed-on: http://review.gluster.com/2581 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* features/marker: xtime should not be updated for modifications done by ↵Junaid2012-01-041-1/+7
| | | | | | | | | | | | | special client. Change-Id: Ia577422dedb94a1febeceb2a50cabf61d48cb714 BUG: 769494 Signed-off-by: Junaid <junaid@gluster.com> Reviewed-on: http://review.gluster.com/2559 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Kaushik BV <kaushikbv@gluster.com> Reviewed-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-by: Csaba Henk <csaba@gluster.com>
* glusterd: Added checks for remove-brick handler.Krishnan Parthasarathi2012-01-041-0/+11
| | | | | | | | | | | | | Removing bricks in a plain stripe-replicate is failed if replica count is not reduced explicitly. Change-Id: I6d0de4862595744d1d1998b9a287c34c53d7fe5f BUG: 770561 Signed-off-by: Krishnan Parthasarathi <kp@gluster.com> Reviewed-on: http://review.gluster.com/2577 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* Avoid setting dict when size is -1Rahul C S2012-01-031-0/+5
| | | | | | | | | | | | | when lgetxattr fails and returns size as -1, we still try to set the dict. Instead it should set proper errno & exit. Change-Id: I282dc0765e562bd9bbcf852453cd3b72d918b269 BUG: 771313 Signed-off-by: Rahul C S <rahulcs@redhat.com> Reviewed-on: http://review.gluster.com/2555 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Jeff Darcy <jdarcy@redhat.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/2545 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* glusterd: Fixed add-brick handler algorithm.Krishnan Parthasarathi2012-01-021-0/+13
| | | | | | | | | | | | | | In the fix for 765774, setting the op dictionary with modified stripe and replica count was (accidentally) removed affecting the correctness. The stage and op functions of add-brick rely on the fact that stripe/replica count are zero if there is no change in them during the add-brick operation. Change-Id: I55a23878e618b355009ffd0fce8c4904dbb70691 BUG: 770914 Signed-off-by: Krishnan Parthasarathi <kp@gluster.com> Reviewed-on: http://review.gluster.com/2548 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* cluster/afr: Handle fini for afr,pumpv3.3.0qa19Pranith Kumar K2011-12-285-63/+89
| | | | | | | | | Change-Id: Idc0a05a8a25f278a7ab05e242263e0a5001bde18 Signed-off-by: Pranith Kumar K <pranithk@gluster.com> BUG: 767862 Reviewed-on: http://review.gluster.com/800 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* cluster/afr: EIO should overwrite ENOENT in lookupPranith Kumar K2011-12-281-2/+3
| | | | | | | | | | | | | | | In case if lookup decides there is a gfid-mismatch, some enoents and self-heal cant remove the stale entry, it tells lookup to unwind with EIO but since ENOENT has more priority it is not over-written, this patch fixes that case. Change-Id: Icd68c4a5cf05dd97c568964ab647a34fdb6e26f4 BUG: 765528 Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Reviewed-on: http://review.gluster.com/2541 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* mgmt/glusterd: log the rebalance command received properly in the log fileRaghavendra Bhat2011-12-281-3/+8
| | | | | | | | | Change-Id: If18d9a49f5a3442755440e08ee7a63f6c6e54c5d BUG: 770058 Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Reviewed-on: http://review.gluster.com/2500 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* debug/io-stats: Handle fini for io-stats xlatorshishir gowda2011-12-281-1/+38
| | | | | | | | | Signed-off-by: shishir gowda <shishirng@gluster.com> Change-Id: I0b36a2f4836fa84ced7414fdba4d68e0cb6cac7b BUG: 767862 Reviewed-on: http://review.gluster.com/2499 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* Added/Removed white spaces wherever necessary in replace-brickRahul C S2011-12-281-5/+5
| | | | | | | | | Change-Id: Ic11d04813109bc6252e4dfe754c7b4c5c74014cd BUG: 769985 Signed-off-by: Rahul C S <rahulcs@redhat.com> Reviewed-on: http://review.gluster.com/2498 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* mount/fuse: Cleanup / remove unnecessary commentsHarshavardhana2011-12-281-36/+0
| | | | | | | | | Change-Id: If236e82c2e89d2ab4a0e3278319976aeb9fc05a6 BUG: 769691 Signed-off-by: Harshavardhana <fharshav@redhat.com> Reviewed-on: http://review.gluster.com/2491 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Csaba Henk <csaba@gluster.com>
* cluster/afr: Handle error cases in local initPranith Kumar K2011-12-289-516/+384
| | | | | | | | | | | | - Fop should unwind with appropriate errno - Local is de-allocated on errors Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Change-Id: I4db40342ae184fe1cc29e51072e8fea72ef2cb15 BUG: 770513 Reviewed-on: http://review.gluster.com/2539 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* rebalance: remove the *.fix.layout xattr from trusted domain.Rajesh Amaravathi2011-12-282-3/+3
| | | | | | | | | | | moving trusted.distribute.fix.layout from trusted domain. Change-Id: If4317e4320998bbd739a8472b8814d75c425d341 BUG: 765487 Signed-off-by: Rajesh Amaravathi <rajesh@redhat.com> Reviewed-on: http://review.gluster.com/747 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 directoryPranith Kumar K2011-12-276-147/+152
| | | | | | | | | | | | In case of split-brain/all-fool xattrs perform conservative merge. Don't treat ignorant subvol as fool. Change-Id: I6ddf89949cd5793c2abbead7c47f091e8461f1d4 BUG: 765528 Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Reviewed-on: http://review.gluster.com/2521 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* features/posix-acl: handle fini for features/posix-aclshishir gowda2011-12-261-0/+24
| | | | | | | | | Signed-off-by: shishir gowda <shishirng@gluster.com> Change-Id: I6cd3a9c3a513cc2a998b82610613bbfa0622eec4 BUG: 767862 Reviewed-on: http://review.gluster.com/811 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* Improve cli output of gluster volume heal command.Rahul C S2011-12-221-32/+23
| | | | | | | | | | | | | | | Improving cli outputs according to the type of the volume, the "heal" action can be performed on the volume. Also checks if the volume is started & then if the "self-heal" daemon is not started, prints appropriate message. Change-Id: I25b0822e4d518c50e2f1173aa8c7c11ae6b76d3f BUG: 769774 Signed-off-by: Rahul C S <rahulcs@redhat.com> Reviewed-on: http://review.gluster.com/2496 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Krishnan Parthasarathi <kp@gluster.com>
* cluster/afr: Set pargfid when missingv3.3.0qa18Pranith Kumar K2011-12-223-4/+14
| | | | | | | | | | | | client asserts for missing pargfid in case of unlink. So Afr needs to make sure it is present in that fop. Change-Id: Iea0ad65e1e7254c8df412942c52d5870e853aa51 BUG: 769055 Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Reviewed-on: http://review.gluster.com/2495 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* protocol/server: Do connection cleanup if reply failsPranith Kumar K2011-12-223-18/+14
| | | | | | | | | | | | | | | | | | | | We observed that after the first connection cleanup happens on DISCONNECT the lock calls in transit are granted or added in blocked locks queue. These locks were never cleaned up after that because no unlock would come up on that connection. This would leave references on that transport so it would never be destroyed. Now, the connection cleanup happens whenever the reply submission fails. Also cleaned up the old code which is not used any more. Change-Id: Ie4fe6f388ed18d9c907cf8ae06b0b7fd0601a660 BUG: 765430 Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Reviewed-on: http://review.gluster.com/809 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* features/locks: Fix release of locks on disconnectPranith Kumar K2011-12-221-22/+17
| | | | | | | | | | | | | When a disconnect comes on a transport, all the locks on that transport should be cleared irrespective of entry presence. Change-Id: I1c432ec1ddc8fe3f7bf236992f47437d0dacd6ae BUG: 765430 Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Reviewed-on: http://review.gluster.com/808 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* cluster/afr: Fix meta data lock rangePranith Kumar K2011-12-221-1/+1
| | | | | | | | | | Change-Id: I7615f31309c6c8f5373e1ff0535d84396dfa1455 BUG: 765430 Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Reviewed-on: http://review.gluster.com/807 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* glusterd: Fixed spurious checks in add_brick.v3.3.0qa17Krishnan Parthasarathi2011-12-191-91/+2
| | | | | | | | | | | | | | | Previous algo, - didn't allow volume type change from plain distribute to distribute-[stripe][-][replicate]. - performed 'add-brick' on temporary volinfo without correct initialisations. This was superflous. Change-Id: If5d5d78e59bd04685df9c27974f715df5f0b43f3 BUG: 765774 Signed-off-by: Krishnan Parthasarathi <kp@gluster.com> Reviewed-on: http://review.gluster.com/804 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* Fix local==NULL crash in wb_sync_cbk during disconnect.Jeff Darcy2011-12-191-3/+10
| | | | | | | | | | Change-Id: I26dc48a85756e189b1ef5cfef1658f9c2aed2157 BUG: 767359 Signed-off-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-on: http://review.gluster.com/784 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* cli: validate the volume set command properlyRaghavendra Bhat2011-12-192-59/+51
| | | | | | | | | | | | | | | | For volume set command if after the volume name the key and the value of the option are not given, then gracefully exit by showing the proper usage of volume set, instead of sending the request to glusterd, which makes glusterd crash. Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Change-Id: I2f0d189a55663c7f47dddff35d4dc68fae16b755 BUG: 767591 Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Reviewed-on: http://review.gluster.com/797 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Krishnan Parthasarathi <kp@gluster.com> Reviewed-by: Jeff Darcy <jdarcy@redhat.com>