[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