summaryrefslogtreecommitdiffstats
path: root/xlators
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* fixes issue of hashing to wrong subvolumes in case when a subvolume is downAmar Tumballi2009-03-211-2/+2
| | | | | | | When a hashed subvolume is down, variable 'subvol' was NULL, but was sent to itransform. This patch solves this, and readdir is sent to proper subvolume now. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* fixed sys_<fops> related warnings. (on mac os x and opensolaris)2.0.0rc5Amar Tumballi2009-03-191-2/+2
| | | | | | The fix in posix will fix 'unresolved' symbol errors in Mac/Solaris/FreeBSD Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* dht_layout_dir_cmp - if xattr is missing, it is an error only if cached ↵Anand V. Avati2009-03-191-11/+18
| | | | layout has entry for that subvolume.
* Add return after STACK_UNWINDShehjar Tikoo2009-03-181-0/+2
| | | | | | | | We must add a 'return' after a STACK_UNWIND due to a stub creation failure, because if we dont, we'll end up adding a NULL stub to the worker thread request queue. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* 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>