diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/bio.h | 2 | ||||
| -rw-r--r-- | include/linux/compat.h | 2 | ||||
| -rw-r--r-- | include/linux/fs.h | 13 | ||||
| -rw-r--r-- | include/linux/nfs_page.h | 5 | ||||
| -rw-r--r-- | include/linux/sunrpc/auth.h | 8 |
5 files changed, 17 insertions, 13 deletions
diff --git a/include/linux/bio.h b/include/linux/bio.h index 5683e383a4f2..ca324808509f 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h @@ -219,6 +219,8 @@ extern int bio_get_nr_vecs(struct block_device *); extern struct bio *bio_map_user(struct block_device *, unsigned long, unsigned int, int); extern void bio_unmap_user(struct bio *, int); +extern void bio_set_pages_dirty(struct bio *bio); +extern void bio_check_pages_dirty(struct bio *bio); #ifdef CONFIG_HIGHMEM /* diff --git a/include/linux/compat.h b/include/linux/compat.h index 39405f5a06ea..6a1ab40649f8 100644 --- a/include/linux/compat.h +++ b/include/linux/compat.h @@ -36,6 +36,8 @@ struct compat_tms { extern int cp_compat_stat(struct kstat *, struct compat_stat *); extern int get_compat_flock(struct flock *, struct compat_flock *); extern int put_compat_flock(struct flock *, struct compat_flock *); +extern int get_compat_timespec(struct timespec *, struct compat_timespec *); +extern int put_compat_timespec(struct timespec *, struct compat_timespec *); #endif /* CONFIG_COMPAT */ #endif /* _LINUX_COMPAT_H */ diff --git a/include/linux/fs.h b/include/linux/fs.h index 878f2d2e4a9f..821034d8745b 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -276,6 +276,7 @@ struct iattr { struct page; struct address_space; struct writeback_control; +struct kiocb; struct address_space_operations { int (*writepage)(struct page *page, struct writeback_control *wbc); @@ -301,7 +302,7 @@ struct address_space_operations { sector_t (*bmap)(struct address_space *, sector_t); int (*invalidatepage) (struct page *, unsigned long); int (*releasepage) (struct page *, int); - int (*direct_IO)(int, struct file *, const struct iovec *iov, + int (*direct_IO)(int, struct kiocb *, const struct iovec *iov, loff_t offset, unsigned long nr_segs); }; @@ -736,7 +737,6 @@ typedef int (*read_actor_t)(read_descriptor_t *, struct page *, unsigned long, u * read, write, poll, fsync, readv, writev can be called * without the big kernel lock held in all filesystems. */ -struct kiocb; struct file_operations { struct module *owner; loff_t (*llseek) (struct file *, loff_t, int); @@ -1234,6 +1234,8 @@ extern ssize_t generic_file_read(struct file *, char *, size_t, loff_t *); extern ssize_t generic_file_write(struct file *, const char *, size_t, loff_t *); extern ssize_t generic_file_aio_read(struct kiocb *, char *, size_t, loff_t); extern ssize_t generic_file_aio_write(struct kiocb *, const char *, size_t, loff_t); +extern ssize_t generic_file_aio_write_nolock(struct kiocb *, const struct iovec *, + unsigned long, loff_t *); extern ssize_t do_sync_read(struct file *filp, char *buf, size_t len, loff_t *ppos); extern ssize_t do_sync_write(struct file *filp, const char *buf, size_t len, loff_t *ppos); ssize_t generic_file_write_nolock(struct file *file, const struct iovec *iov, @@ -1243,10 +1245,11 @@ extern void do_generic_mapping_read(struct address_space *, struct file_ra_state loff_t *, read_descriptor_t *, read_actor_t); extern void file_ra_state_init(struct file_ra_state *ra, struct address_space *mapping); -extern ssize_t generic_file_direct_IO(int rw, struct file *file, +extern ssize_t generic_file_direct_IO(int rw, struct kiocb *iocb, const struct iovec *iov, loff_t offset, unsigned long nr_segs); -extern int generic_direct_IO(int rw, struct inode *inode, struct block_device *bdev, - const struct iovec *iov, loff_t offset, unsigned long nr_segs, get_blocks_t *get_blocks); +extern int blockdev_direct_IO(int rw, struct kiocb *iocb, struct inode *inode, + struct block_device *bdev, const struct iovec *iov, loff_t offset, + unsigned long nr_segs, get_blocks_t *get_blocks); extern ssize_t generic_file_readv(struct file *filp, const struct iovec *iov, unsigned long nr_segs, loff_t *ppos); ssize_t generic_file_writev(struct file *filp, const struct iovec *iov, diff --git a/include/linux/nfs_page.h b/include/linux/nfs_page.h index 5d0c8b4089d1..fb0a8e39e669 100644 --- a/include/linux/nfs_page.h +++ b/include/linux/nfs_page.h @@ -30,8 +30,9 @@ struct nfs_page { struct rpc_cred *wb_cred; struct page *wb_page; /* page to read in/write out */ wait_queue_head_t wb_wait; /* wait queue */ - unsigned long wb_index; /* Offset within mapping */ - unsigned int wb_offset, /* Offset within page */ + unsigned long wb_index; /* Offset >> PAGE_CACHE_SHIFT */ + unsigned int wb_offset, /* Offset & ~PAGE_CACHE_MASK */ + wb_pgbase, /* Start of page data */ wb_bytes, /* Length of request */ wb_count; /* reference count */ unsigned long wb_flags; diff --git a/include/linux/sunrpc/auth.h b/include/linux/sunrpc/auth.h index 6106cf73da6b..5e481026fc7e 100644 --- a/include/linux/sunrpc/auth.h +++ b/include/linux/sunrpc/auth.h @@ -23,7 +23,7 @@ * Client user credentials */ struct rpc_cred { - struct rpc_cred * cr_next; /* linked list */ + struct list_head cr_hash; /* hash chain */ struct rpc_auth * cr_auth; struct rpc_credops * cr_ops; unsigned long cr_expire; /* when to gc */ @@ -49,7 +49,7 @@ struct rpc_cred { #define RPC_CREDCACHE_NR 8 #define RPC_CREDCACHE_MASK (RPC_CREDCACHE_NR - 1) struct rpc_auth { - struct rpc_cred * au_credcache[RPC_CREDCACHE_NR]; + struct list_head au_credcache[RPC_CREDCACHE_NR]; unsigned long au_expire; /* cache expiry interval */ unsigned long au_nextgc; /* next garbage collection */ unsigned int au_cslack; /* call cred size estimate */ @@ -101,8 +101,6 @@ struct rpc_cred * rpcauth_bindcred(struct rpc_task *); void rpcauth_holdcred(struct rpc_task *); void put_rpccred(struct rpc_cred *); void rpcauth_unbindcred(struct rpc_task *); -int rpcauth_matchcred(struct rpc_auth *, - struct rpc_cred *, int); u32 * rpcauth_marshcred(struct rpc_task *, u32 *); u32 * rpcauth_checkverf(struct rpc_task *, u32 *); int rpcauth_refreshcred(struct rpc_task *); @@ -110,8 +108,6 @@ void rpcauth_invalcred(struct rpc_task *); int rpcauth_uptodatecred(struct rpc_task *); void rpcauth_init_credcache(struct rpc_auth *); void rpcauth_free_credcache(struct rpc_auth *); -void rpcauth_insert_credcache(struct rpc_auth *, - struct rpc_cred *); static inline struct rpc_cred * get_rpccred(struct rpc_cred *cred) |
