Lines Matching defs:capsnap

536 	struct ceph_cap_snap *capsnap = *pcapsnap;
550 * up this capsnap it will be.
583 capsnap->need_flush = true;
594 inode, ceph_vinop(inode), capsnap, old_snapc,
595 ceph_cap_string(dirty), capsnap->need_flush ? "" : "no_flush");
598 capsnap->follows = old_snapc->seq;
599 capsnap->issued = __ceph_caps_issued(ci, NULL);
600 capsnap->dirty = dirty;
602 capsnap->mode = inode->i_mode;
603 capsnap->uid = inode->i_uid;
604 capsnap->gid = inode->i_gid;
608 capsnap->xattr_blob =
610 capsnap->xattr_version = ci->i_xattrs.version;
612 capsnap->xattr_blob = NULL;
613 capsnap->xattr_version = 0;
616 capsnap->inline_data = ci->i_inline_version != CEPH_INLINE_NONE;
621 capsnap->dirty_pages = ci->i_wrbuffer_ref_head;
623 capsnap->context = old_snapc;
624 list_add_tail(&capsnap->ci_item, &ci->i_cap_snaps);
628 " now pending\n", inode, ceph_vinop(inode), capsnap,
630 capsnap->writing = 1;
633 __ceph_finish_cap_snap(ci, capsnap);
658 * If capsnap can now be flushed, add to snap_flush list, and return 1.
663 struct ceph_cap_snap *capsnap)
669 BUG_ON(capsnap->writing);
670 capsnap->size = i_size_read(inode);
671 capsnap->mtime = inode_get_mtime(inode);
672 capsnap->atime = inode_get_atime(inode);
673 capsnap->ctime = inode_get_ctime(inode);
674 capsnap->btime = ci->i_btime;
675 capsnap->change_attr = inode_peek_iversion_raw(inode);
676 capsnap->time_warp_seq = ci->i_time_warp_seq;
677 capsnap->truncate_size = ci->i_truncate_size;
678 capsnap->truncate_seq = ci->i_truncate_seq;
679 if (capsnap->dirty_pages) {
682 ceph_vinop(inode), capsnap, capsnap->context,
683 capsnap->context->seq,
684 ceph_cap_string(capsnap->dirty),
685 capsnap->size, capsnap->dirty_pages);
690 * Defer flushing the capsnap if the dirty buffer not flushed yet.
696 ceph_vinop(inode), capsnap, capsnap->context,
697 capsnap->context->seq, ceph_cap_string(capsnap->dirty),
698 capsnap->size);
705 inode, ceph_vinop(inode), capsnap, capsnap->context,
706 capsnap->context->seq, ceph_cap_string(capsnap->dirty),
707 capsnap->size);
728 struct ceph_cap_snap *capsnap = NULL;
742 * Allocate the capsnap memory outside of ceph_queue_cap_snap()
746 if (!capsnap) {
747 capsnap = kmem_cache_zalloc(ceph_cap_snap_cachep, GFP_NOFS);
748 if (!capsnap) {
755 capsnap->cap_flush.is_capsnap = true;
756 refcount_set(&capsnap->nref, 1);
757 INIT_LIST_HEAD(&capsnap->cap_flush.i_list);
758 INIT_LIST_HEAD(&capsnap->cap_flush.g_list);
759 INIT_LIST_HEAD(&capsnap->ci_item);
761 ceph_queue_cap_snap(ci, &capsnap);
767 if (capsnap)
768 kmem_cache_free(ceph_cap_snap_cachep, capsnap);