Lines Matching defs:op

234 	struct bch_write_op		op;
281 struct bch_fs *c = dio->op.c;
283 struct bio *bio = &dio->op.wbio.bio;
286 dio->op.pos.offset, bio_sectors(bio),
287 dio->op.opts.data_replicas,
288 dio->op.opts.compression != 0);
331 closure_type(dio, struct dio_write, op.cl);
332 struct bch_fs *c = dio->op.c;
336 dio->op.error = bch2_journal_error(&c->journal);
343 struct bch_fs *c = dio->op.c;
349 closure_init(&dio->op.cl, NULL);
351 if (!dio->op.error) {
354 dio->op.error = ret;
357 &dio->op.cl);
358 bch2_inode_flush_nocow_writes_async(c, dio->inode, &dio->op.cl);
363 closure_sync(&dio->op.cl);
364 closure_debug_destroy(&dio->op.cl);
366 continue_at(&dio->op.cl, bch2_dio_write_flush_done, NULL);
387 ret = dio->op.error ?: ((long) dio->written << 9);
388 bio_put(&dio->op.wbio.bio);
390 bch2_write_ref_put(dio->op.c, BCH_WRITE_REF_dio_write);
407 struct bch_fs *c = dio->op.c;
410 struct bio *bio = &dio->op.wbio.bio;
412 req->ki_pos += (u64) dio->op.written << 9;
413 dio->written += dio->op.written;
422 if (dio->op.i_sectors_delta || dio->quota_res.sectors) {
424 __bch2_i_sectors_acct(c, inode, &dio->quota_res, dio->op.i_sectors_delta);
431 if (unlikely(dio->op.error))
437 struct bch_fs *c = dio->op.c;
442 struct bio *bio = &dio->op.wbio.bio;
496 bch2_write_op_init(&dio->op, c, opts);
497 dio->op.end_io = sync
500 dio->op.target = dio->op.opts.foreground_target;
501 dio->op.write_point = writepoint_hashed((unsigned long) current);
502 dio->op.nr_replicas = dio->op.opts.data_replicas;
503 dio->op.subvol = inode->ei_subvol;
504 dio->op.pos = POS(inode->v.i_ino, (u64) req->ki_pos >> 9);
505 dio->op.devs_need_flush = &inode->ei_devs_need_flush;
508 dio->op.flags |= BCH_WRITE_SYNC;
509 dio->op.flags |= BCH_WRITE_CHECK_ENOSPC;
516 ret = bch2_disk_reservation_get(c, &dio->op.res, bio_sectors(bio),
517 dio->op.opts.data_replicas, 0);
531 closure_call(&dio->op.cl, bch2_write, NULL, NULL);
538 if (likely(!dio->iter.count) || dio->op.error)
546 dio->op.error = ret;
558 bio_reset(&dio->op.wbio.bio, NULL, REQ_OP_WRITE);
567 static void bch2_dio_write_loop_async(struct bch_write_op *op)
569 struct dio_write *dio = container_of(op, struct dio_write, op);
573 if (likely(!dio->iter.count) || dio->op.error)
629 dio = container_of(bio, struct dio_write, op.wbio.bio);
642 dio->op.c = c;
680 4, offsetof(struct dio_write, op.wbio.bio),