]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
unlink_directory(): Don't log EBUSY error for unlink(.nfs*) directly.
authorTimo Sirainen <tss@iki.fi>
Thu, 12 Aug 2010 15:12:08 +0000 (16:12 +0100)
committerTimo Sirainen <tss@iki.fi>
Thu, 12 Aug 2010 15:12:08 +0000 (16:12 +0100)
The caller can decide if it wants to log it.

src/lib/unlink-directory.c

index 5dc3c74acf75fc4a032759dabca594551e194c2a..89853e9898dde980ebe53975fe69023ce3df5238 100644 (file)
@@ -126,6 +126,12 @@ static int unlink_directory_r(const char *dir)
                                        }
                                        errno = 0;
                                }
+                       } else if (old_errno == EBUSY &&
+                                  strncmp(d->d_name, ".nfs", 4) == 0) {
+                               /* can't delete NFS files that are still
+                                  in use. let the caller decide if this error
+                                  is worth logging about */
+                               break;
                        } else {
                                 /* so it wasn't a directory */
                                errno = old_errno;