Bug 1024338

Summary: quota: quotad down on all nodes and file/directory creation may result in Input/Output error
Product: [Red Hat Storage] Red Hat Gluster Storage Reporter: Saurabh <saujain>
Component: quotaAssignee: krishnan parthasarathi <kparthas>
Status: CLOSED NOTABUG QA Contact: storage-qa-internal <storage-qa-internal>
Severity: high Docs Contact:
Priority: medium    
Version: 2.1CC: mzywusko, nsathyan, rhs-bugs, storage-qa-internal, vbellur, vmallika
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-01-12 06:05:58 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:

Description Saurabh 2013-10-29 12:39:44 UTC
Description of problem:
Well, lets we have a volume having quota enabled and limit set.
Mount the volume over nfs.
now, put "quotad" down, basically kill quotad on all nodes of the cluster.
Try to create a directory or file it may return an "Input/Output error"
Once, it starts giving this issue, further creation of directories/files keeps giving the same issue.

Catch over here is that, all the bricks and nfs process is running. 
So, quotad just an aggregator of quota limit should not cause issue for I/O. 

Version-Release number of selected component (if applicable):
glusterfs-3.4.0.36rhs

How reproducible:
many a times.

Steps to Reproduce:
1. create volume, start it.
2. enable quota, limit set on the root of the volume
3. mount over nfs
4. create a directory.
5. kill quotad process on all the nodes.
6. set a limit on the directory created in step4.
7. trying data inside the directory.

Actual results:
step 6. limit set successful
step 7. resulted in Input/Output error

Expected results:
EIO should not happen, as I/O does not depend upon the quotad, as presently the brick processes and nfs process is still running.

Additional info:
having four nodes
after killing quotad on all nodes,

from server,
[root@quota3 ~]# gluster volume quota dist-rep3 limit-usage /qa7 1GB
volume quota : success



from client,
[root@rhsauto005 nfs-test]# cd qa7
[root@rhsauto005 qa7]# touch a
touch: cannot touch `a': Input/output error
[root@rhsauto005 qa7]# 

also,
[root@quota3 ~]# gluster volume quota dist-rep3 remove /qa8 
volume quota : success

[root@rhsauto005 qa7]# cd ../qa8
[root@rhsauto005 qa8]# touch a1
touch: cannot touch `a1': Input/output error
[root@rhsauto005 qa8]#

Comment 3 Vijaikumar Mallikarjuna 2015-01-12 06:05:58 UTC
Without quotad running, enforcing cannot be done. Skip quota enforce when quotad is not running can cause other problem, like we can run out of quota limit.
For quota to work properly we need to quotad also running, so closing this bug as NOTABUG