From owner-freebsd-hackers@freebsd.org Sat Sep 26 23:33:47 2020 Return-Path: Delivered-To: freebsd-hackers@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C6BF33E3F5E; Sat, 26 Sep 2020 23:33:47 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from CAN01-TO1-obe.outbound.protection.outlook.com (mail-eopbgr670086.outbound.protection.outlook.com [40.107.67.86]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "GlobalSign Organization Validation CA - SHA256 - G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BzQ8V68DDz4FFF; Sat, 26 Sep 2020 23:33:46 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ddVtrY+rCYXKQJylVPjHbH1oItpO8Ia5BlIkmUVE2CKx6mbPIFqdst6UKUGIZHQ+5f/KLkhIr1Eq5UVIjFGbbfI+Z2mrO8TnFMXA6vwM3YbNZelbnAmKO+2gwgSEroyLXLIPd1VKEsACS18Sq2Z4fcOAxmqmnTq6lAzlg7ue6nJcXVpq2eseKlJCchUFuVm3bsOc2rdAgMDSnQ/X1MwcLWlPYfuoCN4p1u1j0VZXmZSTuZYBUTzk6vpensfxEFl/UBLj2aSBa7dWMp7z1GtTXnTZ4qLAS0kD3FDgutWqXL985Ls3BA6bdF+qoI0VBv42+tSflBKyBS0Hqxa+eOoumQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+Rkkv0hXCDZGCy6t5EEvQOUpgw8GuR9sF9agdctGgI4=; b=hGnaOeljvxPM32V1B6J17cDDQssCfx60Ti8bqwlrMqy1tYOtD4xJJqCR3vHvuUFXrs+nATO1nEBCd95DUEvUd1WlRfQAOFGml/Hkhy6E2C3ttezAX02PU8r5J2DSiv4KvB6ORLnVtiICf+NE/LRdyEc5ve3VtpuVQJqx06+nYxOH41MsNEwlRsa3mhZr+bj7DDz+MtQnSmIIUDMDx3eYtszk5TeuMRiWmN1E8s1202DDWSbaMQhJn7sO4bQ9RdOYGOSIGYESU+NdiH8aVL8PaXq+1YT59ogXPr/JroqePYJavxX+gPP8F1Av7a7qNknf19pYLkJXpA49ibl83v+XfQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=uoguelph.ca; dmarc=pass action=none header.from=uoguelph.ca; dkim=pass header.d=uoguelph.ca; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uoguelph.ca; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+Rkkv0hXCDZGCy6t5EEvQOUpgw8GuR9sF9agdctGgI4=; b=Ne+2Qxxi7kW+8ZBQhfjWRF5bEQrLtnPpo0Lq0lZJZYRuK9Aupyw3y3dqnAZS0UVXMaIsTuzJRkAjyZNt+hU6xSxNXuuBFCGT+shko/jaXfP8tEntUIW+Vy2UEOnx9XmDGZXkv8thzpXY//l4MfnCfniPFRrqjkzMSDMpI+68XuYxjb6Gz9O6I5N1LwcKcsphR8vtM5cBmXS/LmRzU3zLgBsHVdnG2FMbYOEviuZxYh7JYezaE3ZTAE+xcSDmqBMSkTIfg+DNiJdAYq+tRy1nnjFagAl3ES2PFEtAi2ZUQN2W4r3jQTzP4uyCupfuMIADOTFjxwepISgDqhf7xSHRow== Received: from YTBPR01MB3966.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:24::27) by YTBPR01MB3438.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:1b::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.26; Sat, 26 Sep 2020 23:33:45 +0000 Received: from YTBPR01MB3966.CANPRD01.PROD.OUTLOOK.COM ([fe80::687f:d85a:a0a3:bd20]) by YTBPR01MB3966.CANPRD01.PROD.OUTLOOK.COM ([fe80::687f:d85a:a0a3:bd20%6]) with mapi id 15.20.3412.028; Sat, 26 Sep 2020 23:33:45 +0000 From: Rick Macklem To: FreeBSD Hackers , "freebsd-current@freebsd.org" Subject: RFC: should copy_file_range(2) remain Linux compatible or support special files? Thread-Topic: RFC: should copy_file_range(2) remain Linux compatible or support special files? Thread-Index: AQHWlFwtm/+ImGEdKkCaptKgpElFKw== Date: Sat, 26 Sep 2020 23:33:45 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a57845c6-fc79-4463-a624-08d862749c5f x-ms-traffictypediagnostic: YTBPR01MB3438: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: sduuz81oYZB7ti09m+skZyFjS40Zd9pzmUggqzDQpNxh/vTEJN0edI7uUh8ApxGoZmJiKnspqfYHcG87QA6tIP2P7eVzCB2EsRSvqwe9RAyG68fpn6cyeIkDIfiP79gCkrXwWWDpAFUTbkvJiHmOh4+yq/XE7G5kKfE8ijRPiFwTsxTh+8YCcK/QmSuYgwFFkoSNV7wAKFttB4OSyHXuEC0JPE3YkOB3h6LayhxR13aSk7QjRpJhXAZ+E7xVnI+iB6gvQSt8w0gsinA0mtXUYK56EQfUNLeWYEwdjYxilGnYAJwD4RWd4UsG6acR5kUZQi5FIvivur4hFlscd0NNbPIYM1wuMkp5NtLuqwAkt1JBk4KtgB66fLH7/0zHfvr2 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:YTBPR01MB3966.CANPRD01.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(376002)(396003)(366004)(346002)(136003)(39850400004)(8936002)(110136005)(8676002)(316002)(786003)(450100002)(86362001)(6506007)(7696005)(186003)(478600001)(55016002)(9686003)(2906002)(66446008)(64756008)(66556008)(66476007)(5660300002)(52536014)(83380400001)(33656002)(91956017)(66946007)(71200400001)(76116006); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: PDpvw9Tefe9g8ktGphXSmoMrGtwnL+QTW9cygeFa++6TUHKSrtkwUo6am/WxAyUJU48f4bBgrvDV9Fxyh11uYsB1Isb5FRWvXXleE9mRBi5LMfMngnsDSgIO126BCT6k/CzivZdwWDJtk/xP92ukhcFVX6r7vSwx2IBVpzCF9L1OIyFZ6o0+GXMq9tP04RjQxwAi/2EhpkhO+IPwuRmxa5DDQrLI7OcRn4DAZBNqxsJ0nksol18V/n8runpSTHkkslDAK3YHuEzegnBvluNwH4wWUS89jtWXerYG9b95Tu8Z7gdETKBLFRzU3Hkefz91KWVjK1aCnxfiYdKL93huuKHFSs1Ou0WfBeRtFdLOrJEdATlWN2yCEaNzkVJzhgYTkaoZbtNW/k43PO0c493zH+C/rSULsS4Q28jAx7HN7EZL+n1czTXoeo4Khb65s62WRLag8T0frdrYboy1/JM63zoBjfKkKPF9ROcn6L/VaoWTUFzZG1y1N2Rh0NiWqff5QK1mcMtgXDd8CGHgYjnGa63jVFZvbR0m6F+UjvXYU5gbeC8I/o/QlLuf3dnLppssDAXE1y9Z0+zGIoiZ97C2ZsjPBv53fQT9QUY6akQWHuaUQCGjL8R1T/Y8nCesHeSGkzwiLkxkTzNkYmr0xwmRDQTsJUb2VWQSEOPWX6F//fiXwXZNESbPR5OWmF2SJSeu+ZsNP9y7LqyfN4pJcZVRew== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: uoguelph.ca X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: YTBPR01MB3966.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: a57845c6-fc79-4463-a624-08d862749c5f X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Sep 2020 23:33:45.1618 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: be62a12b-2cad-49a1-a5fa-85f4f3156a7d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: qCanHT8AAeqYRPkoCpmMcU9te9GzSzAq8kn4CS74ExJy64BqGL4CDyHPJgBy/eggDx30zwroumAMjKJ6ExnhxQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: YTBPR01MB3438 X-Rspamd-Queue-Id: 4BzQ8V68DDz4FFF X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=uoguelph.ca header.s=selector1 header.b=Ne+2Qxxi; dmarc=pass (policy=none) header.from=uoguelph.ca; spf=pass (mx1.freebsd.org: domain of rmacklem@uoguelph.ca designates 40.107.67.86 as permitted sender) smtp.mailfrom=rmacklem@uoguelph.ca X-Spamd-Result: default: False [-4.73 / 15.00]; TO_DN_EQ_ADDR_SOME(0.00)[]; NEURAL_HAM_MEDIUM(-0.99)[-0.991]; R_DKIM_ALLOW(-0.20)[uoguelph.ca:s=selector1]; FREEFALL_USER(0.00)[rmacklem]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:40.107.0.0/16]; MIME_GOOD(-0.10)[text/plain]; NEURAL_HAM_LONG(-1.01)[-1.009]; ARC_ALLOW(-1.00)[microsoft.com:s=arcselector9901:i=1]; DWL_DNSWL_LOW(-1.00)[uoguelph.ca:dkim]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[uoguelph.ca:+]; RCPT_COUNT_TWO(0.00)[2]; RCVD_IN_DNSWL_NONE(0.00)[40.107.67.86:from]; NEURAL_HAM_SHORT(-0.73)[-0.729]; DMARC_POLICY_ALLOW(-0.50)[uoguelph.ca,none]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; SUBJECT_ENDS_QUESTION(1.00)[]; ASN(0.00)[asn:8075, ipnet:40.104.0.0/14, country:US]; RCVD_TLS_LAST(0.00)[]; MAILMAN_DEST(0.00)[freebsd-hackers,freebsd-current]; RWL_MAILSPIKE_POSSIBLE(0.00)[40.107.67.86:from] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Sep 2020 23:33:47 -0000 I know cross-posting is frowned upon, but I wanted everyone who might=0A= like to comment to see this.=0A= =0A= Currently copy_file_range(2) only supports regular files, which is compatib= le=0A= with the Linux one, where EINVAL is returned when either file descriptor=0A= refers to a non-regular file.=0A= =0A= Alan Somers would like to extend the syscall to handle special files.=0A= I think he has a couple of reasons for this (he can correct me):=0A= - When integrating it into "cp", he needed to provide a fallback for=0A= special files and similar fallbacks would probably be needed for=0A= other utilities like "dd".=0A= - iSCSI provides a "copy" operation which could be implemented using=0A= copy_file_range(2)/VOP_COPY_FILE_RANGE() if it supported special files.= =0A= =0A= kib@ was concerned that a copy from /dev/zero would fill a disk, but=0A= I think that issue can be dealt with by limiting the duration of the syscal= l=0A= to 1sec (so that the utility can be terminated via SIGTERM or similar).=0A= =0A= I am on the fence w.r.t. since I modelled it after the Linux one and keepin= g=0A= it Linux compatible would facilitate portable code, but I understand why=0A= Alan Somers wants to extend it (the iSCSI support seems particularily usefu= l).=0A= =0A= Everyone, please comment on this, rick=0A=