cifs: Check the IOCB_DIRECT flag, not O_DIRECT
authorDavid Howells <dhowells@redhat.com>
Wed, 6 Apr 2022 23:03:14 +0000 (00:03 +0100)
committerSteve French <stfrench@microsoft.com>
Fri, 8 Apr 2022 14:01:59 +0000 (09:01 -0500)
Use the IOCB_DIRECT indicator flag on the I/O context rather than checking to
see if the file was opened O_DIRECT.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Steve French <sfrench@samba.org>
cc: Shyam Prasad N <nspmangalore@gmail.com>
cc: Rohith Surabattula <rohiths.msft@gmail.com>
cc: linux-cifs@vger.kernel.org
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifs/cifsfs.c

index a47fa44..fb60b54 100644 (file)
@@ -944,7 +944,7 @@ cifs_loose_read_iter(struct kiocb *iocb, struct iov_iter *iter)
        ssize_t rc;
        struct inode *inode = file_inode(iocb->ki_filp);
 
-       if (iocb->ki_filp->f_flags & O_DIRECT)
+       if (iocb->ki_flags & IOCB_DIRECT)
                return cifs_user_readv(iocb, iter);
 
        rc = cifs_revalidate_mapping(inode);