mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-29 07:04:10 +08:00
NFS: Cleanup - move nfs_write_inode() into fs/nfs/write.c
The sole purpose of nfs_write_inode is to commit unstable writes, so move it into fs/nfs/write.c, and make nfs_commit_inode static. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
parent
9467c4fdd6
commit
8fc795f703
@ -97,18 +97,6 @@ u64 nfs_compat_user_ino64(u64 fileid)
|
||||
return ino;
|
||||
}
|
||||
|
||||
int nfs_write_inode(struct inode *inode, struct writeback_control *wbc)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = nfs_commit_inode(inode,
|
||||
wbc->sync_mode == WB_SYNC_ALL ? FLUSH_SYNC : 0);
|
||||
if (ret >= 0)
|
||||
return 0;
|
||||
__mark_inode_dirty(inode, I_DIRTY_DATASYNC);
|
||||
return ret;
|
||||
}
|
||||
|
||||
void nfs_clear_inode(struct inode *inode)
|
||||
{
|
||||
/*
|
||||
|
@ -1391,7 +1391,7 @@ static const struct rpc_call_ops nfs_commit_ops = {
|
||||
.rpc_release = nfs_commit_release,
|
||||
};
|
||||
|
||||
int nfs_commit_inode(struct inode *inode, int how)
|
||||
static int nfs_commit_inode(struct inode *inode, int how)
|
||||
{
|
||||
LIST_HEAD(head);
|
||||
int res;
|
||||
@ -1406,13 +1406,35 @@ int nfs_commit_inode(struct inode *inode, int how)
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
static int nfs_commit_unstable_pages(struct inode *inode, struct writeback_control *wbc)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = nfs_commit_inode(inode,
|
||||
wbc->sync_mode == WB_SYNC_ALL ? FLUSH_SYNC : 0);
|
||||
if (ret >= 0)
|
||||
return 0;
|
||||
__mark_inode_dirty(inode, I_DIRTY_DATASYNC);
|
||||
return ret;
|
||||
}
|
||||
#else
|
||||
static inline int nfs_commit_list(struct inode *inode, struct list_head *head, int how)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int nfs_commit_unstable_pages(struct inode *inode, struct writeback_control *wbc)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
int nfs_write_inode(struct inode *inode, struct writeback_control *wbc)
|
||||
{
|
||||
return nfs_commit_unstable_pages(inode, wbc);
|
||||
}
|
||||
|
||||
long nfs_sync_mapping_wait(struct address_space *mapping, struct writeback_control *wbc, int how)
|
||||
{
|
||||
struct inode *inode = mapping->host;
|
||||
|
@ -483,15 +483,8 @@ extern int nfs_wb_nocommit(struct inode *inode);
|
||||
extern int nfs_wb_page(struct inode *inode, struct page* page);
|
||||
extern int nfs_wb_page_cancel(struct inode *inode, struct page* page);
|
||||
#if defined(CONFIG_NFS_V3) || defined(CONFIG_NFS_V4)
|
||||
extern int nfs_commit_inode(struct inode *, int);
|
||||
extern struct nfs_write_data *nfs_commitdata_alloc(void);
|
||||
extern void nfs_commit_free(struct nfs_write_data *wdata);
|
||||
#else
|
||||
static inline int
|
||||
nfs_commit_inode(struct inode *inode, int how)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
static inline int
|
||||
|
Loading…
Reference in New Issue
Block a user