NFSv4.1 convert layoutcommit sync to boolean
Signed-off-by: Andy Adamson <andros@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
parent
de4b15c7e9
commit
ef31153786
6 changed files with 12 additions and 10 deletions
|
@ -328,7 +328,7 @@ nfs_file_fsync(struct file *file, int datasync)
|
||||||
ret = status;
|
ret = status;
|
||||||
if (!ret && !datasync)
|
if (!ret && !datasync)
|
||||||
/* application has asked for meta-data sync */
|
/* application has asked for meta-data sync */
|
||||||
ret = pnfs_layoutcommit_inode(inode, 1);
|
ret = pnfs_layoutcommit_inode(inode, true);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -263,7 +263,7 @@ extern int nfs4_init_session(struct nfs_server *server);
|
||||||
extern int nfs4_proc_get_lease_time(struct nfs_client *clp,
|
extern int nfs4_proc_get_lease_time(struct nfs_client *clp,
|
||||||
struct nfs_fsinfo *fsinfo);
|
struct nfs_fsinfo *fsinfo);
|
||||||
extern int nfs4_proc_layoutcommit(struct nfs4_layoutcommit_data *data,
|
extern int nfs4_proc_layoutcommit(struct nfs4_layoutcommit_data *data,
|
||||||
int sync);
|
bool sync);
|
||||||
|
|
||||||
static inline bool
|
static inline bool
|
||||||
is_ds_only_client(struct nfs_client *clp)
|
is_ds_only_client(struct nfs_client *clp)
|
||||||
|
|
|
@ -5671,7 +5671,7 @@ static const struct rpc_call_ops nfs4_layoutcommit_ops = {
|
||||||
};
|
};
|
||||||
|
|
||||||
int
|
int
|
||||||
nfs4_proc_layoutcommit(struct nfs4_layoutcommit_data *data, int sync)
|
nfs4_proc_layoutcommit(struct nfs4_layoutcommit_data *data, bool sync)
|
||||||
{
|
{
|
||||||
struct rpc_message msg = {
|
struct rpc_message msg = {
|
||||||
.rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_LAYOUTCOMMIT],
|
.rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_LAYOUTCOMMIT],
|
||||||
|
@ -5699,7 +5699,7 @@ nfs4_proc_layoutcommit(struct nfs4_layoutcommit_data *data, int sync)
|
||||||
task = rpc_run_task(&task_setup_data);
|
task = rpc_run_task(&task_setup_data);
|
||||||
if (IS_ERR(task))
|
if (IS_ERR(task))
|
||||||
return PTR_ERR(task);
|
return PTR_ERR(task);
|
||||||
if (!sync)
|
if (sync == false)
|
||||||
goto out;
|
goto out;
|
||||||
status = nfs4_wait_for_completion_rpc_task(task);
|
status = nfs4_wait_for_completion_rpc_task(task);
|
||||||
if (status != 0)
|
if (status != 0)
|
||||||
|
|
|
@ -991,7 +991,7 @@ EXPORT_SYMBOL_GPL(pnfs_set_layoutcommit);
|
||||||
* if WRITEs to a data server return NFS_DATA_SYNC.
|
* if WRITEs to a data server return NFS_DATA_SYNC.
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
pnfs_layoutcommit_inode(struct inode *inode, int sync)
|
pnfs_layoutcommit_inode(struct inode *inode, bool sync)
|
||||||
{
|
{
|
||||||
struct nfs4_layoutcommit_data *data;
|
struct nfs4_layoutcommit_data *data;
|
||||||
struct nfs_inode *nfsi = NFS_I(inode);
|
struct nfs_inode *nfsi = NFS_I(inode);
|
||||||
|
|
|
@ -155,7 +155,7 @@ void pnfs_roc_release(struct inode *ino);
|
||||||
void pnfs_roc_set_barrier(struct inode *ino, u32 barrier);
|
void pnfs_roc_set_barrier(struct inode *ino, u32 barrier);
|
||||||
bool pnfs_roc_drain(struct inode *ino, u32 *barrier);
|
bool pnfs_roc_drain(struct inode *ino, u32 *barrier);
|
||||||
void pnfs_set_layoutcommit(struct nfs_write_data *wdata);
|
void pnfs_set_layoutcommit(struct nfs_write_data *wdata);
|
||||||
int pnfs_layoutcommit_inode(struct inode *inode, int sync);
|
int pnfs_layoutcommit_inode(struct inode *inode, bool sync);
|
||||||
|
|
||||||
static inline int lo_fail_bit(u32 iomode)
|
static inline int lo_fail_bit(u32 iomode)
|
||||||
{
|
{
|
||||||
|
@ -328,7 +328,7 @@ static inline void pnfs_clear_request_commit(struct nfs_page *req)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int pnfs_layoutcommit_inode(struct inode *inode, int sync)
|
static inline int pnfs_layoutcommit_inode(struct inode *inode, bool sync)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1566,10 +1566,12 @@ int nfs_write_inode(struct inode *inode, struct writeback_control *wbc)
|
||||||
|
|
||||||
ret = nfs_commit_unstable_pages(inode, wbc);
|
ret = nfs_commit_unstable_pages(inode, wbc);
|
||||||
if (ret >= 0 && test_bit(NFS_INO_LAYOUTCOMMIT, &NFS_I(inode)->flags)) {
|
if (ret >= 0 && test_bit(NFS_INO_LAYOUTCOMMIT, &NFS_I(inode)->flags)) {
|
||||||
int status, sync = wbc->sync_mode;
|
int status;
|
||||||
|
bool sync = true;
|
||||||
|
|
||||||
if (wbc->nonblocking || wbc->for_background)
|
if (wbc->sync_mode == WB_SYNC_NONE || wbc->nonblocking ||
|
||||||
sync = 0;
|
wbc->for_background)
|
||||||
|
sync = false;
|
||||||
|
|
||||||
status = pnfs_layoutcommit_inode(inode, sync);
|
status = pnfs_layoutcommit_inode(inode, sync);
|
||||||
if (status < 0)
|
if (status < 0)
|
||||||
|
|
Loading…
Reference in a new issue