Lines Matching full:original
750 * entries for the first 'length' bytes of the 'original' list are
751 * stored in the '*head' list and are removed from 'original'.
762 * If 'original' is shared (refcount > 1), then EDOOFUS will be
766 sglist_split(struct sglist *original, struct sglist **head, size_t length, in sglist_split() argument
773 if (original->sg_refs > 1) in sglist_split()
780 for (i = 0; i < original->sg_nseg; i++) { in sglist_split()
781 space += original->sg_segs[i].ss_len; in sglist_split()
788 * 'original'. in sglist_split()
812 /* Copy 'count' entries to 'sg' from 'original'. */ in sglist_split()
813 bcopy(original->sg_segs, sg->sg_segs, count * in sglist_split()
819 * 'sg' and the new first entry in 'original'. We also in sglist_split()
821 * 'count - 1' segments from 'original' now. in sglist_split()
826 original->sg_segs[count].ss_paddr = in sglist_split()
828 original->sg_segs[count].ss_len = split; in sglist_split()
831 /* Trim 'count' entries from the front of 'original'. */ in sglist_split()
832 original->sg_nseg -= count; in sglist_split()
833 bcopy(original->sg_segs + count, original->sg_segs, count * in sglist_split()
883 * the logical range of the 'original' list to extract. If that range
884 * is not a subset of the length of 'original', then EINVAL is
897 sglist_slice(struct sglist *original, struct sglist **slice, size_t offset, in sglist_slice() argument
914 for (i = 0; i < original->sg_nseg; i++) { in sglist_slice()
915 space += original->sg_segs[i].ss_len; in sglist_slice()
925 original->sg_segs[i].ss_len); in sglist_slice()
963 * Copy over 'count' segments from 'original' starting at in sglist_slice()
966 bcopy(original->sg_segs + fseg, sg->sg_segs, in sglist_slice()