Bug 1484487

Summary: File-level WORM allows mv over read-only files
Product: [Community] GlusterFS Reporter: Lucas Ferreira <luneo7>
Component: unclassifiedAssignee: bugs <bugs>
Status: CLOSED EOL QA Contact:
Severity: high Docs Contact:
Priority: unspecified    
Version: 3.11CC: bugs
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard: worm
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1480788 Environment:
Last Closed: 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 Lucas Ferreira 2017-08-23 17:45:54 UTC
+++ This bug was initially created as a clone of Bug #1480788 +++

Description of problem:

It is possible to move one recently created file over a read only file, overwriting it.

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

3.10 and 3.11

How reproducible:


Steps to Reproduce:

1. create a worm volume file level
$ gluster volume create v1 replica 3 172.17.0.{2,3,4}:/mnt/v1 force
$ gluster volume set v1 features.read-only "off"
$ gluster volume set v1 features.worm "off"
$ gluster volume set v1 features.worm-file-level "on"
$ gluster volume set v1 features.retention-mode relax
$ gluster volume set v1 features.auto-commit-period 20
$ gluster volume set v1 features.default-retention-period 600
$ gluster volume start v1
$ mount -t glusterfs 172.17.0.2:/v1 /home/lucas/storage

Volume Name: v1
Type: Replicate
Volume ID: 72a968d9-9aaa-4cde-9954-4e5a91065abf
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 3 = 3
Transport-type: tcp
Bricks:
Brick1: 172.17.0.2:/mnt/v1
Brick2: 172.17.0.3:/mnt/v1
Brick3: 172.17.0.4:/mnt/v1
Options Reconfigured:
features.default-retention-period: 600
features.auto-commit-period: 20
features.retention-mode: relax
features.worm-file-level: on
features.worm: off
features.read-only: off
transport.address-family: inet
nfs.disable: on

2. create file on WORM volume (File Level)
$ cd /home/lucas/storage
$ echo "Hello World" > testfile

3. wait for the auto commit time and try to delete it
$ rm testfile
rm: cannot remove 'testfile': Read-only file system

4. create a new file and do a mv command to overwrite the existing file
$ echo "Aloha" > testfile2
$ mv testfile2 testfile

Actual results:

- The mv command executes successfully and overwrites the read only file.

Expected results:

- The mv command should fail, giving some error regarding a read only file.

Additional info:

Comment 1 Worker Ant 2017-08-23 18:55:18 UTC
REVIEW: https://review.gluster.org/18107 (features/worm: Adding check to newloc when doing rename) posted (#1) for review on release-3.11 by Anonymous Coward

Comment 2 Shyamsundar 2018-06-20 18:28:02 UTC
This bug reported is against a version of Gluster that is no longer maintained (or has been EOL'd). See https://www.gluster.org/release-schedule/ for the versions currently maintained.

As a result this bug is being closed.

If the bug persists on a maintained version of gluster or against the mainline gluster repository, request that it be reopened and the Version field be marked appropriately.

Comment 3 Shyamsundar 2018-06-20 18:28:06 UTC
This bug reported is against a version of Gluster that is no longer maintained
(or has been EOL'd). See https://www.gluster.org/release-schedule/ for the
versions currently maintained.

As a result this bug is being closed.

If the bug persists on a maintained version of gluster or against the mainline
gluster repository, request that it be reopened and the Version field be marked
appropriately.