Description of problem: inode_link is sometimes called with a trailing '/'. Lookup, dentry operations like link/unlink/mkdir/rmdir/rename etc come without trailing '/' so the stale dentry with '/' remains in the dentry list of the inode. Version-Release number of selected component (if applicable): How reproducible: always with quota Steps to Reproduce: 1. create plain replicate volume 'r2' 2. create a directory hierarcy a/b/c 3. open fd exec 5>a/b/c/f.txt 4. kill 1st brick and restart it 5. write something to fd i.e. echo abc >&5 6. This populates dentries with names with trailing '/' Actual results: Expected results: Additional info:
REVIEW: http://review.gluster.org/9004 (inode: Canonicalize filename for dentry creation) posted (#1) for review on master by Pranith Kumar Karampuri (pkarampu)
REVIEW: http://review.gluster.org/9004 (inode: Handle '/' in basename in inode_link/unlink) posted (#2) for review on master by Pranith Kumar Karampuri (pkarampu)
REVIEW: http://review.gluster.org/9004 (inode: Handle '/' in basename in inode_link/unlink) posted (#3) for review on master by Pranith Kumar Karampuri (pkarampu)
COMMIT: http://review.gluster.org/9004 committed in master by Vijay Bellur (vbellur) ------ commit 0d7fd69b01cf9aebb4f1517f064e89ff65b9ccf8 Author: Pranith Kumar K <pkarampu> Date: Thu Oct 30 10:56:17 2014 +0530 inode: Handle '/' in basename in inode_link/unlink Problem: inode_link is sometimes called with a trailing '/'. Lookup, dentry operations like link/unlink/mkdir/rmdir/rename etc come without trailing '/' so the stale dentry with '/' remains in the dentry list of the inode. Fix: Add assert checks and return NULL for '/' in bname. Fix ancestry building code to call without '/' at the end. Change-Id: I9c71292a3ac27754538a4e75e53290e182968fad BUG: 1158751 Signed-off-by: Pranith Kumar K <pkarampu> Reviewed-on: http://review.gluster.org/9004 Reviewed-by: Niels de Vos <ndevos> Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Vijay Bellur <vbellur>
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.7.0, please open a new bug report. glusterfs-3.7.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://thread.gmane.org/gmane.comp.file-systems.gluster.devel/10939 [2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user