summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* io-threads: Cleanup request queueing,thread firingShehjar Tikoo2009-04-021-30/+38
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* io-threads: Allow scaling to be switched offShehjar Tikoo2009-04-022-11/+73
| | | | | | | | The default is also to provide no scaling. For both, ordered and unordered request pools, when scaling is off, we maintain atleast the minimum number of threads specified in the volfile. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* io-threads: Add ordered threadpool state and codeShehjar Tikoo2009-04-022-58/+182
| | | | | | | | | | | Now we have the remaining fops going through the ordered thread-pool. To route a request through ordered thread, we use iot_schedule_ordered(..) and the worker thread for ordered requests is iot_worker_ordered(..) Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* io-threads: Add un-ordered thread-pool.Shehjar Tikoo2009-04-022-98/+334
| | | | | | | | | | | | | | | | | | This commit adds everything needed to: a. Get un-ordered request going through the un-ordered thread-pool. This happens through, the iot_schedule_unordered(..). The unordered thread-pool consists of thread running the iot_worker_unordered(..) function. b. Make threads in the un-ordered thread pool start-up and exit depending on the thread state. Note that at this point the requests that need ordering are still going through iot_schedule(..). Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* io-threads: Classify requests for threadpool typeShehjar Tikoo2009-04-021-26/+33
| | | | | | | | | | | | | | | | | New io-threads will serve requests through two separate threadpools. One thread pool for requests that must be ordered on a file that is open. so that the server can process the requests in the order they were entered in the requests queue, and not in the order the io-thread is able to send a request, which in turn is determined by how the thread gets scheduled. This can also be called the data-intensive ops thread pool. Second thread-pool for requests that dont care about ordering, i.e. requests like lookup, open, create, mkdir, etc. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* io-threads: Wire in support for rename fopShehjar Tikoo2009-04-021-0/+55
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* io-threads: Wire in support for symlink fopShehjar Tikoo2009-04-021-0/+53
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* io-threads: Wire in support for rmdir fopShehjar Tikoo2009-04-021-0/+40
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* io-threads: Wire in support for mkdir fopShehjar Tikoo2009-04-021-0/+44
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* io-threads: Wire in support for mknod fopShehjar Tikoo2009-04-021-0/+47
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* io-threads: Wire in support for readlink fopShehjar Tikoo2009-04-021-0/+43
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* io-threads: Wire in support for access fopShehjar Tikoo2009-04-021-0/+43
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* io-threads: Wire in support for fchown fopShehjar Tikoo2009-04-021-0/+46
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* io-threads: Wire in support for chownShehjar Tikoo2009-04-021-0/+46
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* io-threads: Wire in support for fchmod fopShehjar Tikoo2009-04-021-0/+43
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* io-threads: Wire in support for chmod fopShehjar Tikoo2009-04-021-0/+42
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* io-threads: Wire in support for lookup fopShehjar Tikoo2009-04-021-0/+46
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* wb_flush - keep reference on fd for process_frame to perform STACK_WIND of ↵Anand V. Avati2009-04-021-0/+4
| | | | | | | | flush. This patch fixes bug report by Greg <greg@easyflirt.com> on gluster-users@ with subject 'glusterfsd crash' Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* change char to int in execute_cmd (based on comment on #26006 from Giorgio ↵Anand V. Avati2009-04-021-1/+1
| | | | | | Marinelli <gio@reversiva.net> Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Changed few lines to ensure Optimization (lesser code).Bharat Shetty Barkur2009-04-021-3/+1
| | | | | | Changed few lines to ensure lesser code optimization while checking the EOF for the file pointed to by specfp. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Build fixes for ib-verbs compilation on solarisHarshavardhana2009-04-022-6/+22
| | | | | | Build fixes for solaris on ib-verbs with recent OFUV Update 3 release. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* unify-self-heal: Fix un-ref'ing of incorrect dictShehjar Tikoo2009-04-021-1/+1
| | | | | | | | | | | | | dict_unref'ing of the dict in local results in a crash due to de-referencing a NULL spinlock. That is because after a STACK_UNWIND(..), we cannot expect the frame->local to be allocated still. Fix by using the other available reference to local->dict. Ref: https://savannah.nongnu.org/bugs/?26058 Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Print log message when AFR receives CHILD_UP/DOWN notificationVikas Gorur2009-04-021-0/+6
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* socket_connect() - if socket is already created, do not fail ↵Anand V. Avati2009-04-021-0/+1
| | | | | | | | transport_connect() -- causes spurious CHILD_DOWN events to be sent up when reconnect() thread misinterprets the failure of transport_connect() to be an actual teardown of the transport the spurious CHILD_DOWN events cause self-heal in replicate to not heal files in that subvolume, writev to not modify that subvolume etc, accounting for a lot of discrepencies in replicate which are being in the mailing lists recently. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Fixes server goes into infinite loop on Solaris when poll_err is not set.Harshavardhana2009-04-021-2/+3
| | | | | | Server goes into infinite loop when poll_err is not set. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* mount/fuse to silently send fresh lookup for ESTALEd revalidates. log only ↵Basavanagowda Kanur2009-04-021-1/+4
| | | | | | in DEBUG level. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* cluster/stripe to propogate ESTALE to parent.Basavanagowda Kanur2009-04-021-2/+4
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* cluster/unify propogates ESTALE to parent translator, if any subvolume ↵Basavanagowda Kanur2009-04-021-4/+30
| | | | | | returns ESTALE during revalidate. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* cluster/replicate should propogate the ESTALE error to parent, when at least ↵Basavanagowda Kanur2009-04-021-4/+14
| | | | | | one subvolume returns ESTALE. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* cluster/{dht,nufa} propogate ESTALE (when at least one subvolume returns ↵Basavanagowda Kanur2009-04-021-1/+10
| | | | | | ESTALE for revalidate) to parent translator. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* cluster/{nufa,dht} fail revalidates with ESTALE, in case a stale layout is ↵Basavanagowda Kanur2009-04-022-4/+4
| | | | | | found in inode->ctx. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Review comment from Krishna was missed out in previous commit of fix for ↵Anand V. Avati2009-04-021-1/+1
| | | | sending first_lookup in 2nd call
* use (fgetc() != EOF) instaed of feof() in parserAnand V. Avati2009-04-011-2/+1
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Bug fix in posix-init(), when span-devices is set above 1Amar Tumballi2009-04-011-1/+1
| | | | | | removed the extra '!' in if statement, which was a typo earlier. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* fix a segfault with io-threads when iot-schedule is called with NULL inodeAmar Tumballi2009-04-011-1/+2
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Enable glusterfs client to exit after a configured number of failed connects ↵Raghavendra G2009-04-015-1/+30
| | | | | | \ while fetching volume specification file from server Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Avoid infinite loop while parsing volume specification files on Linux/ARM.Raghavendra G2009-04-011-2/+4
| | | | | | - patch submitted by anonymous user (ref: bug #26006 on savannah). Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Add new type of option type INTERNET_ADDRESS for validationRaghavendra G2009-04-015-7/+157
| | | | | | | | - used to validate options like remote-host, bind-address. - Also validate options of translators created during fetch of volume specification file from remote server. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* log message changes in mount/fuse for SETLK, GETLK, GETXATTR, SETXATTR fopsBasavanagowda Kanur2009-04-011-5/+14
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Add support for log-level NORMAL in fuse mount helper script.Raghavendra G2009-03-312-6/+14
| | | | | | | | | - patch submitted by John Feuerstein <john@feurix.com>. - copying changes in the patch verbatim to xlators/mount/fuse/utils/mount.glusterfs.in and xlators/mount/fuse/utils/mount_glusterfs.in Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* first call of fuse is INIT internal call, and not first system call. 2nd ↵Anand V. Avati2009-03-281-2/+6
| | | | | | call is the system call where first_lookup() has to be done. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* memory leak (of header) when frame is attempted to be xfer'ed when transport ↵Anand V. Avati2009-03-281-0/+2
| | | | | | is disconnected Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* ping-pong timer: - share last_sent and last_received between channels so ↵Anand V. Avati2009-03-282-33/+29
| | | | | | that any activity ensures the remote host being alive (useful under heavy loads) - timer expiry disconnects both transports Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* fix duplicate setting of values in inode->ctx and fd->ctxAnand V. Avati2009-03-262-10/+26
| | | | | | | | this patch avoids setting of duplicate key/value pairs in the context. note that consumers have to explicitly check for previous existance of key to avoid any kind of resource leak resulting from this overwrite. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* libglusterfsclient: Fix NULL argument bugShehjar Tikoo2009-03-261-0/+1
| | | | | | | | | | inode_ctx_get was being passed a xlator_t type that was initialized to NULL resulting in a EINVAL return from glusterfs_fstat. Reported on gluster-devel Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* posix_unlink - open/unlink/close only regular filesAnand V. Avati2009-03-261-7/+10
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Enhancements to distribute selfhealAnand V. Avati2009-03-263-51/+117
| | | | | | | | | | - create missing directories instead of creating linkfiles when entry missing on hashed subvol - detect cases where there are dirs and linkfiles for a name and make them all dirs Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* make the location of the mount utility tunable at configure timeCsaba Henk2009-03-262-1/+7
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Fixed typo in warning string in afr.cVikas Gorur2009-03-261-1/+1
| | | | | | Fixed typo. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Changed the gf_log warning for return of null via CALLOC from 'old' to 'newdata'Bharat Shetty Barkur2009-03-261-1/+1
| | | | | | Fixed the warning message to be more clearer for return of the null by CALLOC, by changing old to newdata. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>