diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-05 16:25:45 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-05 16:25:45 -0500 |
| commit | cc7889ff5ee7a1c1a2b5073c53db5ad9b76f14e2 (patch) | |
| tree | 647e11872abe7c20c0145de9adbb60f15085dad0 /include | |
| parent | b13d3c6e8ab6ac53e8c1858a9c837cb6ba3bbef0 (diff) | |
| parent | 3fa04ecd72780da31ba8b329e148179bc24a9c7d (diff) | |
Merge branch 'nfs-for-2.6.34' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6
* 'nfs-for-2.6.34' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (44 commits)
NFS: Remove requirement for inode->i_mutex from nfs_invalidate_mapping
NFS: Clean up nfs_sync_mapping
NFS: Simplify nfs_wb_page()
NFS: Replace __nfs_write_mapping with sync_inode()
NFS: Simplify nfs_wb_page_cancel()
NFS: Ensure inode is always marked I_DIRTY_DATASYNC, if it has unstable pages
NFS: Run COMMIT as an asynchronous RPC call when wbc->for_background is set
NFS: Reduce the number of unnecessary COMMIT calls
NFS: Add a count of the number of unstable writes carried by an inode
NFS: Cleanup - move nfs_write_inode() into fs/nfs/write.c
nfs41 fix NFS4ERR_CLID_INUSE for exchange id
NFS: Fix an allocation-under-spinlock bug
SUNRPC: Handle EINVAL error returns from the TCP connect operation
NFSv4.1: Various fixes to the sequence flag error handling
nfs4: renewd renew operations should take/put a client reference
nfs41: renewd sequence operations should take/put client reference
nfs: prevent backlogging of renewd requests
nfs: kill renewd before clearing client minor version
NFS: Make close(2) asynchronous when closing NFS O_DIRECT files
NFS: Improve NFS iostat byte count accuracy for writes
...
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/nfs_fs.h | 14 | ||||
| -rw-r--r-- | include/linux/nfs_fs_sb.h | 2 | ||||
| -rw-r--r-- | include/linux/sunrpc/bc_xprt.h | 15 |
3 files changed, 18 insertions, 13 deletions
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index d09db1bc9083..1a0b85aa151e 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h | |||
| @@ -33,9 +33,6 @@ | |||
| 33 | #define FLUSH_STABLE 4 /* commit to stable storage */ | 33 | #define FLUSH_STABLE 4 /* commit to stable storage */ |
| 34 | #define FLUSH_LOWPRI 8 /* low priority background flush */ | 34 | #define FLUSH_LOWPRI 8 /* low priority background flush */ |
| 35 | #define FLUSH_HIGHPRI 16 /* high priority memory reclaim flush */ | 35 | #define FLUSH_HIGHPRI 16 /* high priority memory reclaim flush */ |
| 36 | #define FLUSH_NOCOMMIT 32 /* Don't send the NFSv3/v4 COMMIT */ | ||
| 37 | #define FLUSH_INVALIDATE 64 /* Invalidate the page cache */ | ||
| 38 | #define FLUSH_NOWRITEPAGE 128 /* Don't call writepage() */ | ||
| 39 | 36 | ||
| 40 | #ifdef __KERNEL__ | 37 | #ifdef __KERNEL__ |
| 41 | 38 | ||
| @@ -166,6 +163,7 @@ struct nfs_inode { | |||
| 166 | struct radix_tree_root nfs_page_tree; | 163 | struct radix_tree_root nfs_page_tree; |
| 167 | 164 | ||
| 168 | unsigned long npages; | 165 | unsigned long npages; |
| 166 | unsigned long ncommit; | ||
| 169 | 167 | ||
| 170 | /* Open contexts for shared mmap writes */ | 168 | /* Open contexts for shared mmap writes */ |
| 171 | struct list_head open_files; | 169 | struct list_head open_files; |
| @@ -349,7 +347,6 @@ extern int nfs_attribute_timeout(struct inode *inode); | |||
| 349 | extern int nfs_revalidate_inode(struct nfs_server *server, struct inode *inode); | 347 | extern int nfs_revalidate_inode(struct nfs_server *server, struct inode *inode); |
| 350 | extern int __nfs_revalidate_inode(struct nfs_server *, struct inode *); | 348 | extern int __nfs_revalidate_inode(struct nfs_server *, struct inode *); |
| 351 | extern int nfs_revalidate_mapping(struct inode *inode, struct address_space *mapping); | 349 | extern int nfs_revalidate_mapping(struct inode *inode, struct address_space *mapping); |
| 352 | extern int nfs_revalidate_mapping_nolock(struct inode *inode, struct address_space *mapping); | ||
| 353 | extern int nfs_setattr(struct dentry *, struct iattr *); | 350 | extern int nfs_setattr(struct dentry *, struct iattr *); |
| 354 | extern void nfs_setattr_update_inode(struct inode *inode, struct iattr *attr); | 351 | extern void nfs_setattr_update_inode(struct inode *inode, struct iattr *attr); |
| 355 | extern struct nfs_open_context *get_nfs_open_context(struct nfs_open_context *ctx); | 352 | extern struct nfs_open_context *get_nfs_open_context(struct nfs_open_context *ctx); |
| @@ -477,21 +474,12 @@ extern int nfs_writeback_done(struct rpc_task *, struct nfs_write_data *); | |||
| 477 | * Try to write back everything synchronously (but check the | 474 | * Try to write back everything synchronously (but check the |
| 478 | * return value!) | 475 | * return value!) |
| 479 | */ | 476 | */ |
| 480 | extern long nfs_sync_mapping_wait(struct address_space *, struct writeback_control *, int); | ||
| 481 | extern int nfs_wb_all(struct inode *inode); | 477 | extern int nfs_wb_all(struct inode *inode); |
| 482 | extern int nfs_wb_nocommit(struct inode *inode); | ||
| 483 | extern int nfs_wb_page(struct inode *inode, struct page* page); | 478 | extern int nfs_wb_page(struct inode *inode, struct page* page); |
| 484 | extern int nfs_wb_page_cancel(struct inode *inode, struct page* page); | 479 | extern int nfs_wb_page_cancel(struct inode *inode, struct page* page); |
| 485 | #if defined(CONFIG_NFS_V3) || defined(CONFIG_NFS_V4) | 480 | #if defined(CONFIG_NFS_V3) || defined(CONFIG_NFS_V4) |
| 486 | extern int nfs_commit_inode(struct inode *, int); | ||
| 487 | extern struct nfs_write_data *nfs_commitdata_alloc(void); | 481 | extern struct nfs_write_data *nfs_commitdata_alloc(void); |
| 488 | extern void nfs_commit_free(struct nfs_write_data *wdata); | 482 | extern void nfs_commit_free(struct nfs_write_data *wdata); |
| 489 | #else | ||
| 490 | static inline int | ||
| 491 | nfs_commit_inode(struct inode *inode, int how) | ||
| 492 | { | ||
| 493 | return 0; | ||
| 494 | } | ||
| 495 | #endif | 483 | #endif |
| 496 | 484 | ||
| 497 | static inline int | 485 | static inline int |
diff --git a/include/linux/nfs_fs_sb.h b/include/linux/nfs_fs_sb.h index 6a2e44fd75e2..717a5e54eb1d 100644 --- a/include/linux/nfs_fs_sb.h +++ b/include/linux/nfs_fs_sb.h | |||
| @@ -193,6 +193,8 @@ struct nfs4_slot_table { | |||
| 193 | int max_slots; /* # slots in table */ | 193 | int max_slots; /* # slots in table */ |
| 194 | int highest_used_slotid; /* sent to server on each SEQ. | 194 | int highest_used_slotid; /* sent to server on each SEQ. |
| 195 | * op for dynamic resizing */ | 195 | * op for dynamic resizing */ |
| 196 | int target_max_slots; /* Set by CB_RECALL_SLOT as | ||
| 197 | * the new max_slots */ | ||
| 196 | }; | 198 | }; |
| 197 | 199 | ||
| 198 | static inline int slot_idx(struct nfs4_slot_table *tbl, struct nfs4_slot *sp) | 200 | static inline int slot_idx(struct nfs4_slot_table *tbl, struct nfs4_slot *sp) |
diff --git a/include/linux/sunrpc/bc_xprt.h b/include/linux/sunrpc/bc_xprt.h index 6508f0dc0eff..d7152b451e21 100644 --- a/include/linux/sunrpc/bc_xprt.h +++ b/include/linux/sunrpc/bc_xprt.h | |||
| @@ -38,12 +38,27 @@ int xprt_setup_backchannel(struct rpc_xprt *, unsigned int min_reqs); | |||
| 38 | void xprt_destroy_backchannel(struct rpc_xprt *, int max_reqs); | 38 | void xprt_destroy_backchannel(struct rpc_xprt *, int max_reqs); |
| 39 | void bc_release_request(struct rpc_task *); | 39 | void bc_release_request(struct rpc_task *); |
| 40 | int bc_send(struct rpc_rqst *req); | 40 | int bc_send(struct rpc_rqst *req); |
| 41 | |||
| 42 | /* | ||
| 43 | * Determine if a shared backchannel is in use | ||
| 44 | */ | ||
| 45 | static inline int svc_is_backchannel(const struct svc_rqst *rqstp) | ||
| 46 | { | ||
| 47 | if (rqstp->rq_server->bc_xprt) | ||
| 48 | return 1; | ||
| 49 | return 0; | ||
| 50 | } | ||
| 41 | #else /* CONFIG_NFS_V4_1 */ | 51 | #else /* CONFIG_NFS_V4_1 */ |
| 42 | static inline int xprt_setup_backchannel(struct rpc_xprt *xprt, | 52 | static inline int xprt_setup_backchannel(struct rpc_xprt *xprt, |
| 43 | unsigned int min_reqs) | 53 | unsigned int min_reqs) |
| 44 | { | 54 | { |
| 45 | return 0; | 55 | return 0; |
| 46 | } | 56 | } |
| 57 | |||
| 58 | static inline int svc_is_backchannel(const struct svc_rqst *rqstp) | ||
| 59 | { | ||
| 60 | return 0; | ||
| 61 | } | ||
| 47 | #endif /* CONFIG_NFS_V4_1 */ | 62 | #endif /* CONFIG_NFS_V4_1 */ |
| 48 | #endif /* _LINUX_SUNRPC_BC_XPRT_H */ | 63 | #endif /* _LINUX_SUNRPC_BC_XPRT_H */ |
| 49 | 64 | ||
