*/
/*
* This file is part of Lustre, http://www.lustre.org/
- * Lustre is a trademark of Sun Microsystems, Inc.
*
* lustre/mdt/mdt_xattr.c
*
struct lu_buf *buf;
int easize, rc;
u64 valid;
+ ktime_t kstart = ktime_get();
ENTRY;
LASSERT(info->mti_object != NULL);
EXIT;
out:
if (rc >= 0) {
- mdt_counter_incr(req, LPROC_MDT_GETXATTR);
+ mdt_counter_incr(req, LPROC_MDT_GETXATTR,
+ ktime_us_delta(ktime_get(), kstart));
/* LU-11109: Set OBD_MD_FLXATTR on success so that
* newer clients can distinguish between nonexistent
* xattrs and zero length values.
if (!mdt->mdt_enable_dir_migration)
RETURN(-EPERM);
- if (!md_capable(uc, CFS_CAP_SYS_ADMIN) &&
+ if (!md_capable(uc, CAP_SYS_ADMIN) &&
uc->uc_gid != mdt->mdt_enable_remote_dir_gid &&
mdt->mdt_enable_remote_dir_gid != -1)
RETURN(-EPERM);
}
if (lmu->lum_hash_type &&
- lmu->lum_hash_type !=
+ (lmu->lum_hash_type & cpu_to_le32(LMV_HASH_TYPE_MASK)) !=
(lmv->lmv_merge_hash & cpu_to_le32(LMV_HASH_TYPE_MASK))) {
CERROR("%s: "DFID" merge hash mismatch %u != %u\n",
mdt_obd_name(info->mti_mdt), PFID(rr->rr_fid1),
lmv->lmv_hash_type &= ~LMV_HASH_FLAG_LAYOUT_CHANGE;
lmv->lmv_layout_version = cpu_to_le32(++version);
+ lmv->lmv_migrate_offset = 0;
+ lmv->lmv_migrate_hash = 0;
buf->lb_buf = lmv;
buf->lb_len = sizeof(*lmv);
rc = mo_xattr_set(env, mdt_object_child(obj), buf,
const char *xattr_name = rr->rr_name.ln_name;
int xattr_len = rr->rr_eadatalen;
__u64 lockpart = MDS_INODELOCK_UPDATE;
+ ktime_t kstart = ktime_get();
int rc;
ENTRY;
}
}
- if (!md_capable(mdt_ucred(info), CFS_CAP_SYS_ADMIN))
+ if (!md_capable(mdt_ucred(info), CAP_SYS_ADMIN))
GOTO(out, rc = -EPERM);
if (strcmp(xattr_name, XATTR_NAME_LOV) == 0 ||
}
if (rc == 0)
- mdt_counter_incr(req, LPROC_MDT_SETXATTR);
+ mdt_counter_incr(req, LPROC_MDT_SETXATTR,
+ ktime_us_delta(ktime_get(), kstart));
EXIT;
out_unlock: