Home
last modified time | relevance | path

Searched full:clone (Results 1 – 25 of 504) sorted by relevance

12345678910>>...21

/linux/drivers/md/
H A Ddm-rq.c21 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()
92 * Once error occurred, just let clone->end_io() handle in end_clone_bio()
115 * the original request before the clone, and break the ordering. in end_clone_bio()
153 * Complete the clone and the original request.
154 * Must be called without clone's queue lock held,
[all …]
H A Ddm-flakey.c407 static void clone_free(struct bio *clone) in clone_free() argument
411 if (clone->bi_vcnt > 0) { /* bio_for_each_folio_all crashes with an empty bio */ in clone_free()
412 bio_for_each_folio_all(fi, clone) in clone_free()
416 bio_uninit(clone); in clone_free()
417 kfree(clone); in clone_free()
420 static void clone_endio(struct bio *clone) in clone_endio() argument
422 struct bio *bio = clone->bi_private; in clone_endio()
423 bio->bi_status = clone->bi_status; in clone_endio()
424 clone_free(clone); in clone_endio()
430 struct bio *clone; in clone_bio() local
[all …]
H A Ddm.c93 static inline struct dm_target_io *clone_to_tio(struct bio *clone) in clone_to_tio() argument
95 return container_of(clone, struct dm_target_io, clone); in clone_to_tio()
119 return container_of(bio, struct dm_target_io, clone)->target_bio_nr; in dm_bio_get_target_bio_nr()
545 static void dm_start_io_acct(struct dm_io *io, struct bio *clone) in dm_start_io_acct() argument
554 if (!clone || likely(dm_tio_is_normal(clone_to_tio(clone)))) { in dm_start_io_acct()
580 struct bio *clone; in alloc_io() local
582 clone = bio_alloc_clone(NULL, bio, gfp_mask, &md->mempools->io_bs); in alloc_io()
583 if (unlikely(!clone)) in alloc_io()
585 tio = clone_to_tio(clone); in alloc_io()
614 bio_put(&io->tio.clone); in free_io()
[all …]
H A Ddm-clone-metadata.h26 /* dm-clone metadata */
32 * @cmd: The dm-clone metadata
43 * @cmd: The dm-clone metadata
61 * @returns: The dm-clone metadata
77 * Commit dm-clone metadata to disk.
89 * This allows dm-clone to flush the destination device after step (1) to
117 * Check whether dm-clone's metadata changed this transaction.
H A Ddm-crypt.c291 static void crypt_endio(struct bio *clone);
1683 static void crypt_free_buffer_pages(struct crypt_config *cc, struct bio *clone);
1708 struct bio *clone; in crypt_alloc_buffer() local
1718 clone = bio_alloc_bioset(cc->dev->bdev, nr_iovecs, io->base_bio->bi_opf, in crypt_alloc_buffer()
1720 clone->bi_private = io; in crypt_alloc_buffer()
1721 clone->bi_end_io = crypt_endio; in crypt_alloc_buffer()
1722 clone->bi_ioprio = io->base_bio->bi_ioprio; in crypt_alloc_buffer()
1723 clone->bi_iter.bi_sector = cc->start + io->sector; in crypt_alloc_buffer()
1750 crypt_free_buffer_pages(cc, clone); in crypt_alloc_buffer()
1751 bio_put(clone); in crypt_alloc_buffer()
[all …]
H A Ddm-core.h239 * One of these is allocated per clone bio.
250 struct bio clone; member
252 #define DM_TARGET_IO_BIO_OFFSET (offsetof(struct dm_target_io, clone))
254 (offsetof(struct dm_target_io, clone) + offsetof(struct dm_io, tio))
282 * It contains the first clone used for that original.
H A Ddm-zoned-target.c103 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()
113 * Issue a clone of a target BIO. The clone may only partially process the
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()
[all …]
H A Ddm-clone-metadata.c19 #include "dm-clone-metadata.h"
21 #define DM_MSG_PREFIX "clone metadata"
31 /* Min and max dm-clone metadata versions supported */
58 * dm-clone logically splits the source and destination devices in regions of
60 * we copy (clone) the source's regions to the destination device. Eventually,
79 * commit the current transaction. This is important because dm-clone should
82 * up with a corrupted dm-clone device.
84 * When a region finishes hydrating dm-clone calls
99 * We could update directly the on-disk bitmap, when dm-clone calls either
101 * inserts significant metadata I/O overhead in dm-clone's I/O path. Also, as
[all …]
/linux/Documentation/admin-guide/device-mapper/
H A Ddm-clone.rst4 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/drivers/net/ethernet/meta/fbnic/
H A Dfbnic_ethtool.c141 struct fbnic_net *clone; in fbnic_clone_create() local
143 clone = kmemdup(orig, sizeof(*orig), GFP_KERNEL); in fbnic_clone_create()
144 if (!clone) in fbnic_clone_create()
147 memset(clone->tx, 0, sizeof(clone->tx)); in fbnic_clone_create()
148 memset(clone->rx, 0, sizeof(clone->rx)); in fbnic_clone_create()
149 memset(clone->napi, 0, sizeof(clone->napi)); in fbnic_clone_create()
150 return clone; in fbnic_clone_create()
154 struct fbnic_net *clone) in fbnic_clone_swap_cfg() argument
156 swap(clone->rcq_size, orig->rcq_size); in fbnic_clone_swap_cfg()
157 swap(clone->hpq_size, orig->hpq_size); in fbnic_clone_swap_cfg()
[all …]
/linux/Documentation/userspace-api/
H A Dunshare.rst38 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/fs/f2fs/
H A Dacl.c295 struct posix_acl *clone = NULL; in f2fs_acl_clone() local
298 clone = kmemdup(acl, struct_size(acl, a_entries, acl->a_count), in f2fs_acl_clone()
300 if (clone) in f2fs_acl_clone()
301 refcount_set(&clone->a_refcount, 1); in f2fs_acl_clone()
303 return clone; in f2fs_acl_clone()
365 struct posix_acl *clone; in f2fs_acl_create() local
382 clone = f2fs_acl_clone(p, GFP_NOFS); in f2fs_acl_create()
383 if (!clone) { in f2fs_acl_create()
388 ret = f2fs_acl_create_masq(clone, mode); in f2fs_acl_create()
393 posix_acl_release(clone); in f2fs_acl_create()
[all …]
/linux/fs/
H A Dposix_acl.c215 * Clone an ACL.
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()
[all …]
/linux/tools/testing/selftests/bpf/progs/
H A Ddynptr_fail.c1480 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, 0); in clone_invalidate2()
[all …]
/linux/net/rds/
H A Dtcp_recv.c162 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()
228 "clone %p data %p len %d\n", in rds_tcp_data_recv()
230 clone, clone->data, clone->len); in rds_tcp_data_recv()
/linux/net/ipv4/
H A Dinet_fragment.c513 struct sk_buff *clone; in inet_frag_reasm_prepare() local
516 clone = alloc_skb(0, GFP_ATOMIC); in inet_frag_reasm_prepare()
517 if (!clone) in inet_frag_reasm_prepare()
519 skb_shinfo(clone)->frag_list = skb_shinfo(head)->frag_list; in inet_frag_reasm_prepare()
523 clone->data_len = head->data_len - plen; in inet_frag_reasm_prepare()
524 clone->len = clone->data_len; in inet_frag_reasm_prepare()
525 head->truesize += clone->truesize; in inet_frag_reasm_prepare()
526 clone->csum = 0; in inet_frag_reasm_prepare()
527 clone->ip_summed = head->ip_summed; in inet_frag_reasm_prepare()
528 add_frag_mem_limit(q->fqdir, clone->truesize); in inet_frag_reasm_prepare()
[all …]
/linux/tools/testing/selftests/net/openvswitch/
H A Dopenvswitch.sh715 info "Checking clone depth"
720 …'clone(clone(clone(clone(clone(clone(clone(clone(clone(clone(clone(clone(clone(clone(clone(clone(c…
725 info "failed - clone depth too large"
/linux/arch/x86/mm/
H A Dpti.c52 * Define the page-table levels we clone for user-space on 32
321 * Clone the populated PMDs which cover start to end. These PMD areas in pti_clone_pgtable()
362 * Only clone present PMDs. This ensures only setting in pti_clone_pgtable()
400 /* Only clone present PTEs */ in pti_clone_pgtable()
413 /* Clone the PTE */ in pti_clone_pgtable()
426 * Clone a single p4d (i.e. a top-level entry on 4-level systems and a
444 * Clone the CPU_ENTRY_AREA and associated data into the user space visible
480 * address space into the user page-tables, making PTI useless. So clone
495 * Clone the ESPFIX P4D into the user space visible page table
505 * Clone the populated PMDs of the entry text and force it RO.
[all …]
/linux/Documentation/admin-guide/
H A Dquickly-build-trimmed-linux.rst26 git clone --depth 1 -b master \
131 clone. The reference section explains two alternatives:* :ref:`packaged
132 archives<sources_archive>` *and* :ref:`a full git clone<sources_full>` *;
139 git clone --no-checkout --depth 1 -b master \
144 clone's history to the oldest mainline version you are interested in::
156 initial clone, you will be able to check out a fresh mainline codebase, which
161 If you deepened your clone, you instead of ``origin/master`` can specify the
492 git clone. There is :ref:`more to tell about this method<sources_shallow>` and
494 and :ref:`a full git clone<sources_full>`. And the aspects ':ref:`wouldn't it
511 The step-by-step guide uses a shallow clone, as it is the best solution for most
[all …]
/linux/fs/btrfs/
H A Dreflink.c36 * extents to clone above, but shouldn't round up the file size. in clone_finish_inode_update()
107 * the clone/dedupe operation, so we may deadlock if that happens and no in copy_inline_to_page()
111 * after finding each extent to clone. in copy_inline_to_page()
240 * clone. Deal with all these cases by copying the inline extent in clone_copy_inline_extent()
328 * Clone a range from inode file to another.
330 * @src: Inode to clone from
331 * @inode: Inode to clone to
332 * @off: Offset within source to start clone from
333 * @olen: Original length, passed by user, of range to clone
335 * @destoff: Offset within @inode to start clone
[all …]
H A Dfiemap.c308 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 refcount_inc(&clone->refs); in fiemap_next_leaf_item()
349 clone->start = path->nodes[0]->start; in fiemap_next_leaf_item()
350 /* See the comment at fiemap_search_slot() about why we clone. */ 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
404 * We clone the leaf and use it during fiemap. This is because while in fiemap_search_slot()
[all …]
/linux/net/openvswitch/
H A Dactions.c44 /* Make a clone of the 'key', using the pre-allocated percpu 'flow_keys'
1040 /* When 'last' is true, clone() should always consume the 'skb'.
1041 * Otherwise, clone() should keep 'skb' intact regardless what
1042 * actions are executed within clone().
1044 static int clone(struct datapath *dp, struct sk_buff *skb, in clone() function
1336 struct sk_buff *clone; in do_execute_actions() local
1338 /* Every output action needs a separate clone in do_execute_actions()
1349 clone = skb_clone(skb, GFP_ATOMIC); in do_execute_actions()
1350 if (clone) in do_execute_actions()
1351 do_output(dp, clone, port, key); in do_execute_actions()
[all …]
/linux/drivers/net/ethernet/8390/
H A DKconfig33 tristate "ASIX AX88796 NE2000 clone support" if !ZORRO
50 tristate "Amiga XSurf 100 AX88796/NE2000 clone support"
113 NE2000 and clone support" below.
128 This driver also works for the following NE2000 clone cards:
/linux/fs/gfs2/
H A Dincore.h71 * Clone bitmaps (bi_clone):
74 * clone bitmap, and only mark the block as free in the real bitmap.
77 * clone bitmap, and if no clone bitmap exists, in the real bitmap.
80 * a clone bitmap exists, also in the clone bitmap.
82 * - At the end of a log_flush, we copy the real bitmap into the clone bitmap
83 * to make the clone bitmap reflect the current allocation state.
84 * (Alternatively, we could remove the clone bitmap.)
86 * The clone bitmaps are in-core only, and is never written to disk.
/linux/drivers/gpu/nova-core/
H A Dfalcon.rs37 #[derive(Debug, Default, Copy, Clone, PartialEq, Eq, PartialOrd, Ord)]
75 #[derive(Debug, Default, Copy, Clone, PartialEq, Eq, PartialOrd, Ord)]
107 #[derive(Debug, Default, Copy, Clone)]
150 #[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
175 #[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
196 #[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
216 #[derive(Debug, Clone, Copy, PartialEq, Eq)]
227 #[derive(Debug, Clone, Default)]
257 #[derive(Debug, Clone, Default)]

12345678910>>...21