Lines Matching refs:capsnap
457 struct ceph_cap_snap *capsnap; in ceph_queue_cap_snap() local
460 capsnap = kzalloc(sizeof(*capsnap), GFP_NOFS); in ceph_queue_cap_snap()
461 if (!capsnap) { in ceph_queue_cap_snap()
484 kfree(capsnap); in ceph_queue_cap_snap()
487 kfree(capsnap); in ceph_queue_cap_snap()
500 inode, capsnap, snapc, ceph_cap_string(dirty)); in ceph_queue_cap_snap()
503 atomic_set(&capsnap->nref, 1); in ceph_queue_cap_snap()
504 capsnap->ci = ci; in ceph_queue_cap_snap()
505 INIT_LIST_HEAD(&capsnap->ci_item); in ceph_queue_cap_snap()
506 INIT_LIST_HEAD(&capsnap->flushing_item); in ceph_queue_cap_snap()
508 capsnap->follows = snapc->seq; in ceph_queue_cap_snap()
509 capsnap->issued = __ceph_caps_issued(ci, NULL); in ceph_queue_cap_snap()
510 capsnap->dirty = dirty; in ceph_queue_cap_snap()
512 capsnap->mode = inode->i_mode; in ceph_queue_cap_snap()
513 capsnap->uid = inode->i_uid; in ceph_queue_cap_snap()
514 capsnap->gid = inode->i_gid; in ceph_queue_cap_snap()
518 capsnap->xattr_blob = in ceph_queue_cap_snap()
520 capsnap->xattr_version = ci->i_xattrs.version; in ceph_queue_cap_snap()
522 capsnap->xattr_blob = NULL; in ceph_queue_cap_snap()
523 capsnap->xattr_version = 0; in ceph_queue_cap_snap()
526 capsnap->inline_data = ci->i_inline_version != CEPH_INLINE_NONE; in ceph_queue_cap_snap()
531 capsnap->dirty_pages = ci->i_wrbuffer_ref_head; in ceph_queue_cap_snap()
533 capsnap->context = snapc; in ceph_queue_cap_snap()
537 list_add_tail(&capsnap->ci_item, &ci->i_cap_snaps); in ceph_queue_cap_snap()
542 capsnap, snapc, snapc->seq); in ceph_queue_cap_snap()
543 capsnap->writing = 1; in ceph_queue_cap_snap()
546 __ceph_finish_cap_snap(ci, capsnap); in ceph_queue_cap_snap()
550 kfree(capsnap); in ceph_queue_cap_snap()
565 struct ceph_cap_snap *capsnap) in __ceph_finish_cap_snap() argument
570 BUG_ON(capsnap->writing); in __ceph_finish_cap_snap()
571 capsnap->size = inode->i_size; in __ceph_finish_cap_snap()
572 capsnap->mtime = inode->i_mtime; in __ceph_finish_cap_snap()
573 capsnap->atime = inode->i_atime; in __ceph_finish_cap_snap()
574 capsnap->ctime = inode->i_ctime; in __ceph_finish_cap_snap()
575 capsnap->time_warp_seq = ci->i_time_warp_seq; in __ceph_finish_cap_snap()
576 if (capsnap->dirty_pages) { in __ceph_finish_cap_snap()
578 "still has %d dirty pages\n", inode, capsnap, in __ceph_finish_cap_snap()
579 capsnap->context, capsnap->context->seq, in __ceph_finish_cap_snap()
580 ceph_cap_string(capsnap->dirty), capsnap->size, in __ceph_finish_cap_snap()
581 capsnap->dirty_pages); in __ceph_finish_cap_snap()
585 inode, capsnap, capsnap->context, in __ceph_finish_cap_snap()
586 capsnap->context->seq, ceph_cap_string(capsnap->dirty), in __ceph_finish_cap_snap()
587 capsnap->size); in __ceph_finish_cap_snap()