I am louis, and I found a problem when I rename a file which is in a Distributed-Disperse volume. And I doubt this is a glusterfs bug. The problem can be described like below:
1) There is a Distributed-Disperse volume called yxy in my cluster. The volume info as below:
Volume Name: yxy
Type: Distributed-Disperse
Volume ID: 6e00423e-f8b8-4a76-9ab2-885f67b0eefd
Status: Started
Number of Bricks: 2 x (2 + 1) = 6
Transport-type: tcp
Bricks:
Brick1: 191.168.45.106:/NAS/nasdevice51
Brick2: 191.168.45.106:/NAS/nasdevice52
Brick3: 191.168.45.106:/NAS/nasdevice53
Brick4: 191.168.45.106:/NAS/nasdevice54
Brick5: 191.168.45.106:/NAS/nasdevice55
Brick6: 191.168.45.106:/NAS/nasdevice56
2) Mount the Distributed-Disperse volume (yxy) to the dir /cluster/volume4.
mount -t glusterfs 191.168.45.106:/yxy /cluster/volume4
3) Create a ftp share dir called yxy-share in the mount point (/cluster/volume4), and the ftp share dir is assigned to ftp user "louis" with "rw" rights.
4) Put a file named testfile.old to ftp share dir(yxy-sahre) of the mountpoint (/cluster/volume4) from the Windows(7) using the ftp access mode.
# cd /cluster/volume4/yxy-share
# ll -a
total 1
drwxrwx--- 2 root NASGROUP 0 Jul 3 15:19 .
drwxrwxrwx 4 root NASGROUP 89 Jul 3 15:09 ..
-rw-rw---- 1 louis NASGROUP 557 Jul 3 15:19 testfile.old
From the "ll -a" infos, we can see the testfile.old's uid is "louis" and the gid is "NASGROUP".
And we can find the testfile.old in the share dir "yxy-share" of the brick "191.168.45.106:/NAS/nasdevice51" , info as below:
# cd /NAS/nasdevice51/yxy-share
# ll -a
total 2
drwxrwx--- 2 root NASGROUP 25 Jul 3 15:19 .
drwxrwxrwx 4 root NASGROUP 35 Jul 3 15:09 ..
-rw-rw---- 2 louis NASGROUP 512 Jul 3 15:19 testfile.old
we can see, the "ll -a" infos of the /NAS/nasdevice51/yxyshare are the same as the infos of the mountpoint.
5) Now, we renamed the "testfile.old" to "testfile.new.name" in the share dir of the mountpoint (/cluster/volume4/yxy-share) from the Windows(7) using the ftp access mode.
# cd /cluster/volume4/yxy-share
# ll -a
total 1
drwxrwx--- 2 root NASGROUP 0 Jul 3 15:37 .
drwxrwxrwx 4 root NASGROUP 70 Jul 3 15:36 ..
-rw-rw---- 1 louis NASGROUP 557 Jul 3 15:36 testfile.new.name -----> the "testfile.old" has been renamed to the "testfile.new.name", but the uid and gid are thesame.
And we can find the same info in the brick 191.168.45.106:/NAS/nasdevice51
# cd /NAS/nasdevice51/yxy-share
# ll -a
total 2
drwxrwx--- 2 root NASGROUP 25 Jul 3 15:37 .
drwxrwxrwx 4 root NASGROUP 35 Jul 3 15:09 ..
-rw-rw---- 2 louis NASGROUP 512 Jul 3 15:36 testfile.new.name -----> the "testfile.old" has been renamed to the "testfile.new.name", but the uid and gid are thesame.
6) After renamed the "testfile.old" to "testfile.new.name", the new named file(testfile.new.name) willed be hashed to the other Disperse called "yxy- disperse-1", that is, the "testfile.new.name" will be hashed to the 3 bricks of the other disperse (yxy-disperse-1), but the hashed file called "testfile.new.name" will linkto the file in the bricks of disperse0 (yxy-disperse-0).
# cd /NAS/nasdevice54/yxy-share or cd /NAS/nasdevice55/yxy-share or cd /NAS/nasdevice56/yxy-share
# ll -a
total 0
drwxrwx--- 2 root NASGROUP 30 Jul 3 15:45 .
drwxrwxrwx 4 root NASGROUP 35 Jul 3 15:36 ..
---------T 2 root root 0 Jul 3 15:45 testfile.new.name ----> the uid of the hashed file "testfile.new.name" become the "root" not the "louis", and the gid become"root" not the "NASGROUP". Is this a problem???
and the log is printed below:
[2015-06-26 17:53:41.649837] W [MSGID: 0] [ec-common.c:1110:ec_get_size_version_set] 0-ec_test-disperse-1: Failed to get size and version (error 2)
Actually, I take the same operation to the Distribute volume, the uid and gid attrs of hashed file in the other disperse of the Distribute volume are the same as renamed before, and no "failed" log printed.
So I doubt this may be a bug of the Distribute-Disperse(dht-ec).
I am very appreciate your help, and thanks very much.
Best Regards.
Louis
2015/7/4
_______________________________________________ Gluster-devel mailing list Gluster-devel@xxxxxxxxxxx http://www.gluster.org/mailman/listinfo/gluster-devel