[Gluster-devel] A problem when I renamed a file in a Distributed-Disperse volume.
christ1016 at sina.com
christ1016 at sina.com
Sat Jul 4 12:01:27 UTC 2015
Hi, everyone.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)
[2015-06-26 17:53:41.649884] E [MSGID: 109031] [dht-linkfile.c:305:dht_linkfile_setattr_cbk] 0-ec_test-dht: Failed to set attr uid/gid on /yxy- share/testfile.old :<gfid:00000000-0000-0000-0000-000000000000> [No such file or directory] 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gluster.org/pipermail/gluster-devel/attachments/20150704/18973e53/attachment-0001.html>
More information about the Gluster-devel
mailing list