X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=fs%2Fcifs%2Ffile.c;h=d62e29fe91f2267bd51f8bbe6800c6b29c2c078a;hb=273d81d6ada951ba99f10b755d6f849dbb352730;hp=379369ecda96d7cae0c77e66ffb718bbb0998bc9;hpb=26a21b980b1897b11fd7f9ba4bf6060c9e15df10;p=linux-2.6 diff --git a/fs/cifs/file.c b/fs/cifs/file.c index 379369ecda..d62e29fe91 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c @@ -1959,3 +1959,19 @@ struct address_space_operations cifs_addr_ops = { /* .sync_page = cifs_sync_page, */ /* .direct_IO = */ }; + +/* + * cifs_readpages requires the server to support a buffer large enough to + * contain the header plus one complete page of data. Otherwise, we need + * to leave cifs_readpages out of the address space operations. + */ +struct address_space_operations cifs_addr_ops_smallbuf = { + .readpage = cifs_readpage, + .writepage = cifs_writepage, + .writepages = cifs_writepages, + .prepare_write = cifs_prepare_write, + .commit_write = cifs_commit_write, + .set_page_dirty = __set_page_dirty_nobuffers, + /* .sync_page = cifs_sync_page, */ + /* .direct_IO = */ +};