Lines Matching refs:mds

429  * Find ceph_cap for given mds, if any.
433 static struct ceph_cap *__get_cap_for_mds(struct ceph_inode_info *ci, int mds)
440 if (mds < cap->mds)
442 else if (mds > cap->mds)
450 struct ceph_cap *ceph_get_cap_for_mds(struct ceph_inode_info *ci, int mds)
455 cap = __get_cap_for_mds(ci, mds);
473 if (new->mds < cap->mds)
475 else if (new->mds > cap->mds)
639 int mds = session->s_mds;
645 dout("add_cap %p mds%d cap %llx %s seq %d\n", inode,
652 cap = __get_cap_for_mds(ci, mds);
659 cap->mds = mds;
682 * auth mds of the inode changed. we received the cap export
736 * If we are issued caps we don't want, or the mds' wanted
738 * later and/or update the mds wanted value.
743 dout(" issued %s, mds wanted %s, actual %s, queueing\n",
762 dout("add_cap inode %p (%llx.%llx) cap %p %s now %s seq %d mds%d\n",
764 ceph_cap_string(issued|cap->issued), seq, mds);
781 * us losing touch with the mds).
868 dout("__touch_cap %p cap %p mds%d\n", &cap->ci->vfs_inode, cap,
872 dout("__touch_cap %p cap %p mds%d NOP, iterating over caps\n",
1314 /* pool namespace (version 8) (mds always ignores this) */
1350 * Make note of max_size reported/requested from mds, revoked caps
1597 dout("__flush_snaps %p auth cap %p not mds%d, "
1641 int mds;
1657 mds = ci->i_auth_cap->session->s_mds;
1658 if (session && session->s_mds != mds) {
1667 session = __ceph_lookup_mds_session(mdsc, mds);
1904 /* mds will adjust max size according to the reported size */
1918 * versus held caps. Release, flush, ack revoked caps to mds as
1935 int mds = -1; /* keep track of how far we've gone through i_caps list
1991 * because then the mds would revoke it anyway to
2038 if (mds >= cap->mds ||
2053 dout(" mds%d cap %p used %s issued %s implemented %s revoking %s\n",
2054 cap->mds, cap, ceph_cap_string(cap_used),
2093 /* want more caps from mds? */
2179 mds = cap->mds; /* remember mds, so we don't repeat */
2210 * Try to flush dirty caps back to the auth mds.
2441 * only wait on non-file metadata writeback (the mds
2462 * Flush any dirty caps back to the mds. If we aren't asked to wait,
2522 pr_err("%p auth cap %p not mds%d ???\n",
2578 dout("early_kick_flushing_caps mds%d\n", session->s_mds);
2588 pr_err("%p auth cap %p not mds%d ???\n",
2628 dout("kick_flushing_caps mds%d\n", session->s_mds);
2638 pr_err("%p auth cap %p not mds%d ???\n",
2836 dout("get_cap_refs %p need %s but mds%d readonly\n",
2837 inode, ceph_cap_string(need), ci->i_auth_cap->mds);
2944 * ask the mds) so we don't get hung up indefinitely.
3375 dout("handle_cap_grant inode %p cap %p mds%d seq %d %s\n",
3404 * auth mds of the inode changed. we received the cap export message,
3526 * If mds is importing cap, prior cap messages that update
3527 * 'wanted' may get dropped by mds (migrate seq mismatch).
3530 * want are already issued. If mds revokes caps, cap message
3531 * that releases caps also tells mds what we want. But if
3532 * caps got revoked by mds forcedly (session stale). We may
3533 * haven't told mds what we want.
3691 dout("handle_cap_flush_ack inode %p mds%d seq %d on %s cleaned %s,"
3711 dout(" mds%d still flushing cap on %p\n",
3811 dout("handle_cap_flushsnap_ack inode %p ci %p mds%d follows %lld\n",
3855 int mds = session->s_mds;
3869 dout("handle_cap_trunc inode %p mds%d seq %d to %lld seq %d\n",
3870 inode, mds, seq, truncate_size, truncate_seq);
3877 * Handle EXPORT from MDS. Cap is being migrated _from_ this mds to a
3896 int mds = session->s_mds;
3902 target = le32_to_cpu(ph->mds);
3908 dout("handle_cap_export inode %p ci %p mds%d mseq %d target %d\n",
3909 inode, ci, mds, mseq, target);
3912 cap = __get_cap_for_mds(ci, mds);
3929 "ino (%llx.%llx) mds%d seq %d mseq %d "
3931 ceph_vinop(inode), mds, cap->seq, cap->mseq,
3941 dout(" updating import cap %p mds%d\n", tcap, target);
3979 if (mds > target) {
4021 int mds = session->s_mds;
4034 peer = le32_to_cpu(ph->mds);
4040 dout("handle_cap_import inode %p ci %p mds%d mseq %d peer %d\n",
4041 inode, ci, mds, mseq, peer);
4043 cap = __get_cap_for_mds(ci, mds);
4067 dout(" remove export cap %p mds%d flags %d\n",
4074 "mds%d seq %d mseq %d importer mds%d "
4077 ocap->mseq, mds, le32_to_cpu(ph->seq),
4113 dout("handle_caps from mds%d\n", session->s_mds);
4216 dout(" mds%d seq %lld cap seq %u\n", session->s_mds, session->s_seq,
4273 dout(" no cap on %p ino %llx.%llx from mds%d\n",
4312 /* avoid calling iput_final() in mds dispatch threads */
4319 * along for the mds (who clearly thinks we still have this
4379 * Flush all dirty caps to the mds
4515 * Helpers for embedding cap and dentry lease releases into mds
4523 int mds, int drop, int unless, int force)
4535 dout("encode_inode_release %p mds%d used|dirty %s drop %s unless %s\n",
4536 inode, mds, ceph_cap_string(used|dirty), ceph_cap_string(drop),
4542 cap = __get_cap_for_mds(ci, mds);
4600 int mds, int drop, int unless)
4613 * doesn't have to be perfect; the mds will revoke anything we don't
4617 if (di->lease_session && di->lease_session->s_mds == mds)
4621 ret = ceph_encode_inode_release(p, dir, mds, drop, unless, force);
4624 if (ret && di->lease_session && di->lease_session->s_mds == mds) {
4625 dout("encode_dentry_release %p mds%d seq %d\n",
4626 dentry, mds, (int)di->lease_seq);