filesys: fix error reporting when trying to ch_unlink a missing name
authorAlan Cox <alan@linux.intel.com>
Sat, 26 Dec 2015 22:09:22 +0000 (22:09 +0000)
committerAlan Cox <alan@linux.intel.com>
Sat, 26 Dec 2015 22:09:22 +0000 (22:09 +0000)
This fixes rmdir "nosuchname"

Kernel/filesys.c

index ba491ab..a3e2fb7 100644 (file)
@@ -299,8 +299,10 @@ bool ch_link(inoptr wd, char *oldname, char *newname, inoptr nindex)
             break;
     }
 
-    if(udata.u_count == 0 && *oldname)
+    if(udata.u_count == 0 && *oldname) {
+        udata.u_error = ENOENT;
         return false;                  /* Entry not found */
+    }
 
     memcpy(curentry.d_name, newname, FILENAME_LEN);
     // pad name with NULLs