summaryrefslogtreecommitdiffstats
path: root/xlators
Commit message (Collapse)AuthorAgeFilesLines
* server-protocol - reimplement connection cleanup to happen in 2 phasesRaghavendra G2009-04-034-22/+206
| | | | | | | | | | | - first phase, which happens when POLLERR is received on transport, releases all locks, flushes all open fds. - second phase, which happens when both the transports of connection destroyed, destroys the containers like lock table, fd table along with the connection. - the first phase, clears up any references to transport held by translators like posix-locks(in the form of blocked locks) paving way for the second phase. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Made afr inode context a 64-bit packed value instead of a structure.Vikas Gorur2009-04-034-313/+205
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Load balance read operations among subvolumes in afrVikas Gorur2009-04-024-110/+513
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Defined afr_inode_ctx_t structure.Vikas Gorur2009-04-022-11/+76
| | | | | | | | Notification of a split-brain situation, which was earlier signalled by the mere presence of inode context is now signalled by the 'split_brain' member in the structure. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* io-threads: Support autoscaling volfile optionsShehjar Tikoo2009-04-022-24/+104
| | | | | | | | | | | | | | | | | This commit finally makes the autoscaling feature visible to the user. Know that we're now using two separate thread-pools, one for data requests, called ordered thread-pool in io-threads, and the other for meta-data requests, called un-ordered thread-pool. We do not expose this information to the user to keep io-threads simple. Consequently, when the user specifies a min-threads and max-threads value, the number of threads assigned to each pool is equal, i.e. both pools start with their min threads set to half of the option "min-threads" and both scale up their threads at most up to half of option "max-threads". Volfile options will be added to the wiki and user-guide. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* 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>
* 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>
* 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
* 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-011-1/+6
| | | | | | \ while fetching volume specification file from server Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Add new type of option type INTERNET_ADDRESS for validationRaghavendra G2009-04-011-1/+1
| | | | | | | | - 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>
* 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-261-1/+1
| | | | 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>
* fix to rm of large file blocking other operations on the same directory ↵2.0.0rc7Raghavendra G2009-03-241-0/+15
| | | | | | | | | | | | | containing file (ref: rt #779) posix_unlink follows the below procedure to avoid client noticing delay during unlink of large file 1. open file 2. unlink file 3. stack_unwind 4. close file Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Made self heal logic more precise.Vikas Gorur2009-03-241-22/+233
| | | | | | | | | Discard earlier patch sent for the same error. This patch fixes it more comprehensively. This solves the spurious split-brain seen by many users. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* dht memory leak fixRaghavendra G2009-03-241-1/+1
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* fixes crash in write-behind2.0.0rc6Amar Tumballi2009-03-221-2/+3
| | | | | | | in wb_flush, there was a chance that wb_process_queue() was called with NULL frame, which causes crash. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* when the both channels in client protocol is disconnected, fd's are marked ↵Amar Tumballi2009-03-211-35/+64
| | | | | | | | | as bad patch solves the problem of fds being valid even in the case of server disconnection, which causes operations on wrong fd when server comes back up. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>