summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mgmt/glusterd: Read the contents of vol-info file into a dynamically allocedJunaid2011-07-292-41/+110
| | | | | | | | | | string. Change-Id: I06173a4cf22e12bc543f8ff2d151078333b500e1 BUG: 3154 Reviewed-on: http://review.gluster.com/8 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Pavan T C <tcp@gluster.com>
* glusterfsd-mgmt: initialize ctx->mgmt before calling rpc_clnt_start()Amar Tumballi2011-07-281-4/+4
| | | | | | | | | | | | | this is required because if 'CONNECT' event comes before the clnt_start() function ends, we may loose the event if it is not initialized. Thanks to Jeff Darcy <jdarcy@redhat.com> for pointing it out Change-Id: Iebbd651b7563265800f41922367ca133fbbf4fc3 BUG: 3207 Reviewed-on: http://review.gluster.com/77 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* Stripe_readdirp: Fix race in wind/unwind which led to crashshishir2011-07-281-9/+17
| | | | | | | | | | | | | | | | | | Scenario - The race window exists when before we wind to a stat call in readdirp_cbk, whereas stats have returned to cbk. We would free up local, which leads to a crash. Fix - We assume all entries to be regular files, and set the wind_count as a multiple of entries * subvol (stat calls). When we encounter a non regular file, we decrement the windcount accordingly (subvol times). If the last entry happens to be a non-regular file, and all stat calls have wound back, we unwind from here itself. Change-Id: Ia8e225ef557cbe1fedb9b72de9bd9fa61f371a24 BUG: 3257 Reviewed-on: http://review.gluster.com/115 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* gsyncd: exit in slave when RePCe session came to an endCsaba Henk2011-07-281-1/+2
| | | | | | | | Change-Id: I4317e60fce3280c45dbcc4a5f233a4344aba9500 BUG: 2778 Reviewed-on: http://review.gluster.com/83 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* NFS: Implement nfs_forget callshishir2011-07-283-6/+39
| | | | | | | | | | | | Make sure the inode_ctx is deleted nfs_release is not needed, as __nfs3_fdcache_remove_entry cleans up the ctx Change-Id: I690efa1eb1d4cd39cee258bb29692cc58ab9c380 BUG: 3250 Reviewed-on: http://review.gluster.com/103 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Shehjar Tikoo <shehjart@gluster.com>
* gsyncd: log exit properlyCsaba Henk2011-07-283-2/+4
| | | | | | | | Change-Id: Iedd8c0ce9dec2d8dcb01e0e5b409cb53185b1716 BUG: 2778 Reviewed-on: http://review.gluster.com/82 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Kaushik BV <kaushikbv@gluster.com>
* geo-rep: compactify loggingCsaba Henk2011-07-281-14/+40
| | | | | | | | Change-Id: I19f6cf539289062b39e3c0f73fa88f4ff9488349 BUG: 2778 Reviewed-on: http://review.gluster.com/80 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Kaushik BV <kaushikbv@gluster.com>
* libglusterfs: Bring in os_daemon_* routines to replace modified FreeBSD codeVijay Bellur2011-07-285-109/+87
| | | | | | | | Change-Id: I41f4635b1b75adb6d22e2e325b99941f8d7a0b42 BUG: 3206 Reviewed-on: http://review.gluster.com/100 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* features/marker-quota: Fix some random memory leaks.Junaid2011-07-282-12/+11
| | | | | | | | | Change-Id: I1b01adf1d0ecf494f960d125f2bdcc9c10137115 BUG: 3169 Reviewed-on: http://review.gluster.com/75 Tested-by: Gluster Build System <jenkins@build.gluster.com> Tested-by: Raghavendra G <raghavendra@gluster.com> Reviewed-by: Raghavendra G <raghavendra@gluster.com>
* save the treesCsaba Henk2011-07-271-0/+2
| | | | | | | | | Change-Id: I394621c76a95ed596aedcd45030d80a79de30acf BUG: 3255 Reviewed-on: http://review.gluster.com/108 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* rpc: in client connection init(), return the proper error codeAmar Tumballi2011-07-271-0/+1
| | | | | | | | | | | without the proper error code, rpc won't know if transport is successfully loaded or not. Change-Id: Idc3ad56d2f47cf1e81ba39f90a7f7b47305d7d9a BUG: 3260 Reviewed-on: http://review.gluster.com/112 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* glusterd: handle replace-brick in paused state.Krishnan Parthasarathi2011-07-273-27/+96
| | | | | | | | | | | This change ensures that glusterd retains 'state' information of an ongoing replace brick operation even if it went down midway. Change-Id: I697c2f27a96b3200c7865bd1d3a1de9692ce0da1 BUG: 3252 Reviewed-on: http://review.gluster.com/6 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* Glusterd: Remove dependency on AI_ADDRCONFIG for AF_UNSPECGaurav2011-07-273-6/+16
| | | | | | | | | Change-Id: I0a22b2cc5a0ea1a57633fddabad54aca7b3d4e86 BUG: 2456 Reviewed-on: http://review.gluster.com/102 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Csaba Henk <csaba@gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* cluster/distribute: while fixing layout, consider ENOSPC errorsAmar Tumballi2011-07-261-4/+4
| | | | | | | | | | | | | in case of layout 'creation', layout->err == ENOSPC should be ignored where as, while layout 'fixing' we should consider what was already present in the layout. Change-Id: Ifb613b41065813c9f1202e65e94b4b0282766d11 BUG: 2258 Signed-off-by: Amar Tumballi <amar@gluster.com> Reviewed-on: http://review.gluster.com/15 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Shishir Gowda <shishirng@gluster.com>
* rpc-transport/socket: avoid logging socket read failsRajesh2011-07-253-8/+29
| | | | | | | | | | | | | | An option, transport.socket.read-fail-log was added in glusterd. This can also be added to any translator which uses socket.c. A gf_boolean_t flag(read_fail_log) is added in socket_private_t. Using this, logging of socket read failures can be controlled. The options is set to 'off' in glusterd.vol by default. Change-Id: I85cf4afc1f534f5f51018449d5d84baef18fce23 BUG: 3156 Reviewed-on: http://review.gluster.com/22 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/+61
| | | | | | | | | | | | 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/90 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* glusterd: Add bind-insecure xlator-option for glusterdshishir gowda2011-07-244-8/+18
| | | | | | | | | | | | This is required if the number of connections from the glusterd increases. Change-Id: Iff78773f593a8bfae13ec9eec52c5a67ea936ef2 BUG: 3142 Signed-off-by: shishir gowda <shishirng@gluster.com> Reviewed-on: http://review.gluster.com/11 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Pavan T C <tcp@gluster.com>
* glusterd - Removed hardcoding of transport type in replace-brick.Vishwanath S Bhat2011-07-243-26/+41
| | | | | | | | | | | Replace-brick didn't support transport types other than tcp. Test case: replace-brick should work with tcp and rdma. Change-Id: If33f108b70247d81791d25a1a05247f49847b4d7 BUG: 3092 Reviewed-on: http://review.gluster.com/72 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Krishnan Parthasarathi <kp@gluster.com>
* gerrit: add a dry-run mode to rfc scriptCsaba Henk2011-07-231-2/+8
| | | | | | | | | | | | | With DRY_RUN=1, rfc.sh will not perform the git push just display the push command. This can be useful if one wants to give a final review for the submitted change list (check for typos, misplaced bug id-s) or if one is offline. Change-Id: I90e2016ba78e2a0ecf37044b3db0277a25914f77 BUG: 3234 Reviewed-on: http://review.gluster.com/87 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* gerrit: some fixes for the rfc scriptCsaba Henk2011-07-231-2/+2
| | | | | | | | | | | | | | | | | | | | | In rebase_changes(): - Using "--all" for git fetch is bogus: the scope of this quantification is not over the tracked refs of the upsteam repo (which we do want, but that kind of universal quantification is already implied by the notion of "tracking"), but over the set of all the registered remotes, which is an annoying side effect. - $EDITOR is weaker than the git configuration settings. For the purpose of the script, we need to override any kind of setting, and that can be done via $GIT_EDITOR. Cf. git-fetch(1), git-commit(1). Change-Id: Ia91ee5c4d42dce9248f26f7697528e3c97355871 BUG: 3234 Reviewed-on: http://review.gluster.com/86 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* glusterfsd: check for process mode before performing mountKaushal M2011-07-212-3/+12
| | | | | | | | | | | | | create_fuse_mount() now checks if it is a client process before performing mount. If not a client process, it returns an error. Added changes suggested Change-Id: If8548ad60d345bb8cd09686ceed0d83522799761 BUG: 2469 Reviewed-on: http://review.gluster.com/5 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* debug/io-stats: allow log-level to be set to INFORaghavendra Bhat2011-07-202-5/+8
| | | | | | | | Change-Id: Ieba6591b0641dcb7dad724c1d8199dc5e91b6bfd BUG: 3198 Reviewed-on: http://review.gluster.com/43 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* debug/io-stats: print the time at which maximum fds were open in gluster topRaghavendra Bhat2011-07-202-8/+37
| | | | | | | | Change-Id: I257bc29945d5acf8fb316f396fb011a2ab652d7a BUG: 3076 Reviewed-on: http://review.gluster.com/54 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Shishir Gowda <shishirng@gluster.com>
* Top/Profile: Report error when all bricks are down on volumeshishir gowda2011-07-201-0/+16
| | | | | | | | | | | Profile - If all bricks are down, report errror. Top - If all bricks or the specified brick is down, report error. Change-Id: I39d4acd631b481233ab2e9f66c8f4160caef5762 BUG: 2600 Reviewed-on: http://review.gluster.com/63 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* glusterd rebalance: use lstat() instead of stat()Amar Tumballi2011-07-191-5/+5
| | | | | | | | | | | | so the symlinks pointing to directories are not considered as directories themself and the control flows outside gluster's scope Change-Id: Iae910ce6c68886d34ae6e5efe46062481b40cd25 BUG: 3191 Reviewed-on: http://review.gluster.com/30 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* cli: modifications to "profile info" outputKaushal M2011-07-191-16/+16
| | | | | | | | | | | Units are now shown for the latencies and duration Changed some text to be more meaningful Change-Id: I1891d6ac541421606dda30ed10f9b40b21e2fa52 BUG: 3028 Reviewed-on: http://review.gluster.com/18 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vikas Gorur <vikas.gluster@gmail.com>
* news: note the move to gerritAmar Tumballi2011-07-181-0/+1
| | | | | | | Review changes incorporated Change-Id: I3d19a68ea22873a5fdd1a3cacea1ba37bf8dbd0f BUG: 1
* s/Patchwork/Gerrit/Anand Avati2011-07-183-64/+104
| | | | Change-Id: I3d2e0c081cce5c69a6a168ddd0d850cdba84f53e
* fixed URL in READMEAnand Avati2011-07-181-1/+1
| | | | | Change-Id: I2ce02b67ee844119f854a0a2e83b5ebeb036801a BUG: 1
* Fixed URL in READMEAnand Avati2011-07-181-1/+1
| | | | | Change-Id: I134e8d57b188025a115fcfc363009bb3893676a1 BUG: 1
* Strip extra `/' from filenames.Sachidananda2011-07-171-11/+24
| | | | | | | | | | | | While peforming replace-brick, delete-brick, remove-brick... and related operations resolve extra slashes as single path separator. i.e treat /foo//bar// as /foo/bar. Signed-off-by: Sachidananda Urs <sac@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3183 (When creating volumes brick paths are not handled properly.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3183
* mgmt/glusterd: allow add brick in pure replicate setupRaghavendra Bhat2011-07-171-2/+5
| | | | | | | | | | | | | | Currently in pure replicate if the replica count is 4 and there are 4 bricks, then suppose 3 bricks are removed then add brick works only if 3 bricks are provided. Providing lesser bricks fails. This patch fixes that scenario. Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 1574 ([glusterfs-3.1.0qa18]: add-brick to a replicate volume fails if a brick is removed) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1574
* Canonicalize path names while creating volumes.Sachidananda2011-07-173-2/+71
| | | | | | | | | | | When a volume is created resolve symbolic links, delete duplicate slashes in the path name. Signed-off-by: Sachidananda Urs <sac@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3183 (When creating volumes brick paths are not handled properly.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3183
* PUMP: set pump lk_owner,pid to frame->rootPranith K2011-07-172-9/+8
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3182 (Afr self-heal should happen with out big lock) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3182
* cluster/afr: Don't depend on fuse lk_owner for inodelksPranith K2011-07-172-8/+6
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3182 (Afr self-heal should happen with out big lock) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3182
* storage/posix: Remove the interim fix that handles the gfid racePranith K2011-07-172-69/+1
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2745 (failure to detect split brain) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2745
* storage/posix: Succeed lookup even if there is no gfid on the filePranith K2011-07-171-2/+2
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2745 (failure to detect split brain) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2745
* cluster/afr: Fix conflict files and gfid self-healPranith K2011-07-177-600/+811
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2745 (failure to detect split brain) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2745
* cluster/afr: Detect conflict/gfid self-healsPranith K2011-07-176-161/+532
| | | | | | | | | | Added some helper functions that can be reused Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2745 (failure to detect split brain) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2745
* cluster/afr: make expunge/impunge re-usablePranith K2011-07-172-64/+176
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2745 (failure to detect split brain) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2745
* cluster/afr: Choose next call child from fresh-children for inode-read-fopsPranith K2011-07-177-442/+391
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2840 (files not getting self-healed when the first child goes down) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2840
* cluster/afr: Add fresh children along with read-child to inode contextPranith K2011-07-1716-353/+817
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2840 (files not getting self-healed when the first child goes down) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2840
* cluster/afr: Move afr local alloc functions from header files to sourcesPranith K2011-07-172-105/+124
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2840 (files not getting self-healed when the first child goes down) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2840
* io-threads: Initialize mutex and condshishir gowda2011-07-171-0/+12
| | | | | | | | | | Thanks to Emmanuel Dreyfus for sending out the fix. Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3170 (Uninitialized mutex and cond in io-threads) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3170
* posix: perform readdir filling in locked regionAnand Avati2011-07-161-77/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When two application threads share an open dir fd (DIR *) and issue readdirs, storage/posix will receive separate readdir fops in separate threads in parallel. This has two-fold issues 1. In the following pair of operations - entry = readdir(dir) and strcpy (gf_dirent->name, entry->d_name) @entry is a static buffer in libc which can get reused by another thread to get filled with a longer name. This can cause the second operation to overflow the buffer as the allocation was for the smaller name. 2. In the following pair of operations - seekdir (dir, offset) and entry = readdir(dir) If two threads are executing these sequence in parallel in separate threads, then one of them will end up reading wrong/unexpected entries. It would be sufficient to fix 1. by using readdir_r but that still keeps the second race open. Hence the patch moves all the set of operations to a locked region which solves both races. Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3171 (Crash in server) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3171
* Glusterd: IPV6 support for glusterfs.Gaurav2011-07-148-111/+152
| | | | | | | | Signed-off-by: Gaurav <gaurav@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2456 (IPv6 support for glusterd) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2456
* cluster/stripe: send the xattr keys with create/mknod itself.Amar Tumballi2011-07-141-189/+177
| | | | | | | | | | so stripe is more acl friendly Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3160 ([818f8c87d56bc46d0d0903275699351b66f17e57] Posix compliance test hangs during link tests in distributed-stripe.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3160
* storage/posix: make sure we are starting on a genuine backendAmar Tumballi2011-07-142-10/+81
| | | | | | | | | | | also do the check in 'glusterd' to let the user know of the problems (if any) during the volume create/start time itself. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3065 (make sure the export directories are not re-used as part of another volume) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3065
* glusterd-rebalance: utilize distribute's internal rebalance featureAmar Tumballi2011-07-141-173/+16
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3070 (After 'rebalance', the gfid of the file gets changed) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3070
* distribute: bring in feature to do rebalance from insideAmar Tumballi2011-07-149-15/+601
| | | | | | | | | | | | | | | | do the 'rebalance' on a file with 'setxattr()' with 'distribute.migrate-data' key. the valid 'value' is "force" or anything else. current implementation of 'rebalance' is same as 'glusterd-rebalance', and hence comes with limitation of not rebalancing hardlinks, non-regular files, and files with open-fds. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3070 (After 'rebalance', the gfid of the file gets changed) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3070