X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Futils%2Fliblustreapi_pcc.c;h=398239d89e6b97aaca8a2c6cf6264bc36f6d2a18;hp=8e52b8fcf26c80c15ed9c3e0170c9d6b010c4e67;hb=2dadefb4148f753dd93ee1dbebb3aac49bda2f8d;hpb=e29ecb659e51dd67758c5b0adb542210e7aeddb1 diff --git a/lustre/utils/liblustreapi_pcc.c b/lustre/utils/liblustreapi_pcc.c index 8e52b8f..398239d 100644 --- a/lustre/utils/liblustreapi_pcc.c +++ b/lustre/utils/liblustreapi_pcc.c @@ -182,14 +182,17 @@ int llapi_pcc_attach_fid_str(const char *mntpath, const char *fidstr, * detach PCC cache of a file by using fd. * * \param fd File handle. + * \param option Detach option * * \return 0 on success, an error code otherwise. */ -int llapi_pcc_detach_fd(int fd) +int llapi_pcc_detach_fd(int fd, __u32 option) { + struct lu_pcc_detach detach; int rc; - rc = ioctl(fd, LL_IOC_PCC_DETACH); + detach.pccd_opt = option; + rc = ioctl(fd, LL_IOC_PCC_DETACH, &detach); return rc; } @@ -198,14 +201,16 @@ int llapi_pcc_detach_fd(int fd) * * \param mntpath Fullpath to the client mount point. * \param fid FID of the file. + * \param option Detach option. * * \return 0 on success, an error code otherwise. */ -int llapi_pcc_detach_fid(const char *mntpath, const struct lu_fid *fid) +int llapi_pcc_detach_fid(const char *mntpath, const struct lu_fid *fid, + __u32 option) { int rc; int fd; - struct lu_pcc_detach detach; + struct lu_pcc_detach_fid detach; rc = get_root_path(WANT_FD, NULL, &fd, (char *)mntpath, -1); if (rc) { @@ -222,6 +227,7 @@ int llapi_pcc_detach_fid(const char *mntpath, const struct lu_fid *fid) * files. */ detach.pccd_fid = *fid; + detach.pccd_opt = option; rc = ioctl(fd, LL_IOC_PCC_DETACH_BY_FID, &detach); close(fd); return rc; @@ -231,11 +237,13 @@ int llapi_pcc_detach_fid(const char *mntpath, const struct lu_fid *fid) * detach PCC cache of a file via FID. * * \param mntpath Fullpath to the client mount point. - * \param fid FID string of the file. + * \param fidstr FID string of the file. + * \param option Detach option. * * \return 0 on success, an error code otherwise. */ -int llapi_pcc_detach_fid_str(const char *mntpath, const char *fidstr) +int llapi_pcc_detach_fid_str(const char *mntpath, const char *fidstr, + __u32 option) { int rc; struct lu_fid fid; @@ -252,7 +260,7 @@ int llapi_pcc_detach_fid_str(const char *mntpath, const char *fidstr) return -EINVAL; } - rc = llapi_pcc_detach_fid(mntpath, &fid); + rc = llapi_pcc_detach_fid(mntpath, &fid, option); return rc; } @@ -260,11 +268,12 @@ int llapi_pcc_detach_fid_str(const char *mntpath, const char *fidstr) /** * detach PCC cache of a file. * - * \param path Fullpath to the file to operate on. + * \param path Fullpath to the file to operate on. + * \param option Detach option. * * \return 0 on success, an error code otherwise. */ -int llapi_pcc_detach_file(const char *path) +int llapi_pcc_detach_file(const char *path, __u32 option) { int rc; int fd; @@ -277,7 +286,7 @@ int llapi_pcc_detach_file(const char *path) return rc; } - rc = llapi_pcc_detach_fd(fd); + rc = llapi_pcc_detach_fd(fd, option); close(fd); return rc; }