summaryrefslogtreecommitdiffstats
path: root/xlators
Commit message (Collapse)AuthorAgeFilesLines
* Moving few translators which are not well tested, are in beta stage to ↵Amar Tumballi2009-03-187-7/+7
| | | | | | | | | | | | | 'testing/' directory. This way, users will be aware which are in 'beta' stage, and we can keep on adding new translators (if any) seemlessly to stable codebase and once tested can move them to proper places. To use these translators, everyone will have to prefix 'testing/' to existing type of translator (in volumefile) Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* afr data self heal bug fixAmar Tumballi2009-03-181-3/+3
| | | | | | fixes the issue of corrupting self-healed copy in AFR Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* 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-171-22/+26
| | | | | | | | | - 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-1222-126/+207
| | | | 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>
* 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>
* 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-073-1/+596
| | | | 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>
* code changes in the usage of inode_ctx_get and inode_ctx_put after their ↵Raghavendra G2009-03-051-22/+21
| | | | | | implementation is changed to hold inode->lock. 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>
* 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>
* 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-276-96/+274
| | | | | | 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
|
* reverting nested locks in posix-locks for inodelkVikas Gorur2009-02-276-206/+292
| | | | 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-273-148/+5
| | | | | | | | 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-2692-92/+92
| | | | | | updated copyright header to include 2009. 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>
* DHT clean up. Lot of selfheal code is not applicable to newly created ↵Krishna Srinivas2009-02-254-12/+33
| | | | | | | | | directory. Newly created directory will use only relavant part of DHT selfheal code - only for xattr application. DHT clean up. Lot of selfheal code is not applicable to newly created directory. Newly created directory will use only relavant part of DHT selfheal code - only for xattr application. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* DHT selfheal fix during lookup - create missing directories.Krishna Srinivas2009-02-251-0/+14
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Ping timer does not timeout in case there is any activity (cbks) from the ↵Krishna Srinivas2009-02-252-8/+42
| | | | | | server side. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* per frame time out - i.e individual frames are unwound instead of the ↵Krishna Srinivas2009-02-253-41/+115
| | | | | | transport point itself being disconnected. timeout is configured using "transport-timeout". Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* DHT TEA hashfn bugfix2.0.0rc2Anand V. Avati2009-02-231-5/+0
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Deleted xattr caching code from posix in anticipation of the xattr-cache ↵Vikas Gorur2009-02-235-701/+152
| | | | | | translator. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* RE-SEND: Add braces around critical sections.Shehjar Tikoo2009-02-231-16/+20
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* posix_releasedir flush fds from xattrcache.Anand V. Avati2009-02-221-0/+4
| | | | | | | | It would have entered cache in setdents. Proposed fix for: http://zresearch.com/pipermail/gluster-users/2009-February/001621.html Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* default volume file option enhanced in server-protocolgAmar Tumballi2009-02-221-6/+11
| | | | | | Noticed that with current codebase, there is no proper method to have a default volume filename to choose in getspec() without printing a *lot* of warning messages. This patch tries to have a proper 'default' behavior. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* command line and mount/fuse now use float attr/entry timeoutsHarshavardhana2009-02-211-12/+8
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* Reduce iothreads requests queue lock granularity.Shehjar Tikoo2009-02-192-34/+22
| | | | | | | | | | | iot_queue() and iot_dequeue() functions were using a io-threads translator-wide lock which would be contended for by every worker thread waiting for IO requests. This patch reduces the granularity by turning the lock into a per-worker lock. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* Remove conf->cache_size checksShehjar Tikoo2009-02-192-16/+0
| | | | | | | | Since we're not dependent on this io-thread internal state(i.e. cache_size and current_size) to rate limit requests, we can remove these two data members and code that checks for these. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* Remove dead code.Shehjar Tikoo2009-02-192-40/+0
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* cluster/ha to handle EBADFD for fd based operations as transport disconnected.Basavanagowda Kanur2009-02-191-1/+5
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* warn on ERANGE error for lgetxattr in posixVikas Gorur2009-02-191-0/+18
| | | | | | | | | (amended to fit in 80 columns) ERANGE is usually caused by the user reducing the number of AFR's children but continues to use the old backend. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* Added all filesVikas Gorur2009-02-18166-0/+88606