Bug 762417 (GLUSTER-685)

Summary: writing to a file fails complaining of "Transport endpoint not being connected"
Product: [Community] GlusterFS Reporter: Raghavendra G <raghavendra>
Component: quotaAssignee: Raghavendra G <raghavendra>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: mainlineCC: gluster-bugs, rabhat, shehjart
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: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Raghavendra G 2010-02-25 10:36:47 UTC
quota in its write call does,
1. gets stat of the file.
2. continues with write if quota is not exceeded.

between 1 and 2, the arguments are stored in a structure stored in frame->local. While doing so, the pointer to vector is stored instead of copying the entire vector structure. This results in accessing invalid memory during 2, hence causing invalid iov_base and iov_len. Due to this transport may not transfer the buffer, since iov_len may be arbitrarily high.

Comment 1 Anand Avati 2010-03-02 13:22:00 UTC
PATCH: http://patches.gluster.com/patch/2818 in master (features/quota: store the entire vector in local instead of just a pointer to it in writev.)

Comment 2 Anand Avati 2010-03-02 13:22:07 UTC
PATCH: http://patches.gluster.com/patch/2855 in master (features/quota: Remember '/' loc_t to initiate xattr calls.)

Comment 3 Anand Avati 2010-03-02 13:22:11 UTC
PATCH: http://patches.gluster.com/patch/2819 in release-2.0 (features/quota: store the entire vector in local instead of just a pointer to it in writev.)

Comment 4 Anand Avati 2010-03-02 13:22:19 UTC
PATCH: http://patches.gluster.com/patch/2857 in release-3.0 (features/quota: Remember '/' loc_t to initiate xattr calls.)

Comment 5 Anand Avati 2010-03-11 04:25:38 UTC
PATCH: http://patches.gluster.com/patch/2818 in release-3.0 (features/quota: store the entire vector in local instead of just a pointer to it in writev.)