Lines Matching defs:capsnap

527 	struct ceph_cap_snap *capsnap = *pcapsnap;
541 * up this capsnap it will be.
574 capsnap->need_flush = true;
585 __func__, inode, ceph_vinop(inode), capsnap, old_snapc,
586 ceph_cap_string(dirty), capsnap->need_flush ? "" : "no_flush");
589 capsnap->follows = old_snapc->seq;
590 capsnap->issued = __ceph_caps_issued(ci, NULL);
591 capsnap->dirty = dirty;
593 capsnap->mode = inode->i_mode;
594 capsnap->uid = inode->i_uid;
595 capsnap->gid = inode->i_gid;
599 capsnap->xattr_blob =
601 capsnap->xattr_version = ci->i_xattrs.version;
603 capsnap->xattr_blob = NULL;
604 capsnap->xattr_version = 0;
607 capsnap->inline_data = ci->i_inline_version != CEPH_INLINE_NONE;
612 capsnap->dirty_pages = ci->i_wrbuffer_ref_head;
614 capsnap->context = old_snapc;
615 list_add_tail(&capsnap->ci_item, &ci->i_cap_snaps);
620 capsnap, old_snapc, old_snapc->seq);
621 capsnap->writing = 1;
624 __ceph_finish_cap_snap(ci, capsnap);
649 * If capsnap can now be flushed, add to snap_flush list, and return 1.
654 struct ceph_cap_snap *capsnap)
659 BUG_ON(capsnap->writing);
660 capsnap->size = i_size_read(inode);
661 capsnap->mtime = inode->i_mtime;
662 capsnap->atime = inode->i_atime;
663 capsnap->ctime = inode_get_ctime(inode);
664 capsnap->btime = ci->i_btime;
665 capsnap->change_attr = inode_peek_iversion_raw(inode);
666 capsnap->time_warp_seq = ci->i_time_warp_seq;
667 capsnap->truncate_size = ci->i_truncate_size;
668 capsnap->truncate_seq = ci->i_truncate_seq;
669 if (capsnap->dirty_pages) {
672 ceph_vinop(inode), capsnap, capsnap->context,
673 capsnap->context->seq, ceph_cap_string(capsnap->dirty),
674 capsnap->size, capsnap->dirty_pages);
679 * Defer flushing the capsnap if the dirty buffer not flushed yet.
685 ceph_vinop(inode), capsnap, capsnap->context,
686 capsnap->context->seq, ceph_cap_string(capsnap->dirty),
687 capsnap->size);
694 __func__, inode, ceph_vinop(inode), capsnap, capsnap->context,
695 capsnap->context->seq, ceph_cap_string(capsnap->dirty),
696 capsnap->size);
715 struct ceph_cap_snap *capsnap = NULL;
729 * Allocate the capsnap memory outside of ceph_queue_cap_snap()
733 if (!capsnap) {
734 capsnap = kmem_cache_zalloc(ceph_cap_snap_cachep, GFP_NOFS);
735 if (!capsnap) {
741 capsnap->cap_flush.is_capsnap = true;
742 refcount_set(&capsnap->nref, 1);
743 INIT_LIST_HEAD(&capsnap->cap_flush.i_list);
744 INIT_LIST_HEAD(&capsnap->cap_flush.g_list);
745 INIT_LIST_HEAD(&capsnap->ci_item);
747 ceph_queue_cap_snap(ci, &capsnap);
753 if (capsnap)
754 kmem_cache_free(ceph_cap_snap_cachep, capsnap);