X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fobdclass%2Fobdo.c;h=774f0baa873854b0f502098efdcc07d87fc3d32d;hb=c7515002525bb10ef51c2bb8e5dc23cfef7bc484;hp=6dc0ffe810f46a6fada62a3043371bbc72ac6046;hpb=6869932b552ac705f411de3362f01bd50c1f6f7d;p=fs%2Flustre-release.git diff --git a/lustre/obdclass/obdo.c b/lustre/obdclass/obdo.c index 6dc0ffe..774f0ba 100644 --- a/lustre/obdclass/obdo.c +++ b/lustre/obdclass/obdo.c @@ -56,9 +56,6 @@ void obdo_cpy_md(struct obdo *dst, struct obdo *src, obd_flag valid) { #ifdef __KERNEL__ - CLASSERT(sizeof(struct lustre_handle) + - sizeof(struct llog_cookie) <= sizeof(src->o_inline)); - CDEBUG(D_INODE, "src obdo "LPX64" valid "LPX64", dst obdo "LPX64"\n", src->o_id, src->o_valid, dst->o_id); #endif @@ -86,8 +83,10 @@ void obdo_cpy_md(struct obdo *dst, struct obdo *src, obd_flag valid) dst->o_flags = src->o_flags; if (valid & OBD_MD_FLGENER) dst->o_generation = src->o_generation; - if (valid & OBD_MD_FLINLINE) - memcpy(dst->o_inline, src->o_inline, sizeof(src->o_inline)); + if (valid & OBD_MD_FLHANDLE) + dst->o_handle = src->o_handle; + if (valid & OBD_MD_FLCOOKIE) + dst->o_lcookie = src->o_lcookie; dst->o_valid |= valid; } @@ -164,7 +163,8 @@ void obdo_from_iattr(struct obdo *oa, struct iattr *attr, unsigned int ia_valid) if (ia_valid & ATTR_MODE) { oa->o_mode = attr->ia_mode; oa->o_valid |= OBD_MD_FLTYPE | OBD_MD_FLMODE; - if (!in_group_p(oa->o_gid) && !capable(CAP_FSETID)) + if (!cfs_curproc_is_in_groups(oa->o_gid) && + !cfs_capable(CFS_CAP_FSETID)) oa->o_mode &= ~S_ISGID; } if (ia_valid & ATTR_UID) { @@ -212,7 +212,8 @@ void iattr_from_obdo(struct iattr *attr, struct obdo *oa, obd_flag valid) if (valid & OBD_MD_FLMODE) { attr->ia_mode = (attr->ia_mode & S_IFMT)|(oa->o_mode & ~S_IFMT); attr->ia_valid |= ATTR_MODE; - if (!in_group_p(oa->o_gid) && !capable(CAP_FSETID)) + if (!cfs_curproc_is_in_groups(oa->o_gid) && + !cfs_capable(CFS_CAP_FSETID)) attr->ia_mode &= ~S_ISGID; } if (valid & OBD_MD_FLUID) {