summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Implement lookup in locks to return lock count in a dict value.Pavan Sondur2009-10-286-0/+323
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 306 (Enhance locks to aid debugging) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=306
* libglusterfs/rbtree: change rbthash_init_table to take no of expected ↵Raghavendra G2009-10-284-10/+19
| | | | | | | | | | | | | | entries in the hash table as argument. - the expected number of entries is used to create the memory pool of the hash table. Having constant macro for this purpose is not suitable since different users of rbtree based hash table store different number of entries in the table. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 335 (Io-cache optimization) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=335
* performance/io-cache: fix memory leak.Raghavendra G2009-10-281-0/+1
| | | | | | | | | - page table of cache was not being destroyed in ioc_forget. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 335 (Io-cache optimization) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=335
* performance/io-cache: fix double free.Raghavendra G2009-10-281-1/+1
| | | | | | | | | | | - the destroyer function passed to rbthash_table_init is used to free the data. The data being inserted is page and it is destroyed in ioc_page_destroy. Hence no destroyer function needs to be passed to rbthash_table_init. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 335 (Io-cache optimization) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=335
* Add -s (signoff) to format-patch.shAnand V. Avati2009-10-281-2/+2
|
* Add glusterfs-volgen to masterPavan Sondur2009-10-282-1/+402
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 343 (GlusterFS volume generator - 'volgen') URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=343
* fuse: use postbuf in truncate_cbk for attributes to returnAnand Avati2009-10-281-4/+4
| | | | | | | | | | this causes a problem where inodes even after truncate show old file size for a short time (till attributes are expired in fuse kernel module) Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 146 (Add setattr FOP) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146
* xlator: initialize all xlators in a loop instead of top down initializationAnand Avati2009-10-281-20/+14
| | | | | | | | | | top-down initialization will miss out on xlators from disconnected subgraphs and notify can go prematurely to these xlators Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 341 (mountpoint first access failure in single address space mode client/server) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=341
* mount/fuse: Derive fd from the file handle for setattrVikas Gorur2009-10-281-1/+3
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 146 (Add setattr FOP) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146
* protocol/server: resolver fixesAnand Avati2009-10-281-5/+12
| | | | | | | | | | 1. do not set ENOENT for RESOLVE_MAY case 2. set op_ret to -1 and op_errno to EINVAL when request has neither of entry, inode or fd handles Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
* performance/io-cache: change data structure used to store page-cache.Raghavendra G2009-10-285-69/+90
| | | | | | | | | - io-cache uses rbtree based hash tables to store page-cache instead of lists. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 335 (Io-cache optimization) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=335
* cluster/afr: Set local->fd in fsync.Vikas Gorur2009-10-281-0/+1
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 145 (NFSv3 related additions to 2.1 task list) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145
* extras/init.d: make install directory configurable with --with-initdirAnand V. Avati2009-10-272-1/+7
|
* mount/fuse: Use correct offset for name in fuse_getxattrVikas Gorur2009-10-271-1/+1
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* Don't stop an already running glusterfsd upon upgrade or install.Harshavardhana Ranganath2009-10-271-1/+0
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 338 (rpm post uninstall kills glusterfsd process) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=338
* cluster/afr: Remove struct's for [f]chown, [f]chmod, utimens from afr_local_t.Vikas Gorur2009-10-271-37/+0
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 146 (Add setattr FOP) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146
* cluster/afr: NFS-friendly logic changesVikas Gorur2009-10-276-73/+250
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 145 (NFSv3 related additions to 2.1 task list) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145
* cluster/afr: Pick the data self-heal algorithm dynamically.Vikas Gorur2009-10-262-13/+66
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 320 (Improve self-heal performance) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320
* cluster/afr: Check the target of symlink's in entry self-heal.Vikas Gorur2009-10-263-12/+208
| | | | | | | | | | During entry self-heal, make sure not only that a symlink exists on all subvolumes, but also that their targets match. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 193 (symlink contents not self-healed by replicate) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=193
* storage/posix: Ensure time(2) is stored in a 64-bit variable.Vikas Gorur2009-10-261-1/+3
| | | | | | | | | | | Before multiplying the time_t value by 2^32, store it in a 64-bit variable. This is necessary on 32-bit systems, where time_t is only 32-bits, and left-shifting by 32 results in 0. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
* protocol/server: touchup loc only if inode/entry resolution was successfulAnand Avati2009-10-261-2/+4
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
* protocol/server: fix assignment of inode number in server_readlinkAnand Avati2009-10-261-1/+1
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
* booster: seperate out the implementations of readdir and readdir64.Raghavendra G2009-10-264-15/+43
| | | | | | | | | | | | - readdir and readdir64 should not call same procedure booster_readdir in their implementation, since the layout of dirent structures returned by libc implementations of readdir and readdir64 is different (readdir returns struct dirent *, where as readdir64 returns struct dirent64 *). Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 333 (ls on paths not on virtual mounts report wrong directory contents) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=333
* cluster/afr: Set read-subvolume to the source while self-heal is in progress.Vikas Gorur2009-10-261-0/+1
| | | | | | | | | | | | Just before the lookup is unwound during background data self-heal, the read subvolume is set to the self-heal source subvol so that read operations on the file work correctly, and don't have to wait for the self-heal to complete. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 320 (Improve self-heal performance) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320
* cluster/afr: Do self-heal in the background.Vikas Gorur2009-10-265-11/+163
| | | | | | | | | | | | | | This patch introduces a new option "background-self-heal-count", with a default value of 16. This means that upto {background-self-heal-count} number of files/directories will be healed in the background at any given time. If such number of self-heals are already in progress, further self-heals take place in the foreground. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 320 (Improve self-heal performance) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320
* cluster/afr: Pipeline the "diff" data self-heal read-write loop.Vikas Gorur2009-10-232-110/+267
| | | | | | | | | | Start upto "data-self-heal-window-size" instances of the read-write loop of the "diff" data self-heal algorithm simultaneously. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 320 (Improve self-heal performance) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320
* mount/fuse: Don't use fsi if it is already cleaned upVijay Bellur2009-10-231-1/+4
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 146 (Add setattr FOP) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146
* protocol/server: deep resolution supportAnand Avati2009-10-233-59/+188
| | | | | | | | | | | | | | when requested ino/gen is not available in the inode table cache, then use the path presented by the client to lookup entries with the hope that the requested ino/gen gets populated into the cache. re-perform regular search after finishing the deep component lookup Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
* protocol/server: send fresh lookups on revalidate failuresAnand Avati2009-10-231-1/+23
| | | | | | | | | also unlink non existent dentries in lookup_cbk Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
* whitespace fixesAnand Avati2009-10-231-3105/+3105
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
* cluster/afr: Pipeline the "full" data self-heal read-write loop.Vikas Gorur2009-10-234-55/+243
| | | | | | | | | | | | | Start upto "data-self-heal-window-size" instances of the read-write loop of the "full" data self-heal algorithm simultaneously. Add a new option "data-self-heal-window-size" with range [1-1024], and a default value of 16. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 320 (Improve self-heal performance) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320
* cluster/afr: Prevent spurious entry self-heal.Vikas Gorur2009-10-231-2/+13
| | | | | | | | | | | | | | If the initial lookup shows that 'pending' is positive, then self-heal will hold a lock and do a lookup again. This lookup might show that 'pending' is zero everywhere. However, entry self-heal used to consider this as a case of 'no sources' and try to merge the directories. This patch checks for that case and does not do the merge. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 326 ([2.0.8rc9] Spurious self-heal) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=326
* fuse-bridge: send fresh lookup on failed revalidate to return new nodeidAnand Avati2009-10-231-47/+56
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
* inode.c: whitespace fixesAnand Avati2009-10-231-16/+15
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
* cluster/afr: entry self-heal: Store parent_loc on the heap for ↵Vikas Gorur2009-10-221-7/+12
| | | | | | | | | impunge_parent_setattr. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 137 (Parent directory mtime not reset after a create in self-heal) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=137
* cluster/afr: entry self-heal: Set parent directory's attributes using a new ↵Vikas Gorur2009-10-221-24/+20
| | | | | | | | | | | | | | | | | | | | | frame. There was a race condition in assuming that afr_sh_entry_impunge_parent_setattr_cbk will always return before impunge_xattrop_cbk and impunge_setattr_cbk. This patch fixes two additional problems: 1) Building the parent_loc from impunge_local->loc after STACK_WIND to impunge_xattrop_cbk has happened. In a simple afr-posix configuration the stack will have been destroyed by the time building of parent_loc is attempted. 2) parent_loc built in impunge_newfile_cbk was not being loc_wipe'd. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 137 (Parent directory mtime not reset after a create in self-heal) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=137
* glusterfsd.c: Unnecessary writing of strerror of errorno on pipevinayak hegde2009-10-211-16/+17
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 4 (mount --bind fails if run immediately after mounting GlusterFS) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=4
* protocol/server: generation number and dentry resolutionAnand Avati2009-10-207-3028/+1680
| | | | | | | | | | - handle generation number in protocol - rewrite server dentry resolution code for inode cache miss Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
* inode: fix internal refs and minor fixesAnand Avati2009-10-201-10/+20
| | | | | | | | | * also fix trailing whitespaces in a couple of places Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
* performance/write-behind: fix to bug in setattr which was causing frames to ↵Raghavendra G2009-10-201-1/+2
| | | | | | | | | | | | | | | be missed. - local->file was being assigned even before file pointer was got from any of the fds opened on the inode, thus making local->file to be NULL. In wb_setattr_cbk, since local->file is NULL (and hence file passed to wb_process_queue), wb_process_queue does not resume the pending operations queued for the file. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 327 (dbench does not complete) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=327
* performance/read-ahead: Process state dump operations are added.vinayak hegde2009-10-201-0/+47
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 213 (Support for process state dump) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=213
* performance/quick-read: Process state dump operations are added.vinayak hegde2009-10-201-0/+35
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 213 (Support for process state dump) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=213
* performance/write-behind: Process state dump operations are added.vinayak hegde2009-10-201-0/+43
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 213 (Support for process state dump) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=213
* cluster/afr: Attempt to set fd ctx in create only if the call has succeeded.Vikas Gorur2009-10-201-10/+9
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 325 (crash in afr_fd_ctx_set) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=325
* protocol/client: incoroporate generation numbersAnand Avati2009-10-181-52/+105
| | | | | | | | | | protocol/client uses the new inode_ctx_{get,put}2 API to store both inode and generation number in context Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
* protocol: format changes to incorporate generation numbersAnand Avati2009-10-181-10/+56
| | | | | | | | | | incorporate 64bit generation field in all protocol headers to accompany an inode number Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
* inode_ctx_{get,put,del}2 API supportAmar Tumballi2009-10-182-26/+98
| | | | | | | | | | support for storing multiple values for a key in inode context - used for storing inode and generation number pairs on the server in protocol/client inode ctx Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
* fuse: use inode_t address as nodeid and use new inode APIAnand V. Avati2009-10-181-224/+105
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
* inode: API changes for generation number supportAnand V. Avati2009-10-182-156/+196
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
* inode: fix indentation and spacingsAnand V. Avati2009-10-181-253/+226
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315