[Gluster-devel] [Nfs-ganesha-devel] Device or resource busy when runltp cleanup test-files

Kinglong Mee mijinlong at open-fs.com
Thu Apr 13 02:37:45 UTC 2017


Yes, this one is silly rename, 

>>> rm: cannot remove ‘/mnt/nfs/ltp-JEYAuky2dz/.nfsaa46457a6a72f8ea000014f5’: Device or resource busy

But, the other one isn't client's silly rename, 

>>>>     rm: cannot remove ‘/mnt/nfs/ltp-JEYAuky2dz/rmderQsjV’: Directory not empty

Also, the second one often appears when testing ganesha nfs by ltp.

I try to get an tcpdump, I found, when ls under the nfs client directory, 

the glusterfs client doesn't send readdir to glusterfs server, so that,
the nfs client gets an empty directory information, but it's empty underlying. 

ls at some other directory,
the glusterfs client send readdir to glusterfs server, nfs client gets right dirctory
information as the underlying.

So, I guess maybe there are some problems in MDCHANE or glusterfs client?

]# cat /var/lib/glusterd/vols/gvtest/trusted-gvtest.tcp-fuse.vol
volume gvtest-client-0
    type protocol/client
    option send-gids true
    option password d80765c8-95ae-46ed-912a-0c98fdd1e7cd
    option username 7bc6276f-245c-477a-99d0-7ead4fcb2968
    option transport.address-family inet
    option transport-type tcp
    option remote-subvolume /gluster-test/gvtest
    option remote-host 192.168.9.111
    option ping-timeout 42
end-volume

volume gvtest-client-1
    type protocol/client
    option send-gids true
    option password d80765c8-95ae-46ed-912a-0c98fdd1e7cd
    option username 7bc6276f-245c-477a-99d0-7ead4fcb2968
    option transport.address-family inet
    option transport-type tcp
    option remote-subvolume /gluster-test/gvtest
    option remote-host 192.168.9.111
    option ping-timeout 42
end-volume

volume gvtest-dht
    type cluster/distribute
    option lock-migration off
    subvolumes gvtest-client-0 gvtest-client-1
end-volume

volume gvtest
    type debug/io-stats
    option count-fop-hits off
    option latency-measurement off
    option log-level INFO
    subvolumes gvtest-dht
end-volume


thanks,
Kinglong Mee

On 4/13/2017 10:17, Malahal Naineni wrote:
> Sorry, I missed your note below. This is definitely due to an NFS
> client's silly rename. All ".nfs<random>" are due to silly rename
> implementation in NFS client. You might want to read about it.
> 
>>> rm: cannot remove ‘/mnt/nfs/ltp-JEYAuky2dz/.nfsaa46457a6a72f8ea000014f5’: Device or resource busy
> 
> On Thu, Apr 13, 2017 at 7:37 AM, Malahal Naineni <malahal at gmail.com> wrote:
>> What are the file names under the directory? What does "ls -la" show
>> both at the client and at the server in that directory?
>>
>> On Thu, Apr 13, 2017 at 5:13 AM, Kinglong Mee <mijinlong at open-fs.com> wrote:
>>> There are some files under "rmderQsjV" (that's not a silly rename dir) really
>>> at underlying filesystem, but the nfs client shows empty.
>>>
>>> Are there some problems in MDCACHE or cache timeouts?
>>>
>>> On 4/12/2017 22:48, Malahal Naineni wrote:
>>>> Could be due to NFS client silly rename.
>>>>
>>>> On Apr 12, 2017 8:06 PM, "Kinglong Mee" <mijinlong at open-fs.com <mailto:mijinlong at open-fs.com>> wrote:
>>>>
>>>>     When I testing ganesha nfs bases on glusterfs, the runltp always warning as,
>>>>
>>>>     rm: cannot remove ‘/mnt/nfs/ltp-JEYAuky2dz/.nfsaa46457a6a72f8ea000014f5’: Device or resource busy
>>>>     rm: cannot remove ‘/mnt/nfs/ltp-JEYAuky2dz/rmderQsjV’: Directory not empty
>>>>
>>>>     and, "rmderQsjV" also contains files at the back-end, and nfs client shows empty.
>>>>
>>>>     My test environments are,
>>>>     Centos 7 (kernel-3.10.0-514.10.2.el7.x86_64),
>>>>     Glusterfs (glusterfs-3.8.10-1.el7.x86_64),
>>>>     NFS-Ganesha (nfs-ganesha-2.3.3-1.el7.x86_64).
>>>>
>>>>     #cat /etc/ganesha/ganesha.conf
>>>>     EXPORT
>>>>     {
>>>>      SecType = "sys";
>>>>      Pseudo = "/gvtest";
>>>>      Squash = "No_Root_Squash";
>>>>      Access_Type = "RW";
>>>>      Path = "/gvtest";
>>>>      Export_Id = 1;
>>>>     FSAL {
>>>>         Name = "GLUSTER";
>>>>         Hostname = "localhost";
>>>>         Volume = "gvtest";
>>>>         Volpath = "/";
>>>>      }
>>>>     }
>>>>
>>>>     # gluster volume info
>>>>
>>>>     Volume Name: gvtest
>>>>     Type: Distribute
>>>>     Volume ID: 65d20de1-16cd-4ae8-a860-254b3d6c56d0
>>>>     Status: Started
>>>>     Snapshot Count: 0
>>>>     Number of Bricks: 2
>>>>     Transport-type: tcp
>>>>     Bricks:
>>>>     Brick1: 192.168.9.111:/gluster-test/gvtest
>>>>     Brick2: 192.168.9.112:/gluster-test/gvtest
>>>>     Options Reconfigured:
>>>>     nfs.disable: on
>>>>     performance.readdir-ahead: off
>>>>     transport.address-family: inet
>>>>     performance.write-behind: off
>>>>     performance.read-ahead: off
>>>>     performance.io-cache: off
>>>>     performance.quick-read: off
>>>>     performance.open-behind: off
>>>>     performance.stat-prefetch: off
>>>>
>>>>
>>>>     ------------------------------------------------------------------------------
>>>>     Check out the vibrant tech community on one of the world's most
>>>>     engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>>>     _______________________________________________
>>>>     Nfs-ganesha-devel mailing list
>>>>     Nfs-ganesha-devel at lists.sourceforge.net <mailto:Nfs-ganesha-devel at lists.sourceforge.net>
>>>>     https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel <https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel>
>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> Check out the vibrant tech community on one of the world's most
>>>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Nfs-ganesha-devel mailing list
>>>> Nfs-ganesha-devel at lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel
>>>>
> 


More information about the Gluster-devel mailing list