Bug 1368639 - Cannot create regular file or cannot create directory when copy file to glusterfs using fuse
Summary: Cannot create regular file or cannot create directory when copy file to glust...
Keywords:
Status: CLOSED EOL
Alias: None
Product: GlusterFS
Classification: Community
Component: stripe
Version: 3.7.13
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: bugs@gluster.org
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-08-20 09:34 UTC by forbee
Modified: 2017-03-08 11:00 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2017-03-08 11:00:33 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description forbee 2016-08-20 09:34:09 UTC
Description of problem:
  Recently,I upgrade from version 3.6.4 to version 3.7.13 in four CentOS-7-x86_64-1511 nodes.I create striped replicated volume with command 'gluster volume create vol0 stripe 2 replica 2 172.16.52.{115,108,100,117}:/data/gluster/brick0/brick'. When I copy directories and files into volume by using fuse it didn't work correct, cannot create regular file or cannot create directory happened.
  Glusterfs version 3.6.4 work fine with the same configuration.
  Glusterfs version 3.7.13 work fine when using distributed replicated volume.

Version-Release number of selected component (if applicable):
I install glusterfs with source code glusterfs-3.7.13.tar.gz

How reproducible:


Steps to Reproduce:
1.Need four linux nodes(my nodes os:CentOS-7-x86_64-1511).
2.Install glusterfs with source code glusterfs-3.7.13.tar.gz.
3.Create striped replicated volume with command like 
'gluster volume create vol0 stripe 2 replica 2 172.16.52.{115,108,100,117}:/data/gluster/brick0/brick'.
4.Start volume: gluster volume start vol0.
5.Mount glustergs volume: mount -t glusterfs localhost:/vol0 /mnt/vol0
6.Copy some not empty directory to volume: 
cp -r /home/admin/Downloads /mnt/vol0/

Actual results:


Expected results:


Additional info:
1,glusterfs version 3.6.4 work fine with the same configuration.
2,glusterfs version 3.7.13 work fine when using distributed replicated volume.
3,my steps:
  1),install glusterfs with source code glusterfs-3.7.13.tar.gz in all 4 nodes.
  2),in node 172.16.52.115,executed next command:
     [root@localhost vol0]#gluster peer probe 172.16.52.108
     [root@localhost vol0]#gluster peer probe 172.16.52.100
     [root@localhost vol0]#gluster peer probe 172.16.52.117
     [root@localhost vol0]#gluster volume create vol0 stripe 2 replica 2 172.16.52.{115,108,100,117}:/data/gluster/brick0/brick
     [root@localhost vol0]#gluster volume start vol0
     [root@localhost vol0]#mount -t glusterfs localhost:/vol0 /mnt/vol0
     [root@localhost vol0]#cp -r /home/admin/Downloads ./
       ......
       cp: cannot create regular file ‘./Downloads/install/glusterfs-3.7.13.tar.gz’: No such file or directory
       cp: cannot create directory ‘./Downloads/install/glusterfs-3.7.13’: No data available
       ......
     [root@localhost vol0]# ls
       ls: cannot access Downloads: No data available
       Downloads

     [root@localhost vol0]# rm -rf Downloads 
       rm: cannot remove ‘Downloads’: No data available

     [root@localhost vol0]# gluster volume info
 
       Volume Name: vol0
       Type: Striped-Replicate
       Volume ID: e17a8660-2eb4-45cb-9cdf-8b1785893f00
       Status: Started
       Number of Bricks: 1 x 2 x 2 = 4
       Transport-type: tcp
       Bricks:
       Brick1: 172.16.52.115:/data/gluster/brick0/brick
       Brick2: 172.16.52.108:/data/gluster/brick0/brick
       Brick3: 172.16.52.100:/data/gluster/brick0/brick
       Brick4: 172.16.52.117:/data/gluster/brick0/brick

     [root@localhost vol0]# gluster volume heal vol0 info
       Brick 172.16.52.115:/data/gluster/brick0/brick
       Status: Connected
       Number of entries: 0

       Brick 172.16.52.108:/data/gluster/brick0/brick
       Status: Connected
       Number of entries: 0

       Brick 172.16.52.100:/data/gluster/brick0/brick
       Status: Connected
       Number of entries: 0

       Brick 172.16.52.117:/data/gluster/brick0/brick
       Status: Connected
       Number of entries: 0

     [root@localhost vol0]# gluster volume status
Status of volume: vol0
Gluster process                             TCP Port  RDMA Port  Online  Pid
------------------------------------------------------------------------------
Brick 172.16.52.115:/data/gluster/brick0/br
ick                                         49152     0          Y       2698 
Brick 172.16.52.108:/data/gluster/brick0/br
ick                                         49152     0          Y       2622 
Brick 172.16.52.100:/data/gluster/brick0/br
ick                                         49152     0          Y       2300 
Brick 172.16.52.117:/data/gluster/brick0/br
ick                                         49152     0          Y       2466 
NFS Server on localhost                     2049      0          Y       2720 
Self-heal Daemon on localhost               N/A       N/A        Y       2727 
NFS Server on 172.16.52.108                 2049      0          Y       2644 
Self-heal Daemon on 172.16.52.108           N/A       N/A        Y       2651 
NFS Server on 172.16.52.100                 2049      0          Y       2323 
Self-heal Daemon on 172.16.52.100           N/A       N/A        Y       2329 
NFS Server on 172.16.52.117                 2049      0          Y       2488 
Self-heal Daemon on 172.16.52.117           N/A       N/A        Y       2495 
 
Task Status of Volume vol0
------------------------------------------------------------------------------
There are no active volume tasks

     [root@localhost vol0]# cat /var/log/glusterfs/mnt-vol0.log | grep " E "
[2016-08-20 08:11:28.347465] E [MSGID: 114031] [client-rpc-fops.c:321:client3_3_mkdir_cbk] 0-vol0-client-3: remote operation failed. Path: /Downloads [No data available]
[2016-08-20 08:11:28.347488] E [MSGID: 114031] [client-rpc-fops.c:321:client3_3_mkdir_cbk] 0-vol0-client-2: remote operation failed. Path: /Downloads [No data available]

Comment 1 Jiffin 2016-08-30 12:19:07 UTC
The stripe type volume is not maintained anymore.
Instead you can try out Sharded volume which have the same behaviour.
Please try it on sharded volume and check whether it is reproducing.

Comment 2 forbee 2016-09-02 12:27:42 UTC
(In reply to Jiffin from comment #1)
> The stripe type volume is not maintained anymore.
> Instead you can try out Sharded volume which have the same behaviour.
> Please try it on sharded volume and check whether it is reproducing.

But how to create Sharded volume?
There is no mention in gluster volume create command:
volume create <NEW-VOLNAME> [stripe <COUNT>] [replica <COUNT> [arbiter <COUNT>]] [disperse [<COUNT>]] [disperse-data <COUNT>] [redundancy <COUNT>] [transport <tcp|rdma|tcp,rdma>] <NEW-BRICK>?<vg_name>... [force]

Comment 3 Atin Mukherjee 2016-09-02 17:41:48 UTC
You'd need to create a volume and then execute gluster volume set <volname> features.shard on

Comment 4 Kaushal 2017-03-08 11:00:33 UTC
This bug is getting closed because GlusteFS-3.7 has reached its end-of-life.

Note: This bug is being closed using a script. No verification has been performed to check if it still exists on newer releases of GlusterFS.
If this bug still exists in newer GlusterFS releases, please reopen this bug against the newer release.


Note You need to log in before you can comment on or make changes to this bug.