summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* nfs, nfs/rpc: Rename functions to prevent gfrpcsvc conflictShehjar Tikoo2010-08-1015-883/+948
| | | | | | | | Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1274 (nfs fails to start) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1274
* glusterd: Set right return value during delete volumeVijay Bellur2010-08-091-0/+2
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1191 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1191
* fix rpm spec file to build rpms for 3.1Pavan Sondur2010-08-062-2/+4
| | | | | | | | Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1251 (ping_pong tests make client go segfault after bailout) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1251
* add pump xlator and changes for replace-brickPavan Sondur2010-08-0625-2617/+5461
| | | | | | | | Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1235 (Bug for all pump/migrate commits) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1235
* v2[PATCH BUG:1286] glusterd: Regain volume state upon re-startVijay Bellur2010-08-0610-246/+1112
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1286 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1286
* performance/io-cache: Disable caching when files are opened with GF_OPEN_NOWBRaghavendra G2010-08-062-0/+6
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1168 (Disable caching when files are opened with GF_OPEN_NOWB) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1168
* mem pool for call_stub_tshishir gowda2010-08-065-5/+25
| | | | | | | | | Ran posix compliance test and sanity test Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 329 (Replacing memory allocation functions with mem-type functions) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=329
* mem pool for fd_tshishir gowda2010-08-064-2/+15
| | | | | | | | | Ran posix compliance test and sanity test Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 329 (Replacing memory allocation functions with mem-type functions) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=329
* Implement mem pool for inode dentryshishir gowda2010-08-063-7/+35
| | | | | | | | | Ran posix compliance test and sanity test Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 329 (Replacing memory allocation functions with mem-type functions) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=329
* Implement mem pool for frame and stackshishir gowda2010-08-063-14/+59
| | | | | | | | | Ran posix compliance test and sanity test Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 329 (Replacing memory allocation functions with mem-type functions) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=329
* Fix for seg fault in dict_unserialize if undersized buffers are passedshishir gowda2010-08-061-2/+20
| | | | | | | | Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1031 (dict_unserialize crash if undersized buffers passed) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1031
* rpc: changes to glusterfs programs that can take an optional payload argument.Raghavendra G2010-08-064-29/+49
| | | | | | | | | | | | | | | - The existing interface required the transport to separate the procedure header and procedure payload into two different buffers. Making this separation can prove cumbersome for transports like rdma wherein the header and payload can be received in a single buffer (For eg., header and payload of write fop sent as inline msg using rdma-send). This patch delegates the responsiblity of separating out header and payload to programs. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 875 (Implement a new protocol to provide proper backward/forward compatibility) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=875
* remove same process transport shortcutting mechanism in rpcAmar Tumballi2010-08-062-192/+0
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1223 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1223
* cli: fix a stack buffer overflow errorAmar Tumballi2010-08-061-1/+1
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1279 (Buffer overflow build error) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1279
* if rpc->status is not SUCCESS, don't decode the msgAmar Tumballi2010-08-061-12/+7
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1753 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1753
* Fix cli volume defrag command hangshishir gowda2010-08-061-1/+19
| | | | | | | | | | | | gluster volume defrag <volname> hang is being fixed. Also, if a invalid volname was specified, it used to create mount point and call gluster client mount on it. This is also being fixed Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1247 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1247
* fix memory-leak in case of disconnections in RPC serverAmar Tumballi2010-08-062-45/+7
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1227 (memory leak in rpcsvc_conn_alloc) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1227
* make some not implemented commands return successAmar Tumballi2010-08-035-37/+77
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1264 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1264
* Remove dead variables.Sachidananda2010-08-021-18/+8
| | | | | | | | Signed-off-by: Sachidananda Urs <sac@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1065 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1065
* Remove dead variables.Sachidananda2010-08-021-1/+0
| | | | | | | | Signed-off-by: Sachidananda Urs <sac@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1067 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1067
* Remove dead variables.Sachidananda2010-08-021-7/+0
| | | | | | | | Signed-off-by: Sachidananda Urs <sac@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1066 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1066
* Remove dead variables.Sachidananda2010-08-021-2/+0
| | | | | | | | Signed-off-by: Sachidananda Urs <sac@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1068 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1068
* Remove dead variables.Sachidananda2010-08-021-9/+13
| | | | | | | | Signed-off-by: Sachidananda Urs <sac@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1070 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1070
* Remove dead variables.Sachidananda2010-08-021-2/+1
| | | | | | | | Signed-off-by: Sachidananda Urs <sac@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1106 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1106
* Remove unused variables.Sachidananda2010-08-021-4/+0
| | | | | | | | Signed-off-by: Sachidananda Urs <sac@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1090 (clang errors in the file features/locks/posix.c) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1090
* Remove unused variables.Sachidananda2010-08-021-18/+8
| | | | | | | | Signed-off-by: Sachidananda Urs <sac@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1107 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1107
* Remove unused variablesSachidananda2010-08-021-2/+0
| | | | | | | | Signed-off-by: Sachidananda Urs <sac@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1105 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1105
* Remove dead variables reported by clang.Sachidananda2010-08-021-13/+4
| | | | | | | | Signed-off-by: Sachidananda Urs <sac@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1108 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1108
* Remove dead variables reported by clang.Sachidananda2010-08-021-1/+1
| | | | | | | | Signed-off-by: Sachidananda Urs <sac@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1110 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1110
* libglusterfs: Prevent multiple timer threads from being spawnedVijay Bellur2010-07-291-1/+1
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1246 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1246
* syncop: initial implementationPavan Sondur2010-07-285-2/+564
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Resending Avati's syncop patch with a few bug fixes. (please do not skip the IMPORTANT NOTES section) * Framework for SYNChronous OPerations -------------------------------------- This patch provides a framework for performing synchronous operations over the underlying actual asynchronous GlusterFS FOPS. * Use cases ----------- 1. Convenient implementation of crawler thread in replicate/pump 2. Convenient implementation of high level control flow in DVM * Background ------------ All (almost) threads in GlusterFS are hosts for executing aysnchronous file operations using the STACK_WIND and STACK_UNWIND primitives - as calls and callbacks. While the STACK_WIND and STACK_UNWIND macros provide high control for efficiently implementing file operations in a clustered/parallel environment, there are tasks where the nature of the task itself is sequential and the execution performance of the task is not critical. In these cases the complexity to implement the task with STACK_WIND/STACK_UNWIND based operations as calls and callbacks is an overkill. * Introduction --------------- syncop: are wrappers around the STACK_WIND/STACK_UNWIND based asynchronous fops. synctask: a sequential task (a C function) which uses syncops. syncenv: an environement to schedule and execute synctasks. The synchronicity is implemented via ucontext.h based continuations. Execution of synchronous tasks is possible only in a synchronous environment. Therefore, the first step is to create such an environment - struct syncenv *env = syncenv_new (0); This creates a synchronous environment, with a thread (scheduler) to host the synchronous tasks. Creation of this environment is generally to be done at the time of process initialization. Next is to spawn a synchronous task in this environment - int slow_self_heal (void *data); int completion_func (int ret, void *data); ret = synctask_new (env, slow_self_heal, completion_func, data); Here slow_self_heal is a task which is implemented using synchronous operations. When slow_self_heal() completes, completion_func() is called with the first parameter as the return value of slow_self_heal(). Both these functions get the @data argument as the same value passed to synctask_new(). int slow_self_heal (void *data) { xlator_t *child = FIRST_CHILD (THIS); fd_t *dir = NULL; ... dir = syncop_opendir (child, loc); entry = syncop_readdir (dir); ... return ret; } * IMPORTANT NOTES ----------------- - calling syncops in code executing outside the synchronous environment will very likely cause and undesired blocking of the executing thread leading to deadlocks!! The synchronous environment is a special thread where such sleeps are safe, and these sleeps result in the scheduler to 'swap in' other synctasks. - syncops can put the task to sleep. DO NOT issue syncops while holding mutexes. This is very similar to the blunder of holding a mutex and doing STACK_WIND. - It works best when synctasks use only syncops. If a call_frame is created and STACK_WIND'ed, the callback would very likely happen in a thread outside the synchronous enviroment, at an undefined time - as expected. So note that the synchronous environment does not tame the notorious behaviour of STACK_WIND. Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 971 (dynamic volume management) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
* fixes for spurious entry self-heal in afrPranith Kumar K2010-07-283-5/+17
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 974 (Spurious self-heal?) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=974
* glusterd: Bug fixes in add/remove brick.Vijay Bellur2010-07-281-3/+7
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1239 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1239
* changes to rpcRaghavendra G2010-07-2816-255/+377
| | | | | | | | | | | | | | | | | | - use mem-pool for requests and saved_frames. - preserve the rpc_req structure till rpc invokes program's reply. This will enable us to store transport specific data that has to last till reply has come (eg., memory regions of chunk lists in case of rdma). - change signature of rpc_clnt_submit to accept rsphdr_vector and rsppayload_vector. The buffers pointed by these vectors will be from iobufs and these iobufs are added to an iobref which should also be passed as an arguement to rpc_clnt_submit. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 875 (Implement a new protocol to provide proper backward/forward compatibility) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=875
* glusterd: Fix a crash when get volume failsVijay Bellur2010-07-281-1/+1
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1239 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1239
* fix all clang errors in xlator/protocolAmar Tumballi2010-07-288-145/+100
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1092 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1092
* removed last few remaining 'ERR_ABORT's from codebaseAmar Tumballi2010-07-2811-68/+152
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 966 (NULL check for avoiding NULL dereferencing of pointers..) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=966
* some check added to the variables after GF_CALLOCAmar Tumballi2010-07-2814-10/+47
| | | | | | | | | | | handles some NULL dereference problems (reported by clang when ran with code where '#define GF_CALLOC NULL'). Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 966 (NULL check for avoiding NULL dereferencing of pointers..) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=966
* fix all the clang errors in 'rpc/*'Amar Tumballi2010-07-286-47/+62
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1133 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1133
* nfs3: NULL fdentry check before removing from fdcacheShehjar Tikoo2010-07-281-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Suppose a file name 1 is created and some data is written to it. After this another 512 files are newly created and written to. When the the 513th file is created and an fd_t opened for it, it results in 1's fd_t being replaced in the fd-lru with 513th file's fd_t. This is the correct behaviour resulting in all refs getting unref from the fd_t of 1 and the fd and all related state being freed. But, in some workloads, some refs are still pending even after the fd_t is removed from LRU, resulting in the fd still being bound to the inode. In nfs3svc_remove_cbk, while removing the inode state, we also ensure that any fd_ts in the cache for this inode are also removed. While removing the fd_t, this situation where the fd_t has replaced with another, even while a ref remains on the fd_t, results in a crash in the fdcache_remove path in nfs3svc_remove_cbk. This happens because the fd_ctx_get results in a NULL value because the ctx was already deleted when this fd_t was removed from fd-lru earlier. This patch fixes the crash by introducing a NULL check. Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 885 ([NFS Xlator] Crash in nfs3_fdcache_update) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=885
* access-control: Fix O_CREATE determination checkShehjar Tikoo2010-07-281-1/+1
| | | | | | | | Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1167 (gnfs crash with fio) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1167
* replicate: Set setxattr wait-count to child-count to avoid raceShehjar Tikoo2010-07-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | A race is seen during a compilebench load against NFS where a NFSv3 MKDIR is immediately followed by a LOOKUP on the new directory. By the time this lookup comes in, the setxattr issued by distribute for the mkdir has not returned yet from all the replicas. Since replicate returns a reply for setxattr after receiving reply only from one subvol, the MKDIR is unwound from distribute. When the LOOKUP is received at distribute, the setxattr has still not completed at the second replica, whereas that is where the lookup is sent by replicate. Finding that the xattr is missing from the dir, distribute returns ESTALE to NFS, which return NFS3ERR_STALE to nfs client. This patch changes replicate setxattr behaviour by forcing replicate to wait for all children rather than one to call back before unwinding the stack. Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 937 (compilebench fails on NFS+dist+repl+all perf xlators) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=937
* nfs3: Error returns must check for <0, not == -1Shehjar Tikoo2010-07-281-2/+2
| | | | | | | | Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 854 (nfs server didn't start) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=854
* nfs3: Return ESTALE when fh resolver exhausts direntsShehjar Tikoo2010-07-281-1/+1
| | | | | | | | | | | | During hard fh resolution, if a directory traversal goes right through to end-of-dir without finding a hash match, we need to return an ESTALE, not ENOENT. Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 854 (nfs server didn't start) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=854
* nfs3: Stop ESTALE from falling into SERVERFAULTShehjar Tikoo2010-07-281-0/+1
| | | | | | | | Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 854 (nfs server didn't start) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=854
* cli: Init conditional mutex at the right placeVijay Bellur2010-07-282-5/+3
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1205 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1205
* DVM: Changes in CLI outputVijay Bellur2010-07-276-111/+185
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1220 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1220
* DVM: Changes for remove brickVijay Bellur2010-07-278-2/+394
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1220 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1220
* cluster/afr: Logging improvement for self-healPranith Kumar K2010-07-274-23/+28
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1037 (selfheal information in normal logging mode) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1037
* fix volume creation errors in replicate and stripeRaghavendra Bhat2010-07-271-2/+2
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1228 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1228