Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
LU-16977 utils: access_log_reader accesses beyond batch array
[fs/lustre-release.git]
/
lustre
/
utils
/
liblustreapi_pcc.c
diff --git
a/lustre/utils/liblustreapi_pcc.c
b/lustre/utils/liblustreapi_pcc.c
index
f538e02
..
47192e5
100644
(file)
--- a/
lustre/utils/liblustreapi_pcc.c
+++ b/
lustre/utils/liblustreapi_pcc.c
@@
-105,7
+105,7
@@
int llapi_pcc_attach(const char *path, __u32 id, enum lu_pcc_type type)
{
int rc;
- switch (type) {
+ switch (type
& LU_PCC_TYPE_MASK
) {
case LU_PCC_READWRITE:
rc = llapi_readwrite_pcc_attach(path, id);
break;
@@
-143,7
+143,7
@@
int llapi_pcc_attach_fid(const char *mntpath, const struct lu_fid *fid,
{
int rc;
- switch (type) {
+ switch (type
& LU_PCC_TYPE_MASK
) {
case LU_PCC_READWRITE:
rc = llapi_readwrite_pcc_attach_fid(mntpath, fid, id);
break;
@@
-193,6
+193,9
@@
int llapi_pcc_detach_fd(int fd, __u32 option)
detach.pccd_opt = option;
rc = ioctl(fd, LL_IOC_PCC_DETACH, &detach);
+ /* If error, save errno value */
+ rc = rc ? -errno : 0;
+
return rc;
}
@@
-212,7
+215,7
@@
int llapi_pcc_detach_fid(const char *mntpath, const struct lu_fid *fid,
int fd;
struct lu_pcc_detach_fid detach;
- rc =
get_root_path(WANT_FD, NULL, &fd, (char *)mntpath, -1
);
+ rc =
llapi_root_path_open(mntpath, &fd
);
if (rc) {
llapi_error(LLAPI_MSG_ERROR, rc, "cannot get root path: %s",
mntpath);
@@
-228,7
+231,10
@@
int llapi_pcc_detach_fid(const char *mntpath, const struct lu_fid *fid,
*/
detach.pccd_fid = *fid;
detach.pccd_opt = option;
+
rc = ioctl(fd, LL_IOC_PCC_DETACH_BY_FID, &detach);
+ rc = rc ? -errno : 0;
+
close(fd);
return rc;
}