+++ This bug was initially created as a clone of Bug #1437763 +++ Description of problem: file is truncated on File level WORM volume. Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. create worm volume (File Level) $ gluster volume create vol_repl gm0604:/home/glu_test $ gluster volume set vol_repl features.worm-file-level "on" $ gluster volume set vol_repl features.worm "off" $ gluster volume set vol_repl features.auto-commit-period 1 $ gluster volume set vol_repl features.retention-mode relax $ gluster volume start vol_repl $ mount -t glusterfs -o worm gm0604:/vol_repl /home/glu_gate Volume Name: vol_repl Type: Distribute Volume ID: 603d32ef-9290-423d-8a66-20776d4ef252 Status: Started Snapshot Count: 0 Number of Bricks: 1 Transport-type: tcp Bricks: Brick1: gm0604:/home/glu_test Options Reconfigured: nfs.disable: on performance.readdir-ahead: on transport.address-family: inet features.worm-file-level: on features.worm: off features.auto-commit-period: 1 features.retention-mode: relax 2. create file on WORM volume (File Level) $ cd /home/glu_gate $ ls -l / > test1 $ ls -l total 2 -rw-r--r-- 1 root root 1786 Feb 17 09:16 test1 3. delete or overwrite a file on WORM volume (File Level) $ rm test1 rm: remove regular file 'test1'? y rm: cannot remove 'test1': Read-only file system $ ls -l / > test1 ls: write error: Read-only file system $ ls -l total 0 -rw-r--r-- 1 root root 0 Feb 17 09:16 test1 Actual results: - the file should not be changed. Expected results: - the file should not be truncated. Additional info: --- Additional comment from Geunmoon Oh on 2017-03-31 02:38:28 EDT --- i corrected some explanation. Actual results: - the file was truncated. Related github issue: https://github.com/gluster/glusterfs/issues/123
REVIEW: https://review.gluster.org/16995 (features/worm: Adding implementation for ftruncate) posted (#1) for review on master by Karthik U S (ksubrahm)
REVIEW: https://review.gluster.org/16995 (features/worm: Adding implementation for ftruncate) posted (#2) for review on master by Karthik U S (ksubrahm)
COMMIT: https://review.gluster.org/16995 committed in master by Niels de Vos (ndevos) ------ commit c5a4a77848024d2adf8cd4f35d550ba90c174fc7 Author: karthik-us <ksubrahm> Date: Tue Apr 4 18:57:32 2017 +0530 features/worm: Adding implementation for ftruncate Problem: Since the ftruncate fop was not handled in the worm feature, when truncate and write was happening on a worm-retained/worm file, it was giving the EROFS error but truncating the file, which is not correct. Change-Id: I1a7e904655210d78bce9e01652ac56f3783b5aed BUG: 1438810 Signed-off-by: karthik-us <ksubrahm> Reviewed-on: https://review.gluster.org/16995 NetBSD-regression: NetBSD Build System <jenkins.org> Reviewed-by: Niels de Vos <ndevos> CentOS-regression: Gluster Build System <jenkins.org> Reviewed-by: Ravishankar N <ravishankar> Smoke: Gluster Build System <jenkins.org> Reviewed-by: Amar Tumballi <amarts> Reviewed-by: Raghavendra Talur <rtalur>
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.11.0, please open a new bug report. glusterfs-3.11.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://lists.gluster.org/pipermail/announce/2017-May/000073.html [2] https://www.gluster.org/pipermail/gluster-users/