From 31446958e56a9cbe3dc7f4f5644a3244dda42ac0 Mon Sep 17 00:00:00 2001 From: vitaly Date: Mon, 15 Sep 2008 18:30:35 +0000 Subject: [PATCH] Branch b1_8_gate b=15949 i=adilger i=shadow --- lustre/liblustre/super.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/lustre/liblustre/super.c b/lustre/liblustre/super.c index 7c20e5a..acbe5b0 100644 --- a/lustre/liblustre/super.c +++ b/lustre/liblustre/super.c @@ -92,12 +92,12 @@ static int ll_permission(struct inode *inode, int mask) if ((mask & (MAY_READ|MAY_WRITE)) || (st->st_mode & S_IXUGO)) - if (capable(CAP_DAC_OVERRIDE)) + if (cfs_capable(CFS_CAP_DAC_OVERRIDE)) return 0; if (mask == MAY_READ || (S_ISDIR(st->st_mode) && !(mask & MAY_WRITE))) { - if (capable(CAP_DAC_READ_SEARCH)) + if (cfs_capable(CFS_CAP_DAC_READ_SEARCH)) return 0; } @@ -603,7 +603,7 @@ static int inode_setattr(struct inode * inode, struct iattr * attr) st->st_ctime = attr->ia_ctime; if (ia_valid & ATTR_MODE) { st->st_mode = attr->ia_mode; - if (!in_group_p(st->st_gid) && !capable(CAP_FSETID)) + if (!in_group_p(st->st_gid) && !cfs_capable(CFS_CAP_FSETID)) st->st_mode &= ~S_ISGID; } /* mark_inode_dirty(inode); */ @@ -729,7 +729,7 @@ int llu_setattr_raw(struct inode *inode, struct iattr *attr) } else { /* from inode_change_ok() */ if (current->fsuid != st->st_uid && - !capable(CAP_FOWNER)) + !cfs_capable(CFS_CAP_FOWNER)) RETURN(-EPERM); } } @@ -880,10 +880,9 @@ static int llu_iop_symlink_raw(struct pnode *pno, const char *tgt) RETURN(err); llu_prepare_mdc_op_data(&op_data, dir, NULL, name, len, 0); - err = mdc_create(sbi->ll_mdc_exp, &op_data, - tgt, strlen(tgt) + 1, S_IFLNK | S_IRWXUGO, - current->fsuid, current->fsgid, current->cap_effective, - 0, &request); + err = mdc_create(sbi->ll_mdc_exp, &op_data, tgt, strlen(tgt) + 1, + S_IFLNK | S_IRWXUGO, current->fsuid, current->fsgid, + cfs_curproc_cap_pack(), 0, &request); ptlrpc_req_finished(request); liblustre_wait_event(0); RETURN(err); @@ -1012,7 +1011,7 @@ static int llu_iop_mknod_raw(struct pnode *pno, 0); err = mdc_create(sbi->ll_mdc_exp, &op_data, NULL, 0, mode, current->fsuid, current->fsgid, - current->cap_effective, dev, &request); + cfs_curproc_cap_pack(), dev, &request); ptlrpc_req_finished(request); break; case S_IFDIR: @@ -1240,9 +1239,9 @@ static int llu_iop_mkdir_raw(struct pnode *pno, mode_t mode) RETURN(err); llu_prepare_mdc_op_data(&op_data, dir, NULL, name, len, 0); - err = mdc_create(llu_i2sbi(dir)->ll_mdc_exp, &op_data, NULL, 0, mode | S_IFDIR, - current->fsuid, current->fsgid, current->cap_effective, - 0, &request); + err = mdc_create(llu_i2sbi(dir)->ll_mdc_exp, &op_data, NULL, 0, + mode | S_IFDIR, current->fsuid, current->fsgid, + cfs_curproc_cap_pack(), 0, &request); ptlrpc_req_finished(request); liblustre_wait_event(0); RETURN(err); -- 1.8.3.1