Bug 1332397
Summary: | posix: Set correct d_type for readdirp() calls | ||
---|---|---|---|
Product: | [Community] GlusterFS | Reporter: | Prashanth Pai <ppai> |
Component: | posix | Assignee: | Prashanth Pai <ppai> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | |
Severity: | low | Docs Contact: | |
Priority: | low | ||
Version: | 3.7.11 | CC: | bugs, ndevos, thiago |
Target Milestone: | --- | Keywords: | Performance, Triaged |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | glusterfs-3.7.12 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | 1175711 | Environment: | |
Last Closed: | 2016-06-28 11:09:26 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 1175711 | ||
Bug Blocks: | 1332396 |
Description
Prashanth Pai
2016-05-03 06:30:11 UTC
REVIEW: http://review.gluster.org/14176 (posix: Set correct d_type for readdirp() calls) posted (#1) for review on release-3.7 by Prashanth Pai (ppai) COMMIT: http://review.gluster.org/14176 committed in release-3.7 by Niels de Vos (ndevos) ------ commit a0ae826a7413e1ad0a5796201d156d8d915c93ad Author: Prashanth Pai <ppai> Date: Wed Apr 27 13:37:07 2016 +0530 posix: Set correct d_type for readdirp() calls dirent.d_type can contain the type of the directory entry. The 'd_type' struct member in dirent is present in Linux and many BSD flavours. However, filling d_type with correct value requires support from the underlying filesystem. If not, d_type is set to DT_UNKNOWN. XFS added support for d_type as part of their newer version 5 on-disk format. However, this requires Linux >= 3.15, xfsprogs >= 3.2.0 and the bricks to be formatted using the new format. This patch enables posix xlator to set d_type to the right value even when the underlying filesystem does not support it. d_type can be set using information previously fetched by stat() on the dir entry. This will aid FUSE applications to leverage d_type to avoid the expense of calling lstat() if further actions depend on the type of the file. Refer `man 3 readdir` and `man 2 getdents` > Change-Id: Ic5a262fe4c64122726b4fae2d1bea375c559ca04 > Signed-off-by: Prashanth Pai <ppai> > Reviewed-on: http://review.gluster.org/14095 > Smoke: Gluster Build System <jenkins.com> > NetBSD-regression: NetBSD Build System <jenkins.org> > CentOS-regression: Gluster Build System <jenkins.com> > Reviewed-by: Jeff Darcy <jdarcy> (cherry picked from commit 77def44d497d090ef3f393b6d9403c1a29dcf993) Change-Id: I8de1e643dbe88c57eb7a946357283f46c30ae701 BUG: 1332397 Signed-off-by: Prashanth Pai <ppai> Reviewed-on: http://review.gluster.org/14176 Smoke: Gluster Build System <jenkins.com> Tested-by: Gluster Build System <jenkins.com> NetBSD-regression: NetBSD Build System <jenkins.org> CentOS-regression: Gluster Build System <jenkins.com> Reviewed-by: Niels de Vos <ndevos> This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.7.12, please open a new bug report. glusterfs-3.7.12 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution. [1] https://www.gluster.org/pipermail/gluster-devel/2016-June/049918.html [2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user |