summaryrefslogtreecommitdiffstats
path: root/xlators/performance/stat-prefetch
Commit message (Collapse)AuthorAgeFilesLines
...
* performance/stat-prefetch: don't use pre-allocated dirent structure in ↵Raghavendra G2009-11-191-8/+23
| | | | | | | | | | | | | | sp_get_cache_entry. - since we don't know the size of dentry before calling sp_get_cache_entry, we must dynamically allocate the dentry in sp_cache_get_entry and copy the contents from cache. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 371 (rm -rf fails on stat-prefetch.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=371
* performance/stat-prefetch: In lookup_cbk do not set error no to EINVAL, when ↵vinayak hegde2009-11-051-3/+0
| | | | | | | | | | inode_ctx_get returns -1. Signed-off-by: vinayak <vinayak@laptop.(none)> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 360 (All fop fails when stat-prefetch is loaded on afr.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=360
* performance/stat-prefetch: In sp_readdir_cbk op_ret value is not handled.vinayak hegde2009-11-051-0/+4
| | | | | | | | Signed-off-by: Vinayak Hegde <vinayak@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 360 (All fop fails when stat-prefetch is loaded on afr.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=360
* libglusterfs/rbtree: change rbthash_init_table to take no of expected ↵Raghavendra G2009-10-281-2/+5
| | | | | | | | | | | | | | 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/stat-prefetch: checking for cache and creation if not present is ↵Raghavendra G2009-10-091-23/+64
| | | | | | | | | made atomic. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: lookup path in xattrop if it is not already ↵Raghavendra G2009-10-091-10/+69
| | | | | | | | | looked up. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_entrylk.Raghavendra G2009-10-091-0/+85
| | | | | | | | | - lookup on path should be sent in entrylk if it is not already looked up. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_inodelk.Raghavendra G2009-10-091-0/+83
| | | | | | | | | - path has to be looked up in inodelk if it is not already looked up. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: lookup path in removexattr if it is not already ↵Raghavendra G2009-10-091-10/+69
| | | | | | | | | looked up. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_getxattr.Raghavendra G2009-10-091-0/+89
| | | | | | | | | - path should be looked up in getxattr if it is not already looked up. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: lookup path in setxattr if it is not already ↵Raghavendra G2009-10-091-10/+71
| | | | | | | | | looked up. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: lookup path in opendir if it is not already ↵Raghavendra G2009-10-091-9/+72
| | | | | | | | | looked up. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: lookup path in create if it is not already looked up.Raghavendra G2009-10-091-15/+88
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: remove stat corresponding to oldloc->path from ↵Raghavendra G2009-10-091-3/+9
| | | | | | | | | | | cache in sp_link. - ctime of oldloc->path will be changed on completion of link fop. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: lookup oldloc->path in link if it has not already ↵Raghavendra G2009-10-091-12/+83
| | | | | | | | | been looked up. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: lookup oldpath and newpath in rename if they've ↵Raghavendra G2009-10-092-17/+185
| | | | | | | | | not already been looked up. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: lookup path in symlink if it is not already ↵Raghavendra G2009-10-091-12/+73
| | | | | | | | | looked up. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: lookup path in rmdir if it is not already looked up.Raghavendra G2009-10-091-13/+71
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: lookup path in unlink if it is not already looked up.Raghavendra G2009-10-091-12/+70
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: fix mkdir to unwind with proper number of arguments.Raghavendra G2009-10-091-2/+2
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: lookup path in mkdir if it is not already looked up.Raghavendra G2009-10-091-12/+75
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: lookup path in mknod if it is not already looked up.Raghavendra G2009-10-091-12/+75
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* peformance/stat-prefetch: lookup path in readlink if it is not already ↵Raghavendra G2009-10-091-10/+70
| | | | | | | | | looked up. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_accessRaghavendra G2009-10-091-0/+79
| | | | | | | | | - sp_access should send lookup on the path if it is not already looked up. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: lookup path in truncate if it is not already ↵Raghavendra G2009-10-091-10/+69
| | | | | | | | | looked up. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: lookup path in setattr if it is not already ↵Raghavendra G2009-10-091-11/+70
| | | | | | | | | looked up. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_stat.Raghavendra G2009-10-091-0/+87
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: lookup path in checksum if it is not already ↵Raghavendra G2009-10-091-10/+69
| | | | | | | | | looked up. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: lookup the path in open if it is not already ↵Raghavendra G2009-10-091-9/+77
| | | | | | | | | looked up. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement procedure sp_process_inode_ctx.Raghavendra G2009-10-091-0/+93
| | | | | | | | | | | | | - this procedure processes inode_ctx to make decisions like whether the current procedure can continue (i.e., inode is already looked up), or the procedure has to initiate/wait for lookup on the path. It also sets up the frame->local and adds the stub corresponding to current fop if needed. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: use op_errno instead of errno to store error code.Raghavendra G2009-10-091-109/+191
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: Add support code to implement lookup-behind.Raghavendra G2009-10-092-55/+199
| | | | | | | | | | | | | - change sp_lookup and sp_lookup_cbk to support sending lookups when needed. lookups might need to be sent in fops like open, chmod, chown etc which operate on a path, since the actual lookup sent to stat-prefetch by its parent xlators is not propagated down the xlator tree if the path is cached. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: remove lookup-behind in sp_lookup.Raghavendra G2009-10-091-60/+8
| | | | | | | | | | | | - lookup-behind should be done on-demand basis, in fops like open instead of in sp_lookup itself. This would reduce network traffic between client and server related to lookup, if the only use of lookup was to fetch stat structure. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: optimizations to sp_lookup.Raghavendra G2009-10-091-1/+12
| | | | | | | | | | | - if stat cache cannot be found for a path in its parent inode and the path is a directory, we can get the cache from the inode corresponding to path and look for "." in that cache. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: Add accounting of cache hits and misses.Raghavendra G2009-10-092-0/+17
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: change behaviour of sp_lookup when xattr_req is ↵Raghavendra G2009-10-091-8/+28
| | | | | | | | | | | | | not NULL. - if the xattr_req is empty (fuse just creates an empty dictionary and sends along lookup) we can still use the cache prefetched during readdir, since we need not fill the reply dictionary. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: change the cache to use rbtree based hashtable ↵Raghavendra G2009-10-093-36/+46
| | | | | | | | | instead of list for caching dentries. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: fix memory leaksRaghavendra G2009-10-091-16/+37
| | | | | | | | | | | | | | | - sp_cache_get_inode uses fd_lookup which internally increases the refcount of fd by 1. This needs to be unrefed once we get the cache. - for directories, stat is stored in the inode context in sp_lookup_cbk. but, while doing so, no check was being done for the presence of context in inode, resulting in leak of memory equal to sizeof (struct stat) when multiple lookups happened on the directory. - path constructed in sp_readdir was not freed. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* Changed occurrences of Z Research to Gluster.Vijay Bellur2009-10-072-2/+2
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* stat-prefetch: Port stat-prefetching to readdirp fopShehjar Tikoo2009-10-061-1/+2
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 292 (Separate readdirp functionality from readdir fop) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=292
* Global: NFS-friendly prototype changesShehjar Tikoo2009-10-011-19/+47
| | | | | | | 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
* Global: Introduce setattr and fsetattr fopsShehjar Tikoo2009-10-011-127/+15
| | | | | | | 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
* performance/stat-prefetch: don't check for a non-null parent and inode in ↵Raghavendra G2009-09-081-3/+0
| | | | | | | | | newloc during rename. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: minor bug-fixes.Raghavendra G2009-09-081-9/+9
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement release callbacks.Raghavendra G2009-09-081-1/+21
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_fxattrop.Raghavendra G2009-09-081-0/+37
| | | | | | | | | | .../performance/stat-prefetch/src/stat-prefetch.c | 37 ++++++++++++++++++++ 1 files changed, 37 insertions(+), 0 deletions(-) Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_xattrop.Raghavendra G2009-09-081-0/+35
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_checksum.Raghavendra G2009-09-081-1/+36
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_getdents.Raghavendra G2009-09-081-0/+82
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: flush stat corresponding to directory being read ↵Raghavendra G2009-09-081-0/+17
| | | | | | | | | | | | | in readdir - delete the entry corresponding to basename of path on which fd is opened from cache stored in parent. This is necessary because readdir changes st_atime. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221