- }
-
- if (rc == 0) {
- struct ldlm_res_id res_id = { . name = {0} };
- ldlm_policy_data_t policy;
- int flags = 0;
- res_id.name[0] = dchild->d_inode->i_ino;
- res_id.name[1] = dchild->d_inode->i_generation;
- policy.l_inodebits.bits = MDS_INODELOCK_LOOKUP |
- MDS_INODELOCK_UPDATE;
- rc = ldlm_cli_enqueue(NULL, NULL, obd->obd_namespace,
- res_id, LDLM_IBITS, &policy,
- LCK_PR, &flags,
- mds_blocking_ast,
- ldlm_completion_ast, NULL, NULL,
- NULL, 0, NULL, child_lockh);
- if (rc == 0)
- cleanup_phase = 3;
+ if (is_mount_object(dchild)) {
+ CERROR("Found possible GNS mount object %*s; not "
+ "opening.\n", dchild->d_name.len,
+ dchild->d_name.name);
+ GOTO(cleanup, rc = 0); // success, but don't really open
+ }