diff options
author | Steve French <sfrench@us.ibm.com> | 2005-11-11 14:41:00 -0500 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2005-11-11 14:41:00 -0500 |
commit | 8b94bcb923dff923a5a5b7c6f890702a54cb19cf (patch) | |
tree | 2ea55c01e0c5dfead8699484b0bae2a375b1f61c /fs/cifs/cifsfs.c | |
parent | 1b397f4f1c167dbf06397b3182fca521c00125c4 (diff) |
[CIFS] Fix CIFS "nobrl" mount option so does not disable sending brl requests
for all mounts just that particular mount.
Found by Arjan Vand de Ven
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/cifsfs.c')
-rw-r--r-- | fs/cifs/cifsfs.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c index 682b0235ad9a..1433455c61ea 100644 --- a/fs/cifs/cifsfs.c +++ b/fs/cifs/cifsfs.c | |||
@@ -635,6 +635,46 @@ struct file_operations cifs_file_direct_ops = { | |||
635 | .dir_notify = cifs_dir_notify, | 635 | .dir_notify = cifs_dir_notify, |
636 | #endif /* CONFIG_CIFS_EXPERIMENTAL */ | 636 | #endif /* CONFIG_CIFS_EXPERIMENTAL */ |
637 | }; | 637 | }; |
638 | struct file_operations cifs_file_nobrl_ops = { | ||
639 | .read = cifs_read_wrapper, | ||
640 | .write = cifs_write_wrapper, | ||
641 | .open = cifs_open, | ||
642 | .release = cifs_close, | ||
643 | .fsync = cifs_fsync, | ||
644 | .flush = cifs_flush, | ||
645 | .mmap = cifs_file_mmap, | ||
646 | .sendfile = generic_file_sendfile, | ||
647 | #ifdef CONFIG_CIFS_POSIX | ||
648 | .ioctl = cifs_ioctl, | ||
649 | #endif /* CONFIG_CIFS_POSIX */ | ||
650 | |||
651 | #ifdef CONFIG_CIFS_EXPERIMENTAL | ||
652 | .readv = generic_file_readv, | ||
653 | .writev = generic_file_writev, | ||
654 | .aio_read = generic_file_aio_read, | ||
655 | .aio_write = generic_file_aio_write, | ||
656 | .dir_notify = cifs_dir_notify, | ||
657 | #endif /* CONFIG_CIFS_EXPERIMENTAL */ | ||
658 | }; | ||
659 | |||
660 | struct file_operations cifs_file_direct_nobrl_ops = { | ||
661 | /* no mmap, no aio, no readv - | ||
662 | BB reevaluate whether they can be done with directio, no cache */ | ||
663 | .read = cifs_user_read, | ||
664 | .write = cifs_user_write, | ||
665 | .open = cifs_open, | ||
666 | .release = cifs_close, | ||
667 | .fsync = cifs_fsync, | ||
668 | .flush = cifs_flush, | ||
669 | .sendfile = generic_file_sendfile, /* BB removeme BB */ | ||
670 | #ifdef CONFIG_CIFS_POSIX | ||
671 | .ioctl = cifs_ioctl, | ||
672 | #endif /* CONFIG_CIFS_POSIX */ | ||
673 | |||
674 | #ifdef CONFIG_CIFS_EXPERIMENTAL | ||
675 | .dir_notify = cifs_dir_notify, | ||
676 | #endif /* CONFIG_CIFS_EXPERIMENTAL */ | ||
677 | }; | ||
638 | 678 | ||
639 | struct file_operations cifs_dir_ops = { | 679 | struct file_operations cifs_dir_ops = { |
640 | .readdir = cifs_readdir, | 680 | .readdir = cifs_readdir, |