| Summary: | ls on booster VMP results in error: "File descriptor in bad state" | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Community] GlusterFS | Reporter: | Shehjar Tikoo <shehjart> | ||||||||||
| Component: | write-behind | Assignee: | Raghavendra G <raghavendra> | ||||||||||
| Status: | CLOSED CURRENTRELEASE | QA Contact: | |||||||||||
| Severity: | medium | Docs Contact: | |||||||||||
| Priority: | high | ||||||||||||
| Version: | mainline | CC: | gluster-bugs, rabhat | ||||||||||
| 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: | RTA | Mount Type: | --- | ||||||||||
| Documentation: | --- | CRM: | |||||||||||
| Verified Versions: | Category: | --- | |||||||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||||||
| Attachments: |
|
||||||||||||
Created attachment 67 [details]
Please use this one, the other one contained a minor oversight
Created attachment 68 [details]
Fixed xtermfix (patch)
Created attachment 69 [details]
Patch for /etc/termcap which fixes the described problems
The test was done my me on release-2.0 branch but the fix needs to be committed to both mainline and r2. Reported by Wei Dong on gluster-users and confirmed by myself. For the attached log files and booster.conf, the following command results in an error: root@indus:glusterfs# LD_PRELOAD=/usr/local/lib/glusterfs/glusterfs-booster.so ls /gluster ls: closing directory /gluster: File descriptor in bad state root@indus:glusterfs# The log file, shoes the following error message: [2009-09-15 11:28:38] D [booster.c:1738:closedir] booster: closedir on gluster [2009-09-15 11:28:38] D [write-behind.c:1705:wb_flush] client: write behind file pointer is not stored in context of fd(0x628230), returning EBADFD The close dir in booster is resulting in a wb_flush which expects a fd context to be stored for every fd_t. The fix requires that we add a special case of directories since write-behind does not handle directory fops. PATCH: http://patches.gluster.com/patch/1383 in master (performance/write-behind: check for the presence of context only in fds not opened on directories.) PATCH: http://patches.gluster.com/patch/1382 in release-2.0 (performance/write-behind: check for the presence of context only in fds not opened on directories.) Crashes are observed because of lack of NULL checks on file pointer. PATCH: http://patches.gluster.com/patch/1489 in release-2.0 (performance/write-behind: Add NULL checks for file pointer.) PATCH: http://patches.gluster.com/patch/1490 in release-2.0 (write-behind: check for NULL file pointer in flush callback) PATCH: http://patches.gluster.com/patch/1834 in master (performance/write-behind: Refining the check for fd_ctx in fds) |
Created attachment 66 [details] This gzipped patch should fix the probe output parsing