Author: sfrench Date: 2007-02-08 18:02:39 +0000 (Thu, 08 Feb 2007) New Revision: 101
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=linux-cifs-client&rev=101 Log: merge with git Modified: branches/linux-converged-for-old-kernels/fs/cifs/cifsfs.c Changeset: Modified: branches/linux-converged-for-old-kernels/fs/cifs/cifsfs.c =================================================================== --- branches/linux-converged-for-old-kernels/fs/cifs/cifsfs.c 2007-02-08 18:02:13 UTC (rev 100) +++ branches/linux-converged-for-old-kernels/fs/cifs/cifsfs.c 2007-02-08 18:02:39 UTC (rev 101) @@ -284,7 +284,9 @@ file data or metadata */ cifs_inode->clientCanCacheRead = FALSE; cifs_inode->clientCanCacheAll = FALSE; +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19) cifs_inode->vfs_inode.i_blksize = CIFS_MAX_MSGSIZE; +#endif cifs_inode->vfs_inode.i_blkbits = 14; /* 2**14 = CIFS_MAX_MSGSIZE */ cifs_inode->vfs_inode.i_flags = S_NOATIME | S_NOCMTIME; INIT_LIST_HEAD(&cifs_inode->openFileList); @@ -539,6 +541,16 @@ #endif } +#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 18) +static ssize_t cifs_file_aio_write(struct kiocb *iocb, const struct iovec *iov, + unsigned long nr_segs, loff_t pos) +{ + struct inode *inode = iocb->ki_filp->f_dentry->d_inode; + ssize_t written; + + written = generic_file_aio_write(iocb, iov, nr_segs, pos); +#else + static ssize_t cifs_file_writev(struct file *file, const struct iovec *iov, unsigned long nr_segs, loff_t *ppos) { @@ -558,6 +570,7 @@ ssize_t written; written = generic_file_aio_write(iocb, buf, count, pos); +#endif if (!CIFS_I(inode)->clientCanCacheAll) filemap_fdatawrite(inode->i_mapping); return written; @@ -654,8 +667,10 @@ const struct file_operations cifs_file_ops = { .read = do_sync_read, .write = do_sync_write, +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 19) .readv = generic_file_readv, .writev = cifs_file_writev, +#endif .aio_read = generic_file_aio_read, .aio_write = cifs_file_aio_write, .open = cifs_open, @@ -698,8 +713,10 @@ const struct file_operations cifs_file_nobrl_ops = { .read = do_sync_read, .write = do_sync_write, +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 19) .readv = generic_file_readv, .writev = cifs_file_writev, +#endif .aio_read = generic_file_aio_read, .aio_write = cifs_file_aio_write, .open = cifs_open, @@ -775,8 +792,7 @@ static void cifs_destroy_inodecache(void) { - if (kmem_cache_destroy(cifs_inode_cachep)) - printk(KERN_WARNING "cifs_inode_cache: error freeing\n"); + kmem_cache_destroy(cifs_inode_cachep); } static int @@ -858,13 +874,9 @@ cifs_destroy_request_bufs(void) { mempool_destroy(cifs_req_poolp); - if (kmem_cache_destroy(cifs_req_cachep)) - printk(KERN_WARNING - "cifs_destroy_request_cache: error not all structures were freed\n"); + kmem_cache_destroy(cifs_req_cachep); mempool_destroy(cifs_sm_req_poolp); - if (kmem_cache_destroy(cifs_sm_req_cachep)) - printk(KERN_WARNING - "cifs_destroy_request_cache: cifs_small_rq free error\n"); + kmem_cache_destroy(cifs_sm_req_cachep); } static int @@ -901,13 +913,8 @@ cifs_destroy_mids(void) { mempool_destroy(cifs_mid_poolp); - if (kmem_cache_destroy(cifs_mid_cachep)) - printk(KERN_WARNING - "cifs_destroy_mids: error not all structures were freed\n"); - - if (kmem_cache_destroy(cifs_oplock_cachep)) - printk(KERN_WARNING - "error not all oplock structures were freed\n"); + kmem_cache_destroy(cifs_mid_cachep); + kmem_cache_destroy(cifs_oplock_cachep); } static int cifs_oplock_thread(void * dummyarg)