/linux/drivers/md/ |
H A D | dm-rq.c | 21 struct request *orig, *clone; member 78 static void end_clone_bio(struct bio *clone) in end_clone_bio() argument 81 container_of(clone, struct dm_rq_clone_bio_info, clone); in end_clone_bio() 84 blk_status_t error = clone->bi_status; in end_clone_bio() 85 bool is_last = !clone->bi_next; in end_clone_bio() 87 bio_put(clone); in end_clone_bio() 157 static void dm_end_request(struct request *clone, blk_status_t error) in dm_end_request() argument 159 struct dm_rq_target_io *tio = clone->end_io_data; in dm_end_request() 163 blk_rq_unprep_clone(clone); in dm_end_request() 164 tio->ti->type->release_clone_rq(clone, NULL); in dm_end_request() [all …]
|
H A D | dm-flakey.c | 392 static void clone_free(struct bio *clone) in clone_free() argument 396 if (clone->bi_vcnt > 0) { /* bio_for_each_folio_all crashes with an empty bio */ in clone_free() 397 bio_for_each_folio_all(fi, clone) in clone_free() 401 bio_uninit(clone); in clone_free() 402 kfree(clone); in clone_free() 405 static void clone_endio(struct bio *clone) in clone_endio() argument 407 struct bio *bio = clone->bi_private; in clone_endio() 408 bio->bi_status = clone->bi_status; in clone_endio() 409 clone_free(clone); in clone_endio() 415 struct bio *clone; in clone_bio() local [all …]
|
H A D | dm-crypt.c | 272 static void crypt_endio(struct bio *clone); 1682 static void crypt_free_buffer_pages(struct crypt_config *cc, struct bio *clone); 1707 struct bio *clone; in crypt_alloc_buffer() local 1717 clone = bio_alloc_bioset(cc->dev->bdev, nr_iovecs, io->base_bio->bi_opf, in crypt_alloc_buffer() 1719 clone->bi_private = io; in crypt_alloc_buffer() 1720 clone->bi_end_io = crypt_endio; in crypt_alloc_buffer() 1721 clone->bi_ioprio = io->base_bio->bi_ioprio; in crypt_alloc_buffer() 1748 crypt_free_buffer_pages(cc, clone); in crypt_alloc_buffer() 1749 bio_put(clone); in crypt_alloc_buffer() 1757 __bio_add_page(clone, pages, size_to_add, 0); in crypt_alloc_buffer() [all …]
|
H A D | dm-zoned-target.c | 103 static void dmz_clone_endio(struct bio *clone) in dmz_clone_endio() argument 105 struct dmz_bioctx *bioctx = clone->bi_private; in dmz_clone_endio() 106 blk_status_t status = clone->bi_status; in dmz_clone_endio() 108 bio_put(clone); in dmz_clone_endio() 123 struct bio *clone; in dmz_submit_bio() local 128 clone = bio_alloc_clone(dev->bdev, bio, GFP_NOIO, &dmz->bio_set); in dmz_submit_bio() 129 if (!clone) in dmz_submit_bio() 133 clone->bi_iter.bi_sector = in dmz_submit_bio() 135 clone->bi_iter.bi_size = dmz_blk2sect(nr_blocks) << SECTOR_SHIFT; in dmz_submit_bio() 136 clone->bi_end_io = dmz_clone_endio; in dmz_submit_bio() [all …]
|
H A D | dm-core.h | 252 struct bio clone; member 254 #define DM_TARGET_IO_BIO_OFFSET (offsetof(struct dm_target_io, clone)) 256 (offsetof(struct dm_target_io, clone) + offsetof(struct dm_io, tio))
|
/linux/Documentation/admin-guide/device-mapper/ |
H A D | dm-clone.rst | 4 dm-clone 10 dm-clone is a device mapper target which produces a one-to-one copy of an 15 The main use case of dm-clone is to clone a potentially remote, high-latency, 26 When the cloning completes, the dm-clone table can be removed altogether and be 29 The dm-clone target reuses the metadata library used by the thin-provisioning 56 clone of the source device. 68 dm-clone divides the source and destination devices in fixed sized regions. 72 The region size is configurable when you first create the dm-clone device. The 92 dm-clone interprets a discard request to a range that hasn't been hydrated yet 97 If the destination device supports discards, then by default dm-clone will pass [all …]
|
/linux/rust/macros/ |
H A D | helpers.rs | 133 decl_generics.push(tt.clone()); in parse_generics() 135 match tt.clone() { in parse_generics() 157 impl_generics.push(tt.clone()); in parse_generics() 168 match tt.clone() { in parse_generics() 175 impl_generics.push(name.clone()); in parse_generics() 176 ty_generics.push(name.clone()); in parse_generics() 181 impl_generics.push(tt.clone()); in parse_generics() 186 impl_generics.push(tt.clone()); in parse_generics() 192 impl_generics.push(tt.clone()); in parse_generics()
|
/linux/fs/ |
H A D | posix_acl.c | 220 struct posix_acl *clone = NULL; in posix_acl_clone() local 223 clone = kmemdup(acl, struct_size(acl, a_entries, acl->a_count), in posix_acl_clone() 225 if (clone) in posix_acl_clone() 226 refcount_set(&clone->a_refcount, 1); in posix_acl_clone() 228 return clone; in posix_acl_clone() 557 struct posix_acl *clone = posix_acl_clone(*acl, gfp); in __posix_acl_create() local 559 if (clone) { in __posix_acl_create() 560 err = posix_acl_create_masq(clone, mode_p); in __posix_acl_create() 562 posix_acl_release(clone); in __posix_acl_create() 563 clone = NULL; in __posix_acl_create() [all …]
|
/linux/tools/testing/selftests/bpf/progs/ |
H A D | dynptr_fail.c | 1480 struct bpf_dynptr clone; in clone_invalid2() local 1484 bpf_ringbuf_reserve_dynptr(&ringbuf, 64, 0, &clone); in clone_invalid2() 1487 bpf_dynptr_clone(&ptr1, &clone); in clone_invalid2() 1489 bpf_ringbuf_submit_dynptr(&clone, 0); in clone_invalid2() 1499 struct bpf_dynptr clone; in clone_invalidate1() local 1505 bpf_dynptr_clone(&ptr, &clone); in clone_invalidate1() 1510 bpf_dynptr_read(read_data, sizeof(read_data), &clone, 0, 0); in clone_invalidate1() 1521 struct bpf_dynptr clone; in clone_invalidate2() local 1526 bpf_dynptr_clone(&ptr, &clone); in clone_invalidate2() 1528 bpf_ringbuf_submit_dynptr(&clone, in clone_invalidate2() 1568 struct bpf_dynptr clone; clone_invalidate4() local 1594 struct bpf_dynptr clone; clone_invalidate5() local 1648 struct bpf_dynptr clone; clone_skb_packet_data() local 1674 struct bpf_dynptr clone; clone_xdp_packet_data() local [all...] |
/linux/net/core/ |
H A D | timestamping.c | 25 struct sk_buff *clone; in skb_clone_tx_timestamp() local 38 clone = skb_clone_sk(skb); in skb_clone_tx_timestamp() 39 if (!clone) in skb_clone_tx_timestamp() 41 mii_ts->txtstamp(mii_ts, clone, type); in skb_clone_tx_timestamp()
|
/linux/net/ipv4/ |
H A D | inet_fragment.c | 514 struct sk_buff *clone; in inet_frag_reasm_prepare() local 517 clone = alloc_skb(0, GFP_ATOMIC); in inet_frag_reasm_prepare() 518 if (!clone) in inet_frag_reasm_prepare() 520 skb_shinfo(clone)->frag_list = skb_shinfo(head)->frag_list; in inet_frag_reasm_prepare() 524 clone->data_len = head->data_len - plen; in inet_frag_reasm_prepare() 525 clone->len = clone->data_len; in inet_frag_reasm_prepare() 526 head->truesize += clone->truesize; in inet_frag_reasm_prepare() 527 clone->csum = 0; in inet_frag_reasm_prepare() 528 clone->ip_summed = head->ip_summed; in inet_frag_reasm_prepare() 529 add_frag_mem_limit(q->fqdir, clone->truesize); in inet_frag_reasm_prepare() [all …]
|
/linux/net/rds/ |
H A D | tcp_recv.c | 162 struct sk_buff *clone; in rds_tcp_data_recv() local 219 clone = pskb_extract(skb, offset, to_copy, arg->gfp); in rds_tcp_data_recv() 220 if (!clone) { in rds_tcp_data_recv() 225 skb_queue_tail(&tinc->ti_skb_list, clone); in rds_tcp_data_recv() 230 clone, clone->data, clone->len); in rds_tcp_data_recv()
|
/linux/include/linux/dsa/ |
H A D | ocelot.h | 16 struct sk_buff *clone; member 265 struct sk_buff *clone = OCELOT_SKB_CB(skb)->clone; in ocelot_ptp_rew_op() local 269 if (ptp_cmd == IFH_REW_OP_TWO_STEP_PTP && clone) { in ocelot_ptp_rew_op() 271 rew_op |= OCELOT_SKB_CB(clone)->ts_id << 3; in ocelot_ptp_rew_op()
|
/linux/fs/btrfs/ |
H A D | fiemap.c | 308 struct extent_buffer *clone = path->nodes[0]; in fiemap_next_leaf_item() local 322 ASSERT(test_bit(EXTENT_BUFFER_UNMAPPED, &clone->bflags)); in fiemap_next_leaf_item() 323 atomic_inc(&clone->refs); in fiemap_next_leaf_item() 349 clone->start = path->nodes[0]->start; in fiemap_next_leaf_item() 351 copy_extent_buffer_full(clone, path->nodes[0]); in fiemap_next_leaf_item() 355 path->nodes[0] = clone; in fiemap_next_leaf_item() 359 free_extent_buffer(clone); in fiemap_next_leaf_item() 374 struct extent_buffer *clone; in fiemap_search_slot() local 419 clone = btrfs_clone_extent_buffer(path->nodes[0]); in fiemap_search_slot() 420 if (!clone) in fiemap_search_slot() [all …]
|
/linux/drivers/net/usb/ |
H A D | lg-vl600.c | 103 struct sk_buff *clone; in vl600_rx_fixup() local 200 clone = skb_clone(buf, GFP_ATOMIC); in vl600_rx_fixup() 201 if (!clone) in vl600_rx_fixup() 204 skb_trim(clone, packet_len); in vl600_rx_fixup() 205 usbnet_skb_return(dev, clone); in vl600_rx_fixup()
|
/linux/net/netfilter/ |
H A D | nft_set_pipapo.c | 1201 static int pipapo_realloc_scratch(struct nft_pipapo_match *clone, argument 1227 pipapo_free_scratch(clone, i); 1245 *per_cpu_ptr(clone->scratch, i) = scratch; 1275 if (priv->clone) 1276 return priv->clone; 1280 priv->clone = pipapo_clone(m); 1282 return priv->clone; 1816 if (!priv->clone) 1820 pipapo_gc(set, priv->clone); 1822 old = rcu_replace_pointer(priv->match, priv->clone, [all …]
|
/linux/drivers/gpu/drm/nouveau/nvkm/engine/dma/ |
H A D | usernv04.c | 35 bool clone; member 51 if (dmaobj->clone) { in nv04_dmaobj_bind() 99 dmaobj->clone = true; in nv04_dmaobj_new()
|
/linux/drivers/net/ethernet/mscc/ |
H A D | ocelot_ptp.c | 667 struct sk_buff *clone) in ocelot_port_queue_ptp_tx_skb() argument 706 OCELOT_SKB_CB(clone)->ts_id = n; in ocelot_port_queue_ptp_tx_skb() 707 OCELOT_SKB_CB(clone)->ptp_tx_time = jiffies; in ocelot_port_queue_ptp_tx_skb() 709 __skb_queue_tail(&ocelot_port->tx_skbs, clone); in ocelot_port_queue_ptp_tx_skb() 739 struct sk_buff **clone) in ocelot_port_txtstamp_request() argument 766 *clone = skb_clone_sk(skb); in ocelot_port_txtstamp_request() 767 if (!(*clone)) in ocelot_port_txtstamp_request() 771 err = ocelot_port_queue_ptp_tx_skb(ocelot, port, *clone); in ocelot_port_txtstamp_request() 773 kfree_skb(*clone); in ocelot_port_txtstamp_request() 777 skb_shinfo(*clone)->tx_flags |= SKBTX_IN_PROGRESS; in ocelot_port_txtstamp_request() [all …]
|
/linux/Documentation/userspace-api/ |
H A D | unshare.rst | 38 threads. On Linux, at the time of thread creation using the clone system 58 when creating a new process using fork or clone, unshare() can benefit 96 works on an active task (as opposed to clone/fork working on a newly 98 changes to copy_* functions utilized by clone/fork system call. 108 unshare() reverses sharing that was done using clone(2) system call, 109 so unshare() should have a similar interface as clone(2). That is, 110 since flags in clone(int flags, void \*stack) specifies what should 113 the meaning of the flags from the way they are used in clone(2). 140 using clone(2). 182 clone(2), fork(2) [all …]
|
/linux/Documentation/translations/zh_CN/userspace-api/ |
H A D | no_new_privs.rst | 27 置 ``no_new_privs`` 。一旦该位被设置,它会在fork、clone和execve中继承下去 55 原则上,当 ``no_new_privs`` 被置位时, ``unshare(2)`` 和 ``clone(2)`` 的几个选
|
/linux/tools/perf/Documentation/ |
H A D | build-xed.txt | 4 $ git clone https://github.com/intelxed/mbuild.git mbuild 5 $ git clone https://github.com/intelxed/xed
|
/linux/drivers/net/dsa/hirschmann/ |
H A D | hellcreek_hwtstamp.c | 371 struct sk_buff *clone; in hellcreek_port_txtstamp() local 388 clone = skb_clone_sk(skb); in hellcreek_port_txtstamp() 389 if (!clone) in hellcreek_port_txtstamp() 394 kfree_skb(clone); in hellcreek_port_txtstamp() 398 ps->tx_skb = clone; in hellcreek_port_txtstamp()
|
/linux/net/sched/ |
H A D | sch_etf.c | 138 struct sk_buff *clone; in report_sock_error() local 145 clone = skb_clone(skb, GFP_ATOMIC); in report_sock_error() 146 if (!clone) in report_sock_error() 149 serr = SKB_EXT_ERR(clone); in report_sock_error() 158 if (sock_queue_err_skb(sk, clone)) in report_sock_error() 159 kfree_skb(clone); in report_sock_error()
|
/linux/tools/perf/util/ |
H A D | mmap.c | 360 int mmap_cpu_mask__duplicate(struct mmap_cpu_mask *original, struct mmap_cpu_mask *clone) in mmap_cpu_mask__duplicate() argument 362 clone->nbits = original->nbits; in mmap_cpu_mask__duplicate() 363 clone->bits = bitmap_zalloc(original->nbits); in mmap_cpu_mask__duplicate() 364 if (!clone->bits) in mmap_cpu_mask__duplicate() 367 memcpy(clone->bits, original->bits, MMAP_CPU_MASK_BYTES(original)); in mmap_cpu_mask__duplicate()
|
/linux/drivers/net/dsa/sja1105/ |
H A D | sja1105_ptp.c | 452 struct sk_buff *clone = SJA1105_SKB_CB(skb)->clone; in sja1110_txtstamp() local 465 SJA1105_SKB_CB(clone)->ts_id = ts_id; in sja1110_txtstamp() 469 skb_queue_tail(&ptp_data->skb_txtstamp_queue, clone); in sja1110_txtstamp() 479 struct sk_buff *clone; in sja1105_port_txtstamp() local 484 clone = skb_clone_sk(skb); in sja1105_port_txtstamp() 485 if (!clone) in sja1105_port_txtstamp() 488 SJA1105_SKB_CB(skb)->clone = clone; in sja1105_port_txtstamp()
|