- ll_have_md_lock(inode, &bits, LCK_MINMODE);
-
- if (bits & MDS_INODELOCK_OPEN)
- ll_have_md_lock(inode, &bits, mode);
-
- fid = ll_inode2fid(inode);
- if (!fid_res_name_eq(fid, &lock->l_resource->lr_name))
- LDLM_ERROR(lock, "data mismatch with object "
- DFID" (%p)", PFID(fid), inode);
-
- if (bits & MDS_INODELOCK_OPEN) {
- int flags = 0;
- switch (lock->l_req_mode) {
- case LCK_CW:
- flags = FMODE_WRITE;
- break;
- case LCK_PR:
- flags = FMODE_EXEC;
- break;
- case LCK_CR:
- flags = FMODE_READ;
- break;
- default:
- CERROR("%s: unexpected lock mode for OPEN lock"
- " %d, inode "DFID"\n",
- ll_get_fsname(inode->i_sb, NULL, 0),
- lock->l_req_mode,
- PFID(ll_inode2fid(inode)));
- }
- ll_md_real_close(inode, flags);
- }