Both Windows 10's SMB server and samba return STATUS_OBJECT_PATH_NOT_FOUND
when trying to access a nonexistent path.
This fixes Windows 10 File History tool. The latter relies on the server
returning STATUS_OBJECT_PATH_NOT_FOUND to figure out what part of the
target path needs to be created. Returning STATUS_OBJECT_NAME_INVALID
will make it stop and display an error to the user.
Signed-off-by: Marios Makassikis <mmakassikis@freebox.fr>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
        if (!file_present) {
                rc = smb2_creat(work, &path, name, open_flags, posix_mode,
                                req->CreateOptions & FILE_DIRECTORY_FILE_LE);
-               if (rc)
+               if (rc) {
+                       if (rc == -ENOENT) {
+                               rc = -EIO;
+                               rsp->hdr.Status = STATUS_OBJECT_PATH_NOT_FOUND;
+                       }
                        goto err_out;
+               }
 
                created = true;
                user_ns = mnt_user_ns(path.mnt);