Bug 1461231
Summary: | [RFE] Support OFD locking constants, but disable them for 32-bit offsets (not following upstream) (glibc) | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Ademar Reis <areis> |
Component: | glibc | Assignee: | DJ Delorie <dj> |
Status: | CLOSED ERRATA | QA Contact: | Alexandra Petlanová Hájková <ahajkova> |
Severity: | unspecified | Docs Contact: | Tomas Capek <tcapek> |
Priority: | unspecified | ||
Version: | 7.4 | CC: | ahajkova, ashankar, bcodding, bfields, codonell, darren.p.kenny, dj, esandeen, famz, fs-maint, fs-qe, fweimer, glibc-bugzilla, jlayton, lmiksik, mnewsome, pfrankli, skolosov, xzhou |
Target Milestone: | rc | Keywords: | FutureFeature, Patch |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | glibc-2.17-239.el7 | Doc Type: | Enhancement |
Doc Text: |
New OFD Locking constants for 64-bit-offset programs
Open File Descriptor (OFD) locks are superior to per-process locks for some applications. With this update, 64-bit-offset programs (those that have `#define _FILE_OFFSET_BITS 64`) are able to use the `F_OFD_*` constants in system calls, although they still need to detect if the kernel supports those operations. Note that programs which use 32-bit file offsets do not have access to these constants, as the RHEL 7 ABI does not support translating them.
|
Story Points: | --- |
Clone Of: | 1444778 | Environment: | |
Last Closed: | 2018-10-30 09:36:24 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: | 1444778 | ||
Bug Blocks: | 1378241, 1515811, 1565233 |
Description
Ademar Reis
2017-06-14 01:28:10 UTC
We are currently in the practice of adding new constants to header files to enable kernel functionality, and this is just such a request, so we shouldn't have any real problem adding this to rhel-7.5. The upstream commit is here: commit 0961f7e1e300ef633b0c1ad95d0999fb5c169f4e Author: Jeff Layton <jlayton> Date: Wed Jul 23 14:21:05 2014 -0400 fcntl-linux.h: add new definitions and manual updates for open file description locks Open file description locks have been merged into the Linux kernel for v3.15. Add the appropriate command-value definitions and an update to the manual that describes their usage. One concern is that the upstream API for this is still somewhat inconsistent (see swbz#20251). On the other hand, what is currently upstream is probably better than no support at all. Interesting, I hadn't seen that swbz before. That's something that we should fix upstream. The original idea was to make these unavailable without large file offsets, IIRC. I'm fine with making such programs fail to compile. Maybe the F_OFD_* constants should be inside a #ifdef __USE_LARGEFILE64 condition? I verified the provided example ofdlocks.c doesn't compile for the version glibc-2.17-238.el7 because of error: ‘F_OFD_SETLKW’ undeclared and error: ‘F_OFD_SETLK’ undeclared and compiles (with -D_FILE_OFFSET_BITS=64) and executes for the version glibc-2.17-239.el7. https://beaker.engineering.redhat.com/jobs/2757497 https://beaker.engineering.redhat.com/jobs/2758482 Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2018:3092 |