-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[bug:1193929] GlusterFS can be improved #1000
Comments
Time: 20160727T09:30:29 |
Time: 20160727T09:31:27 |
Time: 20160727T10:40:53 |
Time: 20160727T11:12:09
|
Time: 20160727T11:15:19
|
Time: 20170410T10:22:26 |
Time: 20170413T03:49:06
|
Time: 20170427T13:05:43 |
Time: 20170427T13:07:44 |
Time: 20170428T17:15:33
|
Time: 20170630T13:20:14 |
Time: 20170630T17:59:53 |
Time: 20170703T10:58:18
|
Time: 20170712T07:38:51 |
Time: 20170713T05:58:26 |
Time: 20170713T13:50:11 |
Time: 20170714T12:38:34 |
Time: 20170717T17:09:09
|
Time: 20170721T10:21:47 |
Time: 20170721T10:52:37 |
Time: 20170725T06:28:59 |
Time: 20170725T12:47:11
|
Time: 20171017T05:56:22 |
Time: 20171017T11:09:59
|
Time: 20171227T07:07:44 |
Time: 20171227T15:50:20 RTLD_LOCAL is the default value for symbol visibility flag of dlopen() This also allows us to detect xlators that have not been explicitly BUG: 1193929 |
Time: 20180129T08:58:41 |
Time: 20180207T05:10:09 |
On some systems, the 'char' type is interpreted as an unsigned char. This may cause some issues as Gluster code assumes that 'char' is signed. This patch adds the '-fsigned-char' option during compilation to make sure it works as expected. Updates: #1000 Signed-off-by: Xavi Hernandez <[email protected]>
- posix_readdirp_fill() does not need to copy or zero a gfid on every iteration: use an existing one or a pre-zero'ed one. - Make some functions static. - A bit of code restructure. Updates: gluster#1000 Signed-off-by: Yaniv Kaul <[email protected]>
In some cases, we can return early - when iatt structure is NULL. Specifically, this happens when we call those functions in part of MAKE_INODE_HANDLE() macro - which in some cases is not using that structure. This saves us few calls. Specifically, we do not need to fetch mdata xattr, which may save us from some lgetxattr() and such. Updates: gluster#1000 Signed-off-by: Yaniv Kaul <[email protected]>
…art with zero's uuid_compare (https://github.com/cloudbase/libuuid/blob/master/compare.c ) can be skipped, if the UUID doesn't start with all zero's. Updates: gluster#1000 Signed-off-by: Yaniv Kaul <[email protected]>
Updates: gluster#1000 Signed-off-by: Yaniv Kaul <[email protected]>
Make it more readable Remove unused parameters Reduce redunandat work Don't query errno if not needed Updates: gluster#1000 Signed-off-by: Yaniv Kaul <[email protected]>
In some functions (posix_writev, fallocate, ...) it is used to be called unconditionally. However, it doesn't need to be - only when we need ctx to do locking. Updates: gluster#1000 Signed-off-by: Yaniv Kaul <[email protected]>
…e path We fetch it once (in posix_writev() or posix_writev_fill_rsp_dict() in io_uring code) and then again in _fill_writev_xdata(). Signed-off-by: Yaniv Kaul <[email protected]> Updates: gluster#1000
…e path We fetch it once (in posix_writev() or posix_writev_fill_rsp_dict() in io_uring code) and then again in _fill_writev_xdata(). Signed-off-by: Yaniv Kaul <[email protected]> Updates: gluster#1000
The key can be a pointer, pointing to the xattr, instead of copying it. Updates: gluster#1000 Signed-off-by: Yaniv Kaul <[email protected]>
fuse-bridge.c:433:13: warning: the comparison will always evaluate as 'true' for the address of 'name' will never be NULL [-Waddress] 433 | if (dentry->name) { | ^~~~~~ In file included from ../../../../libglusterfs/src/glusterfs/statedump.h:15, from fuse-bridge.h:23, from fuse-bridge.c:14: ../../../../libglusterfs/src/glusterfs/inode.h:76:10: note: 'name' declared here 76 | char name[]; /* name of the directory entry */ | ^~~~ Updates: gluster#1000 Signed-off-by: Yaniv Kaul <[email protected]>
- Reduced an allocation for the name, made it part of the item allocated. - Kept the length of the name - for faster searches - Made some functions static, code cleanups Updates: gluster#1000 Signed-off-by: Yaniv Kaul <[email protected]>
- Reduced an allocation for the name, made it part of the item allocated. - Kept the length of the name - for faster searches - Made some functions static, code cleanups Updates: gluster#1000 Signed-off-by: Yaniv Kaul <[email protected]>
fuse-bridge.c:433:13: warning: the comparison will always evaluate as 'true' for the address of 'name' will never be NULL [-Waddress] 433 | if (dentry->name) { | ^~~~~~ In file included from ../../../../libglusterfs/src/glusterfs/statedump.h:15, from fuse-bridge.h:23, from fuse-bridge.c:14: ../../../../libglusterfs/src/glusterfs/inode.h:76:10: note: 'name' declared here 76 | char name[]; /* name of the directory entry */ | ^~~~ Updates: #1000 Signed-off-by: Yaniv Kaul <[email protected]>
- Reduced an allocation for the name, made it part of the item allocated. - Kept the length of the name - for faster searches - Made some functions static, code cleanups Updates: #1000 Signed-off-by: Yaniv Kaul <[email protected]>
…e path (#4362) We fetch it once (in posix_writev() or posix_writev_fill_rsp_dict() in io_uring code) and then again in _fill_writev_xdata(). Updates: #1000 Signed-off-by: Yaniv Kaul <[email protected]>
In some cases, we can return early - when iatt structure is NULL. Specifically, this happens when we call those functions in part of MAKE_INODE_HANDLE() macro - which in some cases is not using that structure. This saves us few calls. Specifically, we do not need to fetch mdata xattr, which may save us from some lgetxattr() and such. Updates: #1000 Signed-off-by: Yaniv Kaul <[email protected]>
- posix_readdirp_fill() does not need to copy or zero a gfid on every iteration: use an existing one or a pre-zero'ed one. - Make some functions static. - A bit of code restructure. Updates: #1000 Signed-off-by: Yaniv Kaul <[email protected]>
* inode.c: do not call uuid_compare() to test for root if it doesn't start with zero's uuid_compare (https://github.com/cloudbase/libuuid/blob/master/compare.c ) can be skipped, if the UUID doesn't start with all zero's. Updates: #1000 Signed-off-by: Yaniv Kaul <[email protected]> * posix_handle_gfid_path(): call uuid_utoa() only if needed. Updates: #1000 Signed-off-by: Yaniv Kaul <[email protected]> --------- Signed-off-by: Yaniv Kaul <[email protected]>
Make it more readable Remove unused parameters Reduce redunandat work Don't query errno if not needed Updates: #1000 Signed-off-by: Yaniv Kaul <[email protected]>
URL: https://bugzilla.redhat.com/1193929
Creator: jdarcy at redhat
Time: 20150218T15:06:47
I hope this bug is never fixed.
The upstream patch process requires that each patch have an associated bug ID before it can be merged. However, there is no requirement that the bug contain any information or receive any kind of signoff before the patch can proceed. As a result, many of our developers have the habit of creating such "placeholder" bugs every time they want to make a change, even if it's just a random cleanup/idea and not an actual bug fix or requested/tracked feature request. Also, any patch with the dreaded "rfc" bug ID (which would be appropriate for such changes) is unlikely to be reviewed.
This bug exists to satisfy our process requirement, without the additional negatives of clogging up our triage/tracking processes and making it appear that the code has more bugs (which would be bad) when in fact a developer had more ideas (which is generally good).
The text was updated successfully, but these errors were encountered: