summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* IO-threads Cleanup: Remove useless data structures.Shehjar Tikoo2009-03-172-109/+0
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* IO-threads Cleanup: Clean-up request scheduling and queueing interface.Shehjar Tikoo2009-03-171-216/+61
| | | | | | | | | | | | | | | | | | This patch does two things: 1. Cleans up the request scheduling and queueing interface so that all fops only need to call iot_schedule and not iot_queue and in some cases iot_schedule. 2. Till now, we've had open and create calls go through the main glusterfsd thread when sending open and create fops. This patch makes them also go through the worker threads. But since the open and creates requests would not be called with a valid inode number in the loc_t, these requests will get assigned to the worker at index 0. This will be fixed RSN, when we introduce various techniques of distributing the inodes(..not requests..) over the worker threads. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* IO-threads Cleanup: Change workers list to dynamically allocated arrayShehjar Tikoo2009-03-172-28/+51
| | | | | | | | | | Worker threads were represented as a list in iot_conf_t which made us traverse the list of workers in order to decide which thread gets the request. Now we represent the workers as a dynamically allocated array so that we can just index into the array to schedule the file. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* IO-threads Cleanup: Change request queue into a struct list_headShehjar Tikoo2009-03-172-24/+20
| | | | | | | | This patch changes the per-thread request queue from a custom circular linked list, into the standard list.h list which is easier to understand and has a cleaner interface. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Add system call abstraction layerVikas Gorur2009-03-176-45/+663
| | | | | | | | | - syscall.c provides platform-independent system calls - previous code for this from compat.c removed - posix xlator uses new functions from syscall.c - solaris_flistxattr added to compat.c Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* write behind preserves order of fops with respect to writesRaghavendra G2009-03-131-404/+947
| | | | | | | - the execution order of fops like read, stat, fsync, truncate etc whose results are affected by writes, are preserved. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* implement forget for cluster/unifyBasavanagowda Kanur2009-03-131-0/+18
| | | | | | inode_ctx_put() would set a list allocated on heap and would not be free()ed anywhere. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* unify revalidate should propogate the error from any of the subvolume upto ↵Basavanagowda Kanur2009-03-131-0/+7
| | | | | | | | the parent, so that parent sends a fresh lookup. unify revalidate fails if one of the subvolume returns error. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Add extra 'volume' parameter to inodelk/entrylk callsVikas Gorur2009-03-1228-150/+278
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* xlator.c option validation should check for empty valid options list (for ↵Basavanagowda Kanur2009-03-121-4/+6
| | | | | | | | strings). 'if (!opt->value)' always fails as 'value' member is an array of size ZR_OPTION_MAX_ARRAY_SIZE and is always non-null. it should have been 'if (opt->value[0] == NULL)' instead. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* feature to span the export directory across different mountpointsAmar Tumballi2009-03-102-9/+80
| | | | | | | | | This feature enables exported directory containing different mountpoints. With, 'option span-devices <n>' where n is number of different mountpoints export directories can have, one can enable this feature. By default the number will be 1, and the inode scaling won't come into picture. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* ping timer will not timeout if we recently got POLLOUT on the socket i.e if ↵Krishna Srinivas2009-03-101-4/+4
| | | | | | ((cur - (sent|received)) < timeout) Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Fixed two more occurrences of poll_out variables used for logging.Bharat Shetty Barkur2009-03-101-2/+2
| | | | | | Changed the poll_in variable to poll_out variable at two more places in the code. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* removed word "tla" from last of the remaining filesHarshavardhana2009-03-104-16/+9
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* failover to any active transport when requested channel is not connectedAnand V. Avati2009-03-102-2/+30
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Fixed build problems for init script installation.Harshavardhana2009-03-092-3/+5
| | | | | | Fixed build problem for init scripts (Reported by Krishna and Vikas). Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* dht_readdir_cbk - retry on same subvol if no entries match the hashAnand V. Avati2009-03-091-5/+15
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* changing the conversion specifier from 'd' to 'o' while printing st_modeRaghavendra G2009-03-071-17/+23
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* added fgetxattr and fsetxattr FOPsVikas Gorur2009-03-0712-23/+977
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* fixed deadlock in io-cacheVikas Gorur2009-03-071-6/+3
| | | | | | | ioc_create_cbk was holding inode->lock and calling inode_ctx_put, which also holds the same lock. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Changed the default transport-timeout to 600Krishna Srinivas2009-03-051-2/+2
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* disable building of user-guideAnand V. Avati2009-03-053-24/+1
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* code changes in the usage of inode_ctx_get and inode_ctx_put after their ↵Raghavendra G2009-03-054-80/+105
| | | | | | implementation is changed to hold inode->lock. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Change to fix the build problems with bison 1.28 (in RHEL 4.6)Amar Tumballi2009-03-042-2/+0
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* inode_ctx_t locks addedAnand V. Avati2009-03-031-30/+54
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* create fuse thread after setvolume cbk happens, not only in case of successAmar Tumballi2009-03-032-36/+23
| | | | | | | | This patch fixes the 'hang' effect when client protocol fails to authenticate to servers (it may be problem with volume file, or server process would have not started yet). Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* changes in patchset and repo versionAmar Tumballi2009-03-032-2/+2
| | | | | | | noticed that if anyone pulls from git repo, the version says 'tla' and patchset also shows tla's patch. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Added proper handling for the init scripts for (Debian, Ubuntu, SuSE, ↵Harshavardhana2009-03-036-8/+102
| | | | | | | | | | | | | | Redhat), SuSE init script also added. * Init scripts added for Debian, Redhat, SuSE distribution, each are installed by checking each distribution specific. Tested on 1. Debian, Ubuntu. 2. Redhat, CentOS. 3. OpenSUSE. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* now user-guide.info is built only when "makeinfo" foundHarshavardhana2009-03-033-1/+24
| | | | | | user-guide info is built only when "makeinfo" found Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Fixed small error regarding the poll_out variableBharat Shetty Barkur2009-03-031-1/+1
| | | | | | Changed the poll_in variable to poll_out variable, so that the logging is relevant to the case of invalid poll_out value. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Fix solaris server segfault in recent "rc3" release.Harshavardhana2009-02-281-4/+5
| | | | | | | typecasting from uint64_t directly over pl_inode structure segfaults are all the calls from posix-locks. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* CALLOC changed to calloc in rdd.c and several other cleanup and moved rdd.c ↵Harshavardhana2009-02-283-36/+67
| | | | | | into more appropriate "benchmarking" directory. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Removed unncessary EXTRA_DIST entries and updated benchmarking directoryHarshavardhana2009-02-283-9/+26
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Added /etc/init.d/glusterfsd for rpmbuildsHarshavardhana2009-02-283-76/+24
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* check for fd ctx set in changelog_needed_post_op for flush() in afrVikas Gorur2009-02-272-95/+49
| | | | | | | Earlier the check was in afr_flush(), which caused race conditions with writev() Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* send a lookup on root as soon as we get CHILD_UP to fuse.krishna2009-02-271-12/+83
| | | | | | | | send a lookup on root as soon as we get CHILD_UP to fuse. This fixes the case where some of the fuse versions do not send a lookup on the root directory when one of the "sub-dir" or "sub-file" is accessed just after mount. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* volumefile modification awareness to make sure there are no inconsistencies.Amar Tumballi2009-02-2711-96/+346
| | | | | | Complete (including feature to properly umount) in my sense. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Skip self-heal when subvolumes are downAnand V. Avati2009-02-271-17/+0
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* fixing warnings in previous patch (typecasting pointer to long)Anand V. Avati2009-02-271-1/+1
|
* Merge branch 'master' of ssh://avati@git.sv.gnu.org/srv/git/glusterAnand V. Avati2009-02-270-0/+0
|\ | | | | | | | | Conflicts: xlators/features/locks/src/common.c
| * reverting nested locks in posix-locks for inodelkVikas Gorur2009-02-276-206/+292
| | | | | | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* | reverting nested locks in posix-locks for inodelkVikas Gorur2009-02-277-265/+350
|/ | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* moved dht_hashfn_tea() to libglusterfs/hashfn.c as gf_dm_hashfn() (dm - ↵Basavanagowda Kanur2009-02-275-148/+110
| | | | | | | | davies-meyer). moved dht_hashfn_tea() to libglusterfs/src/hashfn.c as gf_dm_hashfn(). Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* updated copyright header to extend copyright upto 2009Basavanagowda Kanur2009-02-26192-195/+195
| | | | | | updated copyright header to include 2009. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* removed unnecessary README.git fileBasavanagowda Kanur2009-02-261-1/+0
| | | | | | removed README.git file Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* fd->lock added to protect transactions for accessing and modifying fd->_ctx.Basavanagowda Kanur2009-02-262-33/+64
| | | | | | fd->_ctx access and modifications are now protected by fd->lock. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Layout is sorted on volume names before forming the layout ranges. But when ↵krishna2009-02-263-3/+41
| | | | | | anomalies are to be detected layout is sorted based on "start" of the range (done in the selfheal during lookup). Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* protect fd_ctx get/set in afr_transaction and afr.c with locksVikas Gorur2009-02-262-16/+31
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Unset fd_ctx in afr_flush if it is setVikas Gorur2009-02-261-0/+2
| | | | | | | | | If fd_ctx is set, it means pending array needs to be decremented. However, flush might be called many times and it used to lead to multiple decrements. Fix is to unset fd_ctx on the first flush received Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* __inode_unlink() should not be sent a NULL inode.Basavanagowda Kanur2009-02-261-0/+2
| | | | | | | | unlink_inode might be NULL in inode_unlink() under the following circumstances: 1. 'inode' got forget() and was unhashed. 2. 'inode' was replaced by a new inode object and the new object got forget() or was pruned out of the inode table. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>