Bug 1233062
| Summary: | [Backup]: Modify after a rename is getting logged as a rename entry (only) in the outfile | ||
|---|---|---|---|
| Product: | [Red Hat Storage] Red Hat Gluster Storage | Reporter: | Sweta Anandpara <sanandpa> |
| Component: | glusterfind | Assignee: | Milind Changire <mchangir> |
| Status: | CLOSED ERRATA | QA Contact: | Sweta Anandpara <sanandpa> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | rhgs-3.1 | CC: | asrivast, avishwan, khiremat, mchangir, rhs-bugs, storage-qa-internal, vagarwal |
| Target Milestone: | --- | ||
| Target Release: | RHGS 3.1.0 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | glusterfs-3.7.1-8 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2015-07-29 05:05:56 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: | 1228247 | ||
| Bug Blocks: | 1202842, 1223636 | ||
|
Description
Sweta Anandpara
2015-06-18 07:22:19 UTC
The fix for https://bugzilla.redhat.com/show_bug.cgi?id=1228247 also fixes this Downstream Patch: https://code.engineering.redhat.com/gerrit/#/c/52285/ Tested and verified this on the build glusterfs-3.7.1-8.el6rhs.x86_64
Multiple modify's and renames of files across directories, with the same or different names across same/different locations, does log a correct entry in the output file.
Moving this to fixed in 3.1 everglades. Detailed logs are pasted below:
SERVER
=========
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]# gluster v list
testvol
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]# rpm -qa | grep gluster
glusterfs-libs-3.7.1-8.el6rhs.x86_64
glusterfs-fuse-3.7.1-8.el6rhs.x86_64
glusterfs-3.7.1-8.el6rhs.x86_64
glusterfs-api-3.7.1-8.el6rhs.x86_64
glusterfs-cli-3.7.1-8.el6rhs.x86_64
glusterfs-geo-replication-3.7.1-8.el6rhs.x86_64
glusterfs-client-xlators-3.7.1-8.el6rhs.x86_64
glusterfs-server-3.7.1-8.el6rhs.x86_64
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]# gluster v create ozone replica 2 10.70.43.140:/rhs/thinbrick1/ozone 10.70.42.75:/rhs/thinbrick1/ozone 10.70.43.140:/rhs/thinbrick2/ozone 10.70.42.75:/rhs/thinbrick2/ozone
volume create: ozone: success: please start the volume to access data
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]# gluster v info ozone
Volume Name: ozone
Type: Distributed-Replicate
Volume ID: aa2e4386-ab12-4d17-8cf6-894e29e94563
Status: Created
Number of Bricks: 2 x 2 = 4
Transport-type: tcp
Bricks:
Brick1: 10.70.43.140:/rhs/thinbrick1/ozone
Brick2: 10.70.42.75:/rhs/thinbrick1/ozone
Brick3: 10.70.43.140:/rhs/thinbrick2/ozone
Brick4: 10.70.42.75:/rhs/thinbrick2/ozone
Options Reconfigured:
performance.readdir-ahead: on
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]# gluster v start ozone
volume start: ozone: success
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]# gluster v info ozone
Volume Name: ozone
Type: Distributed-Replicate
Volume ID: aa2e4386-ab12-4d17-8cf6-894e29e94563
Status: Started
Number of Bricks: 2 x 2 = 4
Transport-type: tcp
Bricks:
Brick1: 10.70.43.140:/rhs/thinbrick1/ozone
Brick2: 10.70.42.75:/rhs/thinbrick1/ozone
Brick3: 10.70.43.140:/rhs/thinbrick2/ozone
Brick4: 10.70.42.75:/rhs/thinbrick2/ozone
Options Reconfigured:
performance.readdir-ahead: on
[root@dhcp43-140 ~]# glusterfind list
SESSION VOLUME SESSION TIME
---------------------------------------------------------------------------
testvol_session_53 testvol 2015-07-07 00:00:23
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]# glusterfind create so1 ozone
Session so1 created with volume ozone
[root@dhcp43-140 ~]# glusterfind create so12ozone
usage: glusterfind create [-h] [--debug] [--force] [--reset-session-time]
session volume
glusterfind create: error: too few arguments
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]# glusterfind create so12 ozone
Session so12 created with volume ozone
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]# glusterfind delete so12 ozone
root.42.75's password: root.42.75's password:
root.42.75's password:
Session so12 with volume ozone deleted
[root@dhcp43-140 ~]# glusterfind list
SESSION VOLUME SESSION TIME
---------------------------------------------------------------------------
testvol_session_53 testvol 2015-07-07 00:00:23
so1 ozone 2015-07-09 21:30:24
[root@dhcp43-140 ~]# glusterfind create so2 ozone
Session so2 created with volume ozone
[root@dhcp43-140 ~]# glusterfind create so3 ozone
Session so3 created with volume ozone
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]# glusterfind list
SESSION VOLUME SESSION TIME
---------------------------------------------------------------------------
so2 ozone 2015-07-09 21:31:31
testvol_session_53 testvol 2015-07-07 00:00:23
so1 ozone 2015-07-09 21:30:24
so3 ozone 2015-07-09 21:32:37
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]# glusterfind pre so1 ozone /tmp/out1
Generated output file /tmp/out1
[root@dhcp43-140 ~]# cat /tmp/out1
MODIFY .trashcan%2F
NEW test1
NEW test2
NEW test3
NEW dir1
NEW dir1%2F%2Fdir2
NEW dir1%2Fdir2%2F%2Fdir3
NEW dir1%2Fdir2%2Fdir3%2F%2Fdir4
NEW d1
NEW d1%2F%2Fd2
NEW d1%2Fd2%2F%2Fd3
[root@dhcp43-140 ~]# glusterfind post so1 ozone
Session so1 with volume ozone updated
[root@dhcp43-140 ~]# glusterfind pre so1 ozone /tmp/out1
Generated output file /tmp/out1
[root@dhcp43-140 ~]# cat /tmp/out1
NEW dir1%2Fdir2%2Fdir3%2F%2Fd3a
[root@dhcp43-140 ~]# glusterfind post so1 ozone
Session so1 with volume ozone updated
[root@dhcp43-140 ~]# glusterfind pre so1 ozone /tmp/out1
Generated output file /tmp/out1
[root@dhcp43-140 ~]# cat /tmp/out1
RENAME dir1%2Fdir2%2Fdir3%2F%2Fd3a d3a
MODIFY d3a
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]# glusterfind post so1 ozone
Session so1 with volume ozone updated
[root@dhcp43-140 ~]# glusterfind pre so1 ozone /tmp/out1
Generated output file /tmp/out1
[root@dhcp43-140 ~]# cat /tmp/out1
MODIFY .trashcan%2Finternal_op%2F
RENAME test1 dir1%2Fdir2%2F%2Ftest1
MODIFY dir1%2Fdir2%2Ftest1
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]# glusterfind post so1 ozone
Session so1 with volume ozone updated
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]# glusterfind pre so2 ozone /tmp/out2
Generated output file /tmp/out2
[root@dhcp43-140 ~]# glusterfind pre so1 ozone /tmp/out1
Generated output file /tmp/out1
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]# cat /tmp/out1
RENAME test2 dir1%2Fdir2%2Fdir3%2Fdir4%2F%2Ftest22
MODIFY dir1%2Fdir2%2Fdir3%2Fdir4%2Ftest22
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]# cat /tmp/out2
MODIFY .trashcan%2F
NEW dir1%2Fdir2%2F%2Ftest1
NEW dir1%2Fdir2%2Fdir3%2Fdir4%2F%2Ftest22
NEW test3
NEW dir1
NEW dir1%2F%2Fdir2
NEW dir1%2Fdir2%2F%2Fdir3
NEW dir1%2Fdir2%2Fdir3%2F%2Fdir4
NEW d1
NEW d1%2F%2Fd2
NEW d1%2Fd2%2F%2Fd3
NEW d3a
MODIFY .trashcan%2Finternal_op%2F
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]# glusterfind post so1 ozone
Session so1 with volume ozone updated
[root@dhcp43-140 ~]# glusterfind post so2 ozone
Session so2 with volume ozone updated
[root@dhcp43-140 ~]# glusterfind pre so1 ozone /tmp/out1
Generated output file /tmp/out1
[root@dhcp43-140 ~]# cat /tmp/out1
NEW dir1%2Fdir2%2F%2Ftest22_link
NEW test3_ln
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]# glusterfind post so2 ozone
Pre script is not run
[root@dhcp43-140 ~]# glusterfind post so1 ozone
Session so1 with volume ozone updated
[root@dhcp43-140 ~]# glusterfind pre so1 ozone /tmp/out1
Generated output file /tmp/out1
[root@dhcp43-140 ~]# cat /tmp/out1
RENAME test3_ln d1%2Fd2%2Fd3%2F%2Ftest3_link2
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]#
[root@dhcp43-140 ~]# glusterfind post so1 ozone
Session so1 with volume ozone updated
[root@dhcp43-140 ~]# glusterfind pre so1 ozone /tmp/out1
Generated output file /tmp/out1
[root@dhcp43-140 ~]# cat /tmp/out1
RENAME dir1%2Fdir2%2F%2Ftest22_link test22_link
RENAME dir1%2Fdir2%2Fdir3%2Fdir4%2Ftest22 test22_link
MODIFY dir1%2Fdir2%2Fdir3%2Fdir4%2Ftest22
MODIFY test22_link
[root@dhcp43-140 ~]#
CLIENT
========
[root@dhcp43-71 ~]#
[root@dhcp43-71 ~]# mount | grep testvol
10.70.43.93:testvol on /mnt/glusterfs type fuse.glusterfs (rw,default_permissions,allow_other,max_read=131072)
[root@dhcp43-71 ~]#
[root@dhcp43-71 ~]#
[root@dhcp43-71 ~]# mount | grep oz
10.70.42.30:/ozone on /mnt/ozone type fuse.glusterfs (rw,default_permissions,allow_other,max_read=131072)
10.70.43.93:/ozone on /mnt/oz type fuse.glusterfs (rw,default_permissions,allow_other,max_read=131072)
[root@dhcp43-71 ~]# umount /mnt/ozone
[root@dhcp43-71 ~]# mount -t glusterfs 10.70.43.140:/ozone /mnt/ozone
[root@dhcp43-71 ~]# cd /mnt/ozone
[root@dhcp43-71 ozone]# ls -a
. .. .trashcan
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]# echo "what a beautiful day" > test1
[root@dhcp43-71 ozone]# echo "hello world" > test2
[root@dhcp43-71 ozone]# touch test3
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]# mkdir -p dir1/dir2/dir3/dir4
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]# ls -a
. .. dir1 test1 test2 test3 .trashcan
[root@dhcp43-71 ozone]# mkdir -p d1/d2/d3
[root@dhcp43-71 ozone]# touch d1/dia
[root@dhcp43-71 ozone]# rm d1/dia
rm: remove regular empty file `d1/dia'? y
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]# echo "whatever" > d1/d2/d3/d3a
[root@dhcp43-71 ozone]# mv d1/d2/d3/d3a dir1/dir2/dir3/
[root@dhcp43-71 ozone]# ls d1/d2/d3/
[root@dhcp43-71 ozone]# ls dir1/dir2/dir3/
d3a dir4
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]# echo 'whatever again' >> dir1/dir2/dir3/d3a
[root@dhcp43-71 ozone]# mv dir1/dir2/dir3/d3a .
[root@dhcp43-71 ozone]# ls -a
. .. d1 d3a dir1 test1 test2 test3 .trashcan
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]# find
.
./.trashcan
./.trashcan/internal_op
./test1
./test2
./dir1
./dir1/dir2
./dir1/dir2/dir3
./dir1/dir2/dir3/dir4
./d1
./d1/d2
./d1/d2/d3
./d3a
./test3
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]# cat test1
what a beautiful day
[root@dhcp43-71 ozone]# echo ".. and it is raining" >> test1
[root@dhcp43-71 ozone]# mv test1 dir1/dir2/
[root@dhcp43-71 ozone]# mv dir1/dir2/test1 dir1/dir2/dir3/dir4/
[root@dhcp43-71 ozone]# echo ".. even more" >> dir1/dir2/dir3/dir4/test1
[root@dhcp43-71 ozone]# mv dir1/dir2/dir3/dir4/test1 dir1/dir2/
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]# ls -lrt
total 3
-rw-r--r--. 1 root root 12 Jul 9 21:43 test2
-rw-r--r--. 1 root root 0 Jul 9 21:43 test3
drwxr-xr-x. 3 root root 34 Jul 9 21:43 dir1
drwxr-xr-x. 3 root root 30 Jul 10 00:16 d1
-rw-r--r--. 1 root root 24 Jul 10 00:20 d3a
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]# mv test2 test2new
[root@dhcp43-71 ozone]# mv test2new d1/d2/
[root@dhcp43-71 ozone]# cat d1/d2/test2new
hello world
[root@dhcp43-71 ozone]# echo ".." >> d1/d2/test2new
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]# echo "here I come.. " >> d1/d2/test2new
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]# mv d1/d2/test2new d1/d2/test22
[root@dhcp43-71 ozone]# mv d1/d2/test22 dir1/dir2/dir3/dir4/
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]# l s-lrt
-bash: l: command not found
[root@dhcp43-71 ozone]# ls -lrt
total 3
-rw-r--r--. 1 root root 0 Jul 9 21:43 test3
drwxr-xr-x. 3 root root 34 Jul 9 21:43 dir1
drwxr-xr-x. 3 root root 30 Jul 10 00:16 d1
-rw-r--r--. 1 root root 24 Jul 10 00:20 d3a
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]# ln dir1/dir2/dir3/dir4/test22 dir1/dir2/test22_link
[root@dhcp43-71 ozone]# ls dir1/dir2/test22_link
dir1/dir2/test22_link
[root@dhcp43-71 ozone]# ll dir1/dir2/test22_link
-rw-r--r--. 2 root root 30 Jul 10 00:26 dir1/dir2/test22_link
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]# cat dir1/dir2/test22_link
hello world
..
here I come..
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]# link test3 test3_link
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]# mv test3_link test3_ln
[root@dhcp43-71 ozone]# l s-lrt
-bash: l: command not found
[root@dhcp43-71 ozone]# ls -lrt
total 3
-rw-r--r--. 2 root root 0 Jul 9 21:43 test3_ln
-rw-r--r--. 2 root root 0 Jul 9 21:43 test3
drwxr-xr-x. 3 root root 34 Jul 9 21:43 dir1
drwxr-xr-x. 3 root root 30 Jul 10 00:16 d1
-rw-r--r--. 1 root root 24 Jul 10 00:20 d3a
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]# mv test3_ln d1/d2/d3/test3_link
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]# mv d1/d2/d3/test3_link d1/d2/d3/test3_link2
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]# ls d1/d2/d3/
test3_link2
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]# cat dir1/dir2/
dir3/ test1 test22_link
[root@dhcp43-71 ozone]# cat dir1/dir2/test22_link
hello world
..
here I come..
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]# echo "still coming" >> dir1/dir2/test22_link
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]# mv dir1/dir2/test22_link .
[root@dhcp43-71 ozone]#
[root@dhcp43-71 ozone]# ls -lrt
total 3
-rw-r--r--. 2 root root 0 Jul 9 21:43 test3
drwxr-xr-x. 3 root root 34 Jul 9 21:43 dir1
drwxr-xr-x. 3 root root 30 Jul 10 00:16 d1
-rw-r--r--. 1 root root 24 Jul 10 00:20 d3a
-rw-r--r--. 2 root root 43 Jul 10 00:35 test22_link
[root@dhcp43-71 ozone]#
The issue wrt modify/rename of hardlink (seen above in the logs) is being tracked by bug 1233147 Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHSA-2015-1495.html |