|
@@ -733,6 +733,25 @@ const struct file_operations cifs_file_ops = {
|
|
|
.setlease = cifs_setlease,
|
|
|
};
|
|
|
|
|
|
+const struct file_operations cifs_file_strict_ops = {
|
|
|
+ .read = do_sync_read,
|
|
|
+ .write = do_sync_write,
|
|
|
+ .aio_read = generic_file_aio_read,
|
|
|
+ .aio_write = cifs_file_aio_write,
|
|
|
+ .open = cifs_open,
|
|
|
+ .release = cifs_close,
|
|
|
+ .lock = cifs_lock,
|
|
|
+ .fsync = cifs_strict_fsync,
|
|
|
+ .flush = cifs_flush,
|
|
|
+ .mmap = cifs_file_mmap,
|
|
|
+ .splice_read = generic_file_splice_read,
|
|
|
+ .llseek = cifs_llseek,
|
|
|
+#ifdef CONFIG_CIFS_POSIX
|
|
|
+ .unlocked_ioctl = cifs_ioctl,
|
|
|
+#endif /* CONFIG_CIFS_POSIX */
|
|
|
+ .setlease = cifs_setlease,
|
|
|
+};
|
|
|
+
|
|
|
const struct file_operations cifs_file_direct_ops = {
|
|
|
/* no aio, no readv -
|
|
|
BB reevaluate whether they can be done with directio, no cache */
|
|
@@ -751,6 +770,7 @@ const struct file_operations cifs_file_direct_ops = {
|
|
|
.llseek = cifs_llseek,
|
|
|
.setlease = cifs_setlease,
|
|
|
};
|
|
|
+
|
|
|
const struct file_operations cifs_file_nobrl_ops = {
|
|
|
.read = do_sync_read,
|
|
|
.write = do_sync_write,
|
|
@@ -769,6 +789,24 @@ const struct file_operations cifs_file_nobrl_ops = {
|
|
|
.setlease = cifs_setlease,
|
|
|
};
|
|
|
|
|
|
+const struct file_operations cifs_file_strict_nobrl_ops = {
|
|
|
+ .read = do_sync_read,
|
|
|
+ .write = do_sync_write,
|
|
|
+ .aio_read = generic_file_aio_read,
|
|
|
+ .aio_write = cifs_file_aio_write,
|
|
|
+ .open = cifs_open,
|
|
|
+ .release = cifs_close,
|
|
|
+ .fsync = cifs_strict_fsync,
|
|
|
+ .flush = cifs_flush,
|
|
|
+ .mmap = cifs_file_mmap,
|
|
|
+ .splice_read = generic_file_splice_read,
|
|
|
+ .llseek = cifs_llseek,
|
|
|
+#ifdef CONFIG_CIFS_POSIX
|
|
|
+ .unlocked_ioctl = cifs_ioctl,
|
|
|
+#endif /* CONFIG_CIFS_POSIX */
|
|
|
+ .setlease = cifs_setlease,
|
|
|
+};
|
|
|
+
|
|
|
const struct file_operations cifs_file_direct_nobrl_ops = {
|
|
|
/* no mmap, no aio, no readv -
|
|
|
BB reevaluate whether they can be done with directio, no cache */
|