Bug 1240991

Summary: Quota: After rename operation , gluster v quota <volname> list-objects command give incorrect no. of files in output
Product: [Community] GlusterFS Reporter: Vijaikumar Mallikarjuna <vmallika>
Component: quotaAssignee: Vijaikumar Mallikarjuna <vmallika>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: urgent Docs Contact:
Priority: unspecified    
Version: mainlineCC: ashah, bugs, gluster-bugs, rgowdapp, smohan, storage-qa-internal, vmallika
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: x86_64   
OS: All   
Whiteboard:
Fixed In Version: glusterfs-3.8rc2 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1240918
: 1255244 (view as bug list) Environment:
Last Closed: 2016-06-16 13:21:35 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: 1240918    
Bug Blocks: 1255244    

Comment 1 Anand Avati 2015-07-08 10:10:47 UTC
REVIEW: http://review.gluster.org/11578 (quota/marker: fix inode quota with rename) posted (#1) for review on master by Vijaikumar Mallikarjuna (vmallika)

Comment 2 Anand Avati 2015-07-08 10:27:30 UTC
REVIEW: http://review.gluster.org/11578 (quota/marker: fix inode quota with rename) posted (#2) for review on master by Vijaikumar Mallikarjuna (vmallika)

Comment 3 Anand Avati 2015-07-12 03:21:01 UTC
REVIEW: http://review.gluster.org/11578 (quota/marker: fix inode quota with rename) posted (#3) for review on master by Vijaikumar Mallikarjuna (vmallika)

Comment 4 Anand Avati 2015-07-17 10:53:53 UTC
REVIEW: http://review.gluster.org/11578 (quota/marker: fix inode quota with rename) posted (#4) for review on master by Vijaikumar Mallikarjuna (vmallika)

Comment 5 Anand Avati 2015-07-17 10:59:22 UTC
REVIEW: http://review.gluster.org/11578 (quota/marker: fix inode quota with rename) posted (#5) for review on master by Vijaikumar Mallikarjuna (vmallika)

Comment 6 Anand Avati 2015-07-17 12:04:22 UTC
REVIEW: http://review.gluster.org/11578 (quota/marker: fix inode quota with rename) posted (#6) for review on master by Vijaikumar Mallikarjuna (vmallika)

Comment 7 Anand Avati 2015-07-17 12:07:34 UTC
REVIEW: http://review.gluster.org/11578 (quota/marker: fix inode quota with rename) posted (#7) for review on master by Vijaikumar Mallikarjuna (vmallika)

Comment 8 Anand Avati 2015-07-21 09:54:14 UTC
REVIEW: http://review.gluster.org/11578 (quota/marker: fix inode quota with rename) posted (#8) for review on master by Vijaikumar Mallikarjuna (vmallika)

Comment 9 Anand Avati 2015-07-22 03:23:15 UTC
REVIEW: http://review.gluster.org/11578 (quota/marker: fix inode quota with rename) posted (#9) for review on master by Vijaikumar Mallikarjuna (vmallika)

Comment 10 Anand Avati 2015-08-05 08:52:37 UTC
REVIEW: http://review.gluster.org/11578 (quota/marker: fix inode quota with rename) posted (#10) for review on master by Vijaikumar Mallikarjuna (vmallika)

Comment 11 Anand Avati 2015-08-05 10:27:42 UTC
REVIEW: http://review.gluster.org/11578 (quota/marker: fix inode quota with rename) posted (#11) for review on master by Vijaikumar Mallikarjuna (vmallika)

Comment 12 Anand Avati 2015-08-05 10:33:44 UTC
REVIEW: http://review.gluster.org/11578 (quota/marker: fix inode quota with rename) posted (#12) for review on master by Vijaikumar Mallikarjuna (vmallika)

Comment 13 Anand Avati 2015-08-05 11:03:56 UTC
REVIEW: http://review.gluster.org/11578 (quota/marker: fix inode quota with rename) posted (#13) for review on master by Vijaikumar Mallikarjuna (vmallika)

Comment 14 Anand Avati 2015-08-05 14:31:45 UTC
REVIEW: http://review.gluster.org/11578 (quota/marker: fix inode quota with rename) posted (#14) for review on master by Vijaikumar Mallikarjuna (vmallika)

Comment 15 Anand Avati 2015-08-12 16:07:38 UTC
REVIEW: http://review.gluster.org/11578 (quota/marker: fix inode quota with rename) posted (#15) for review on master by Vijaikumar Mallikarjuna (vmallika)

Comment 16 Anand Avati 2015-08-12 16:11:32 UTC
REVIEW: http://review.gluster.org/11578 (quota/marker: fix inode quota with rename) posted (#16) for review on master by Vijaikumar Mallikarjuna (vmallika)

Comment 17 Anand Avati 2015-08-13 07:30:56 UTC
REVIEW: http://review.gluster.org/11578 (quota/marker: fix inode quota with rename) posted (#17) for review on master by Vijaikumar Mallikarjuna (vmallika)

Comment 18 Anand Avati 2015-08-19 17:44:18 UTC
COMMIT: http://review.gluster.org/11578 committed in master by Raghavendra G (rgowdapp) 
------
commit 4efc8ea17f8452cf5a5f3a504419c1269d332d79
Author: vmallika <vmallika>
Date:   Sun Jul 12 08:49:49 2015 +0530

    quota/marker: fix inode quota with rename
    
    There are three problems with marker-rename which
    is fixed in this patch
    
    Problem 1)
    1) mq_reduce_parent_size is not handling inode-quota contribution
    2) When dest files exists and IO is happening
       Now renaming will overwrite existing file
       mq_reduce_parent_size called on dest file
       with saved contribution, this can be
       a problem is IO is still happening
       contribution might have changed
    
    Problem 2)
    There is a small race between rename and in-progress write
    Consider below scenario
    1) rename FOP invoked on file 'x'
    2) write is still in progress for file 'x'
    3) rename takes a lock on old-parent
    4) write-update txn blocked on old-parent to acquire lock
    5) in rename_cbk, contri xattrs are removed and contribution is deleted and
       lock is released
    6) now write-update txn gets the lock and updates the wrong parent
       as it was holding lock on old parent
       so validate parent once the lock is acquired
    
    Problem 3)
    when a rename operation is performed, a lock is
    held on old parent. This lock is release before
    unwinding the rename operation.
    This can be a problem if there are in-progress
    writes happening during rename, where update txn
    can take a lock and update the old parent
    as inode table is not updated with new parent
    
    Change-Id: Ic3316097c001c33533f98592e8fcf234b1ee2aa2
    BUG: 1240991
    Signed-off-by: vmallika <vmallika>
    Reviewed-on: http://review.gluster.org/11578
    Tested-by: Gluster Build System <jenkins.com>
    Tested-by: NetBSD Build System <jenkins.org>
    Reviewed-by: Raghavendra G <rgowdapp>

Comment 19 Nagaprasad Sathyanarayana 2015-10-25 15:06:28 UTC
Fix for this BZ is already present in a GlusterFS release. You can find clone of this BZ, fixed in a GlusterFS release and closed. Hence closing this mainline BZ as well.

Comment 20 Niels de Vos 2016-06-16 13:21:35 UTC
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.8.0, please open a new bug report.

glusterfs-3.8.0 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] http://blog.gluster.org/2016/06/glusterfs-3-8-released/
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user