- if (md == NULL)
- rc = extN_xattr_set(handle, inode, EXTN_XATTR_INDEX_LUSTRE,
- XATTR_LUSTRE_MDS_OBJID, NULL, 0, 0);
- else {
- md->lmd_magic = cpu_to_le32(XATTR_MDS_MO_MAGIC);
- rc = extN_xattr_set(handle, inode, EXTN_XATTR_INDEX_LUSTRE,
- XATTR_LUSTRE_MDS_OBJID, md,
- md->lmd_size, XATTR_CREATE);
- }
- up(&inode->i_sem);
+ lock_kernel();
+ rc = extN_xattr_set(handle, inode, EXTN_XATTR_INDEX_LUSTRE,
+ XATTR_LUSTRE_MDS_OBJID, lmm,
+ lmm ? lmm->lmm_easize : 0, 0);