NFSv4: Add support for open_create() by plumbing it into open(O_CREAT)

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
libnfs-4.0.0-vitalif
Ronnie Sahlberg 2017-08-06 19:15:04 +10:00
parent efb21535ab
commit 9854c0d574
3 changed files with 15 additions and 2 deletions

View File

@ -476,6 +476,8 @@ int nfs4_chdir_async(struct nfs_context *nfs, const char *path,
nfs_cb cb, void *private_data);
int nfs4_close_async(struct nfs_context *nfs, struct nfsfh *nfsfh, nfs_cb cb,
void *private_data);
int nfs4_create_async(struct nfs_context *nfs, const char *path, int flags,
int mode, nfs_cb cb, void *private_data);
int nfs4_fstat64_async(struct nfs_context *nfs, struct nfsfh *nfsfh, nfs_cb cb,
void *private_data);
int nfs4_mkdir2_async(struct nfs_context *nfs, const char *path, int mode,

View File

@ -1207,9 +1207,12 @@ nfs_create_async(struct nfs_context *nfs, const char *path, int flags,
case NFS_V3:
return nfs3_create_async(nfs, path, flags, mode,
cb, private_data);
case NFS_V4:
return nfs4_create_async(nfs, path, flags, mode,
cb, private_data);
default:
nfs_set_error(nfs, "%s does not support NFSv4",
__FUNCTION__);
nfs_set_error(nfs, "%s does not support NFSv%d",
__FUNCTION__, nfs->version);
return -1;
}
}

View File

@ -2506,3 +2506,11 @@ nfs4_write_async(struct nfs_context *nfs, struct nfsfh *nfsfh, uint64_t count,
(size_t)count, buf,
cb, private_data, 1);
}
int
nfs4_create_async(struct nfs_context *nfs, const char *path, int flags,
int mode, nfs_cb cb, void *private_data)
{
return nfs4_open_async(nfs, path, O_CREAT | flags, mode,
cb, private_data);
}