From nobody Wed Jan 19 05:04:59 2022 X-Original-To: freebsd-current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id E6C2C1952304 for ; Wed, 19 Jan 2022 05:05:02 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: from mail-qk1-x731.google.com (mail-qk1-x731.google.com [IPv6:2607:f8b0:4864:20::731]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Jdtqf1ZLCz4WVq; Wed, 19 Jan 2022 05:05:02 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: by mail-qk1-x731.google.com with SMTP id c190so1604912qkg.9; Tue, 18 Jan 2022 21:05:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:message-id:date:mime-version:user-agent:subject :content-language:to:references:from:in-reply-to :content-transfer-encoding; bh=ixIGH5vhH18ZjRtfae6PqV/VPZ9L6ASsi1FRvvwQe14=; b=pWZCgnlD796G9Uy5GtOaN1yhED+U5dvna3B4aR+t4+2ijLq5xrCjJ4XQuDiUAAHowD 8bdM/D6dh4wPM8eVfDC5+V1dy6AxQ41Z31ISukXuojwj1cvwdX/rbzasfzkPkVKyFzGz 5rM7n4r0+N3a52/94dvkYm/fnw/2BrECfGB7V2DH4aUYHYAjKCLZtu9oQkl/B9SunV6d 35+I318tzgh1WXnxgd9JTLEX9KpIUusYwefa4yzFcFxw8ccSm1O31mYtG1j6XRg9PRG8 IM0KMTwu5AGViWdvxi5S2dhgjesyz4sfOASd16KMzH8nGEGx7tgfZnRMP3NKBpX7Bmyh hnbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:message-id:date:mime-version:user-agent :subject:content-language:to:references:from:in-reply-to :content-transfer-encoding; bh=ixIGH5vhH18ZjRtfae6PqV/VPZ9L6ASsi1FRvvwQe14=; b=lZ+s/7ZaP3ArSGLOUpVUUy6wM3+8PbRT5qVxq2YI1rsg6/49CJWRpUVG7nBXAnIDzI 6usaCkP7ls4Y44xFWQdrfJnZceuG6djEmbhh+IbabYsyOjpWIDgLZfeqAU6u7/I4dgJ8 yQt8Pi0UsvD9mmszEqXxde05XLBDUHns8RvcLLN40VHxQygi6UGS86EjuKvgSRjqIgX6 uJNagV6MpKf3pC4bna/q0RRn3qdyZEEUKsctNyTcINYuW7WkKg/wQsqni5GFLmpIU5NV T0oqKqdgtSPpRYb4ciN7pxTqfL4iHJQOqSq6OnB820kx01mf+eNpG1+nucDTGYbjqe3P 3T7A== X-Gm-Message-State: AOAM530U80tfWB3NBCHrWU5D/rEaWyhRhBT44owpEEIOfgZSQlpxxWtS ecCZuoIPockXIz28h+rHQVqsguXTy20= X-Google-Smtp-Source: ABdhPJwaPQF2N/3GMMz41NslQLjLxcUm9mKiZ19ktJMOGAk6N7GqnB1Bgal7mBndXTLND0iqvaGB5Q== X-Received: by 2002:a05:620a:28d4:: with SMTP id l20mr472309qkp.630.1642568701146; Tue, 18 Jan 2022 21:05:01 -0800 (PST) Received: from [192.168.1.66] (104-55-12-234.lightspeed.knvltn.sbcglobal.net. [104.55.12.234]) by smtp.gmail.com with ESMTPSA id f14sm1001163qtf.81.2022.01.18.21.05.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 18 Jan 2022 21:05:00 -0800 (PST) Message-ID: <9a8bb084-394c-6948-1e57-ff9732b93532@FreeBSD.org> Date: Wed, 19 Jan 2022 00:04:59 -0500 List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:91.0) Gecko/20100101 Thunderbird/91.4.1 Subject: Re: fspacectl meets DIOCGDELETEE Content-Language: en-US To: Alan Somers , FreeBSD CURRENT References: From: Alexander Motin In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4Jdtqf1ZLCz4WVq X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20210112 header.b=pWZCgnlD; dmarc=none; spf=pass (mx1.freebsd.org: domain of mavbsd@gmail.com designates 2607:f8b0:4864:20::731 as permitted sender) smtp.mailfrom=mavbsd@gmail.com X-Spamd-Result: default: False [-0.84 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20210112]; MID_RHS_MATCH_FROM(0.00)[]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[FreeBSD.org]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_SPAM_MEDIUM(1.00)[1.000]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; RCPT_COUNT_TWO(0.00)[2]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::731:from]; NEURAL_HAM_SHORT(-0.64)[-0.638]; MLMMJ_DEST(0.00)[freebsd-current]; FORGED_SENDER(0.30)[mav@FreeBSD.org,mavbsd@gmail.com]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FROM_NEQ_ENVFROM(0.00)[mav@FreeBSD.org,mavbsd@gmail.com]; RCVD_TLS_ALL(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim] X-ThisMailContainsUnwantedMimeParts: N Hi Alan, On 17.01.2022 23:52, Alan Somers wrote: > fspacectl(2) does for regular files the same thing that DIOCGDELETE > does for GEOM devices. The only differences are that DIOCGDELETE > requires the operation to be block-aligned, and if interrupted > DIOCGDELETE doesn't give feedback about partial progress. Can we > connect the two? That would allow a user to free space with a single > API for both files and devices. It would require: > > * Adding a d_fspacectl_t member to struct cdevsw > * Implementing d_fspacectl_t for g_dev_cdevsw by using DIOCGDELETE > * Implementing .fo_fspacectl for devfs > * Optionally implementing d_fspacectl on other device types, like zvols. This reminded me that we also have the same problem with DIOCGFLUSH. Unlike regular files cache flush can be sent through devfs only with ioctl(), not fsync()/fdatasync(). -- Alexander Motin