| Summary: | stat prefetch implementation | ||
|---|---|---|---|
| Product: | [Community] GlusterFS | Reporter: | Raghavendra G <raghavendra> |
| Component: | stat-prefetch | Assignee: | Raghavendra G <raghavendra> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | |
| Severity: | low | Docs Contact: | |
| Priority: | low | ||
| Version: | mainline | CC: | amarts, gluster-bugs |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | Type: | --- | |
| Regression: | --- | Mount Type: | --- |
| Documentation: | DNR | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
|
Description
Raghavendra G
2009-08-18 08:35:47 UTC
An initial patchset has been sent for reviewing PATCH: http://patches.gluster.com/patch/1071 in master (rewriting stat-prefetch translator) PATCH: http://patches.gluster.com/patch/1167 in master (performance/stat-prefetch: implement sp_lookup.) PATCH: http://patches.gluster.com/patch/1073 in master (performance/stat-prefetch: implement sp_readdir.) PATCH: http://patches.gluster.com/patch/1074 in master (performance/stat-prefetch: implement sp_chmod.) PATCH: http://patches.gluster.com/patch/1168 in master (performance/stat-prefetch: introduce sp_fd_ctx_t to hold context of fds) PATCH: http://patches.gluster.com/patch/1076 in master (stat/prefetch: free cache if it cannot be put into context of fd) PATCH: http://patches.gluster.com/patch/1077 in master (common-utils: introduce new macro GF_VALIDATE_OR_GOTO_WITH_ERROR) PATCH: http://patches.gluster.com/patch/1078 in master (performance/stat-prefetch: implement sp_open.) PATCH: http://patches.gluster.com/patch/1079 in master (performance/stat-prefetch: implement sp_create.) PATCH: http://patches.gluster.com/patch/1080 in master (performance/stat-prefetch: implement sp_opendir.) PATCH: http://patches.gluster.com/patch/1081 in master (performance/stat-prefetch: implement sp_mkdir.) PATCH: http://patches.gluster.com/patch/1082 in master (performance/stat-prefetch: implement sp_mknod.) PATCH: http://patches.gluster.com/patch/1083 in master (performance/stat-prefetch: implement sp_symlink.) PATCH: http://patches.gluster.com/patch/1084 in master (performance/stat-prefetch: implement sp_link.) PATCH: http://patches.gluster.com/patch/1085 in master (performance/stat-prefetch: implement sp_fchmod.) PATCH: http://patches.gluster.com/patch/1086 in master (performance/stat-prefetch: implement sp_chown.) PATCH: http://patches.gluster.com/patch/1087 in master (performance/stat-prefetch: implement sp_fchown.) PATCH: http://patches.gluster.com/patch/1088 in master (performance/stat-prefetch: implement sp_truncate.) PATCH: http://patches.gluster.com/patch/1089 in master (performance/stat-prefetch: implement sp_ftruncate.) PATCH: http://patches.gluster.com/patch/1090 in master (performance/stat-prefetch: implement sp_utimens.) PATCH: http://patches.gluster.com/patch/1091 in master (performance/stat-prefetch: implement sp_readlink.) PATCH: http://patches.gluster.com/patch/1092 in master (performance/stat-prefetch: implement sp_unlink.) PATCH: http://patches.gluster.com/patch/1093 in master (performance/stat-prefetch: implement sp_rmdir.) PATCH: http://patches.gluster.com/patch/1094 in master (performance/stat-prefetch: implement sp_readv.) PATCH: http://patches.gluster.com/patch/1095 in master (performance/stat-prefetch: implement sp_writev.) PATCH: http://patches.gluster.com/patch/1096 in master (performance/stat-prefetch: implement sp_fsync.) PATCH: http://patches.gluster.com/patch/1097 in master (performance/stat-prefetch: implement sp_rename.) PATCH: http://patches.gluster.com/patch/1098 in master (performance/stat-prefetch: implement sp_setxattr.) PATCH: http://patches.gluster.com/patch/1099 in master (performance/stat-prefetch: implement sp_removexattr.) PATCH: http://patches.gluster.com/patch/1100 in master (performance/stat-prefetch: implement sp_setdents.) PATCH: http://patches.gluster.com/patch/1101 in master (performance/stat-prefetch: flush stat corresponding to directory being read in readdir) PATCH: http://patches.gluster.com/patch/1102 in master (performance/stat-prefetch: implement sp_getdents.) PATCH: http://patches.gluster.com/patch/1103 in master (performance/stat-prefetch: implement sp_checksum.) PATCH: http://patches.gluster.com/patch/1104 in master (performance/stat-prefetch: implement sp_xattrop.) PATCH: http://patches.gluster.com/patch/1105 in master (performance/stat-prefetch: implement sp_fxattrop.) PATCH: http://patches.gluster.com/patch/1106 in master (performance/stat-prefetch: implement release callbacks.) PATCH: http://patches.gluster.com/patch/1107 in master (storage/posix: handle dentries from different mount points in readdir) PATCH: http://patches.gluster.com/patch/1108 in master (performance/stat-prefetch: update design document.) PATCH: http://patches.gluster.com/patch/1109 in master (performance/stat-prefetch: minor bug-fixes.) PATCH: http://patches.gluster.com/patch/1110 in master (performance/stat-prefetch: don't check for a non-null parent and inode in newloc during rename.) Following issues needs to be fixed: 1. Performance issues (Ref bug-284) http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=284 2. memory leaks. PATCH: http://patches.gluster.com/patch/1797 in master (performance/stat-prefetch: fix memory leaks) PATCH: http://patches.gluster.com/patch/1798 in master (performance/stat-prefetch: change the cache to use rbtree based hashtable instead of list for caching dentries.) PATCH: http://patches.gluster.com/patch/1799 in master (performance/stat-prefetch: change behaviour of sp_lookup when xattr_req is not NULL.) PATCH: http://patches.gluster.com/patch/1800 in master (performance/stat-prefetch: Add accounting of cache hits and misses.) PATCH: http://patches.gluster.com/patch/1801 in master (performance/stat-prefetch: optimizations to sp_lookup.) PATCH: http://patches.gluster.com/patch/1802 in master (performance/stat-prefetch: remove lookup-behind in sp_lookup.) PATCH: http://patches.gluster.com/patch/1803 in master (performance/stat-prefetch: Add support code to implement lookup-behind.) PATCH: http://patches.gluster.com/patch/1805 in master (performance/stat-prefetch: use op_errno instead of errno to store error code.) PATCH: http://patches.gluster.com/patch/1804 in master (performance/stat-prefetch: implement procedure sp_process_inode_ctx.) PATCH: http://patches.gluster.com/patch/1806 in master (performance/stat-prefetch: lookup the path in open if it is not already looked up.) PATCH: http://patches.gluster.com/patch/1807 in master (performance/stat-prefetch: lookup path in checksum if it is not already looked up.) PATCH: http://patches.gluster.com/patch/1808 in master (performance/stat-prefetch: implement sp_stat.) PATCH: http://patches.gluster.com/patch/1809 in master (performance/stat-prefetch: lookup path in setattr if it is not already looked up.) PATCH: http://patches.gluster.com/patch/1810 in master (performance/stat-prefetch: lookup path in truncate if it is not already looked up.) PATCH: http://patches.gluster.com/patch/1812 in master (performance/stat-prefetch: implement sp_access) PATCH: http://patches.gluster.com/patch/1811 in master (peformance/stat-prefetch: lookup path in readlink if it is not already looked up.) PATCH: http://patches.gluster.com/patch/1813 in master (performance/stat-prefetch: lookup path in mknod if it is not already looked up.) PATCH: http://patches.gluster.com/patch/1814 in master (performance/stat-prefetch: lookup path in mkdir if it is not already looked up.) PATCH: http://patches.gluster.com/patch/1815 in master (performance/stat-prefetch: fix mkdir to unwind with proper number of arguments.) PATCH: http://patches.gluster.com/patch/1816 in master (performance/stat-prefetch: lookup path in unlink if it is not already looked up.) PATCH: http://patches.gluster.com/patch/1817 in master (performance/stat-prefetch: lookup path in rmdir if it is not already looked up.) PATCH: http://patches.gluster.com/patch/1818 in master (performance/stat-prefetch: lookup path in symlink if it is not already looked up.) PATCH: http://patches.gluster.com/patch/1819 in master (performance/stat-prefetch: lookup oldpath and newpath in rename if they've not already been looked up.) PATCH: http://patches.gluster.com/patch/1820 in master (performance/stat-prefetch: lookup oldloc->path in link if it has not already been looked up.) PATCH: http://patches.gluster.com/patch/1821 in master (performance/stat-prefetch: remove stat corresponding to oldloc->path from cache in sp_link.) PATCH: http://patches.gluster.com/patch/1822 in master (performance/stat-prefetch: lookup path in create if it is not already looked up.) PATCH: http://patches.gluster.com/patch/1824 in master (performance/stat-prefetch: lookup path in opendir if it is not already looked up.) PATCH: http://patches.gluster.com/patch/1823 in master (performance/stat-prefetch: lookup path in setxattr if it is not already looked up.) PATCH: http://patches.gluster.com/patch/1825 in master (performance/stat-prefetch: implement sp_getxattr.) PATCH: http://patches.gluster.com/patch/1826 in master (performance/stat-prefetch: lookup path in removexattr if it is not already looked up.) PATCH: http://patches.gluster.com/patch/1827 in master (performance/stat-prefetch: implement sp_inodelk.) PATCH: http://patches.gluster.com/patch/1828 in master (performance/stat-prefetch: implement sp_entrylk.) PATCH: http://patches.gluster.com/patch/1829 in master (performance/stat-prefetch: lookup path in xattrop if it is not already looked up.) PATCH: http://patches.gluster.com/patch/1830 in master (performance/stat-prefetch: checking for cache and creation if not present is made atomic.) PATCH: http://patches.gluster.com/patch/2398 in master (performance/stat-prefetch: Changed rbthash to make use of 1 bucket) PATCH: http://patches.gluster.com/patch/2444 in master (performance/stat-prefetch: fix errors in handling memory allocation failures in sp_inode_ctx_process.) PATCH: http://patches.gluster.com/patch/2445 in master (performance/stat-prefetch: don't use same variable for getting inode context of an inode and its parent.) PATCH: http://patches.gluster.com/patch/2446 in master (performance/stat-prefetch: make lookup to wait for the completion of another lookup on same path if one is in progress.) PATCH: http://patches.gluster.com/patch/2490 in release-2.0 (Add support in rbthash to make use of user provided mempool.) PATCH: http://patches.gluster.com/patch/2543 in master (performance/stat-prefetch: dont check for inode context in fops like create, mkdir.) PATCH: http://patches.gluster.com/patch/2544 in master (performance/stat-prefetch: refactor sp_lookup_cbk to use sp_update_inode_ctx.) PATCH: http://patches.gluster.com/patch/2545 in master (performance/stat-prefetch: implement sp_check_and_create_inode_ctx.) PATCH: http://patches.gluster.com/patch/2546 in master (performance/stat-prefetch: add "caller" arguement to sp_process_inode_ctx.) PATCH: http://patches.gluster.com/patch/2578 in master (performance/stat-prefetch: remove the usage of THIS.) PATCH: http://patches.gluster.com/patch/5958 in master (check the value of op_ret pointer not the address) |