Cannot remove directory: File exists

If you try to delete a directory over NFS and get an error such as...
rm: cannot remove directory `asdf/': File exists
... you will notice that conventional methods won't be good enough to remove it.
$ chmod -R 777 asdf/
$ rm -rf asdf/
$ rm: cannot remove directory `asdf/': File exists
Usually there is a file like .nfs234B inside the directory than can be displayed with ls -la
$ ls -la
total 146
drwxr-xr-x 2 user group    512 2009-05-20 08:51 .
drwxr-xr-x 3 user group    512 2009-05-19 08:59 ..
-rwxr-xr-x 1 user group 134888 2009-05-18 12:45 .nfs234B
Removing this file only replaces it with another. There are two solutions: manually delete the file on the NFS server, or (if you don't have that type of access) kill its process.
$fuser -u asdf/.\*
asdf/.:     9070c(user)
asdf/..:    28690c(user)   24845c(user)
asdf/.nfs934B:     9070tm(user)
9070 is the offending process. Kill it with fire.
$ kill -9 9070
Should be able to remove that directory now.
Comments:

Thanks for the information.

Long Path Tool helped me in this situation. PathTooDeep.com

Posted by GabrielNar on September 18, 2012 at 01:01 AM MDT #

Post a Comment:
  • HTML Syntax: NOT allowed
About

Hiya, my name is Paul Johnson and I'm a software engineer working on the ZFS storage appliance .

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today