+++ This bug was initially created as a clone of Bug #1302307 +++ Description of problem: vi or vim is not working with trashcan feature of glusterfs via non-root user. Version-Release number of selected component (if applicable): Glusterfs 3.7.6 How reproducible: You can reproduce by using following steps Steps to Reproduce: We are using gluster 3.7.6 on ubuntu 14.04. We are facing an issue with trashcan feature. Our scenario is as follow: 1. 2 node server (ubuntu 14.04 with glusterfs 3.7.6) 2. 1 client node (ubuntu 14.04) 3. I have created one volume vol1 with 2 bricks in replica and with transport = tcp mode. 4. I have enabled quota on vol1 5. Now I have enabled trashcan feature on vol1 6. Now I have mounted vol1 on client's home directory "mount -t glusterfs -o transport=tcp server-1:/vol1 /home/" 7. Now when I logged in via any existing non-root user and perform any editing via vim or vi editor then I am getting this error "E200: *ReadPre autocommands made the file unreadable" and my user's home directory permission also get changed to 000. After sometime this permission gets automatically back to original one. (NOTE: user's home directories are copied in mounted directory glusterfs volume vol1. And user's home directory have user's specific permissions) Actual results: got this error "E200: *ReadPre autocommands made the file unreadable" while editing any file via vim or vi editor Expected results: I should able to edit any file via vim or vi editor Additional info: May be this issue related to vim working style format since vim or vi have to create a swap file for editing. --- Additional comment from Vijay Bellur on 2016-02-03 08:27:11 EST --- REVIEW: http://review.gluster.org/13346 (features/trash: Handle unlink unwind properly) posted (#1) for review on master by Anoop C S (anoopcs) --- Additional comment from Vijay Bellur on 2016-02-04 12:15:06 EST --- COMMIT: http://review.gluster.org/13346 committed in master by Jeff Darcy (jdarcy) ------ commit b609a55be4119c44b19252bd951780a78deb21c9 Author: Anoop C S <anoopcs> Date: Wed Feb 3 18:24:20 2016 +0530 features/trash: Handle unlink unwind properly When enabled, trash translator does a rename internally for every unlink request and unwinds the original unlink call. But this was unwinded back with prerparent and postparent as NULL which resulted in changing the parent directory permissions to 000. This issue is consistently seen as a failure when a non-root user executes vim commands which internally tries to perform stat operations (as part of swap/backup file creation) on a file whose parent directory's permission was modified to 000 due to recent unlink for another file inside the same directory. Change-Id: I161a036b37fb815866d50d2d6260ff0ad22d7223 BUG: 1302307 Signed-off-by: Anoop C S <anoopcs> Reviewed-on: http://review.gluster.org/13346 Smoke: Gluster Build System <jenkins.com> Tested-by: jiffin tony Thottan <jthottan> Reviewed-by: jiffin tony Thottan <jthottan> CentOS-regression: Gluster Build System <jenkins.com> NetBSD-regression: NetBSD Build System <jenkins.org>
REVIEW: http://review.gluster.org/13401 (features/trash: Handle unlink unwind properly) posted (#2) for review on release-3.7 by Anoop C S (anoopcs)
REVIEW: http://review.gluster.org/13401 (features/trash: Handle unlink unwind properly) posted (#3) for review on release-3.7 by Anoop C S (anoopcs)
REVIEW: http://review.gluster.org/13401 (features/trash: Handle unlink unwind properly) posted (#4) for review on release-3.7 by Anoop C S (anoopcs)
REVIEW: http://review.gluster.org/13401 (features/trash: Handle unlink unwind properly) posted (#5) for review on release-3.7 by Anoop C S (anoopcs)
COMMIT: http://review.gluster.org/13401 committed in release-3.7 by Vijay Bellur (vbellur) ------ commit ccdfd9f8550e1d1f9d311eb997f23c9b10c7a70b Author: Anoop C S <anoopcs> Date: Wed Feb 3 18:24:20 2016 +0530 features/trash: Handle unlink unwind properly When enabled, trash translator does a rename internally for every unlink request and unwinds the original unlink call. But this was unwinded back with prerparent and postparent as NULL which resulted in changing the parent directory permissions to 000. This issue is consistently seen as a failure when a non-root user executes vim commands which internally tries to perform stat operations (as part of swap/backup file creation) on a file whose parent directory's permission was modified to 000 due to recent unlink for another file inside the same directory. >Change-Id: I161a036b37fb815866d50d2d6260ff0ad22d7223 >BUG: 1302307 >Signed-off-by: Anoop C S <anoopcs> >Reviewed-on: http://review.gluster.org/13346 >Smoke: Gluster Build System <jenkins.com> >Tested-by: jiffin tony Thottan <jthottan> >Reviewed-by: jiffin tony Thottan <jthottan> >CentOS-regression: Gluster Build System <jenkins.com> >NetBSD-regression: NetBSD Build System <jenkins.org> (cherry picked from commit b609a55be4119c44b19252bd951780a78deb21c9) Signed-off-by: Anoop C S <anoopcs> Change-Id: I88950b7d2e42bda65272bc359e8dc60a2ce04d89 BUG: 1305749 Reviewed-on: http://review.gluster.org/13401 NetBSD-regression: NetBSD Build System <jenkins.org> CentOS-regression: Gluster Build System <jenkins.com> Reviewed-by: jiffin tony Thottan <jthottan> Reviewed-by: Vijay Bellur <vbellur> Smoke: Gluster Build System <jenkins.com>
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.9, please open a new bug report. glusterfs-3.7.9 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] https://www.gluster.org/pipermail/gluster-users/2016-March/025922.html [2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user