Commit be4eb688 authored by Long Li's avatar Long Li Committed by Steve French

CIFS: Add direct I/O functions to file_operations

With direct read/write functions implemented, add them to file_operations.

Dircet I/O is used under two conditions:
1. When mounting with "cache=none", CIFS uses direct I/O for all user file
data transfer.
2. When opening a file with O_DIRECT, CIFS uses direct I/O for all data
transfer on this file.
Signed-off-by: default avatarLong Li <longli@microsoft.com>
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
Reviewed-by: default avatarRonnie Sahlberg <lsahlber@redhat.com>
parent 8c5f9c1a
...@@ -1180,9 +1180,8 @@ const struct file_operations cifs_file_strict_ops = { ...@@ -1180,9 +1180,8 @@ const struct file_operations cifs_file_strict_ops = {
}; };
const struct file_operations cifs_file_direct_ops = { const struct file_operations cifs_file_direct_ops = {
/* BB reevaluate whether they can be done with directio, no cache */ .read_iter = cifs_direct_readv,
.read_iter = cifs_user_readv, .write_iter = cifs_direct_writev,
.write_iter = cifs_user_writev,
.open = cifs_open, .open = cifs_open,
.release = cifs_close, .release = cifs_close,
.lock = cifs_lock, .lock = cifs_lock,
...@@ -1236,9 +1235,8 @@ const struct file_operations cifs_file_strict_nobrl_ops = { ...@@ -1236,9 +1235,8 @@ const struct file_operations cifs_file_strict_nobrl_ops = {
}; };
const struct file_operations cifs_file_direct_nobrl_ops = { const struct file_operations cifs_file_direct_nobrl_ops = {
/* BB reevaluate whether they can be done with directio, no cache */ .read_iter = cifs_direct_readv,
.read_iter = cifs_user_readv, .write_iter = cifs_direct_writev,
.write_iter = cifs_user_writev,
.open = cifs_open, .open = cifs_open,
.release = cifs_close, .release = cifs_close,
.fsync = cifs_fsync, .fsync = cifs_fsync,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment