smb: client: handle STATUS_IO_REPARSE_TAG_NOT_HANDLED
authorPaulo Alcantara <pc@manguebit.com>
Wed, 20 Sep 2023 20:42:11 +0000 (17:42 -0300)
committerSteve French <stfrench@microsoft.com>
Wed, 20 Sep 2023 21:12:09 +0000 (16:12 -0500)
Fix missing set of cifs_open_info_data::reparse_point when SMB2_CREATE
request fails with STATUS_IO_REPARSE_TAG_NOT_HANDLED.

Fixes: 5f71ebc41294 ("smb: client: parse reparse point flag in create response")
Signed-off-by: Paulo Alcantara (SUSE) <pc@manguebit.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/client/smb2inode.c

index b41e2e872b22462f2d0ee6ee14ecab0a3959654a..0b89f7008ac0f429cc1a6b004c70117e19658837 100644 (file)
@@ -539,6 +539,9 @@ static int parse_create_response(struct cifs_open_info_data *data,
        int rc = 0;
 
        switch (rsp->hdr.Status) {
+       case STATUS_IO_REPARSE_TAG_NOT_HANDLED:
+               reparse_point = true;
+               break;
        case STATUS_STOPPED_ON_SYMLINK:
                rc = smb2_parse_symlink_response(cifs_sb, iov,
                                                 &data->symlink_target);