summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* glusterd: restore peer information upon restartVijay Bellur2010-08-117-26/+263
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1310 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1310
* fuse resolve related changesAmar Tumballi2010-08-118-760/+1919
| | | | | | | | | | | | | Now fuse is fully complaint with DVM, as even if there is a fop request on inode belonging to old graph, it will be resolved corresponding to new graph and operations will be performed wrt. new graph, which makes DVM truely spontaneous. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1240 (DVM: after graph change, inodes should resolve to new inode-table) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1240
* 'gluster volume rebalance' related fixesAmar Tumballi2010-08-1111-65/+440
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1307 (gluster volume defrag <VOLNAME> status) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1307
* fix build of nfs (cleanup of configure.ac)Anand V. Avati2010-08-101-2/+0
|
* core,glusterd: Solaris getxattr build fixShehjar Tikoo2010-08-102-1/+3
| | | | | | | | Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1178 (Gluster mainline build fails on Solaris) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1178
* build: ucontext on Darwin needs _XOPEN_SOURCEShehjar Tikoo2010-08-101-1/+1
| | | | | | | | Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 361 (GlusterFS 3.0 should work on Mac OS/X) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=361
* build: Solaris sigwait needs _POSIX_PTHREAD_SEMANTICSShehjar Tikoo2010-08-101-1/+1
| | | | | | | | Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1178 (Gluster mainline build fails on Solaris) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1178
* glusterd: Solaris build fixesShehjar Tikoo2010-08-102-2/+15
| | | | | | | | Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1178 (Gluster mainline build fails on Solaris) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1178
* rpc-lib: Solaris build fixesShehjar Tikoo2010-08-109-14/+44
| | | | | | | | Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1178 (Gluster mainline build fails on Solaris) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1178
* nfs/rpc: Solaris build fixesShehjar Tikoo2010-08-103-4/+10
| | | | | | | | Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1178 (Gluster mainline build fails on Solaris) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1178
* nfs: Do not build nfs/rpc as shared libraryShehjar Tikoo2010-08-104-21/+6
| | | | | | | | 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
* 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.1v3.1.0qa4Pavan 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 spawnedv3.1.0qa3Vijay 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