public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@infradead.org>
To: Juhyung Park <qkrwngud825@gmail.com>
Cc: Christoph Hellwig <hch@infradead.org>,
	Jiaming Li <lijiaming3@xiaomi.corp-partner.google.com>,
	alim.akhtar@samsung.com, avri.altman@wdc.com, bvanassche@acm.org,
	linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org,
	lijiaming3 <lijiaming3@xiaomi.com>
Subject: Re: [RESEND PATCH 0/4] Implement File-Based optimization functionality
Date: Wed, 9 Nov 2022 04:31:22 -0800	[thread overview]
Message-ID: <Y2udmtayRau/x5AO@infradead.org> (raw)
In-Reply-To: <c5948336-19fc-ddd3-bc34-aba2d1b02302@gmail.com>

On Thu, Nov 03, 2022 at 03:11:16PM +0900, Juhyung Park wrote:
> Is the idea really an utter madness?

Yes.

> Majority of regular files that may be
> of interest from the perspective of UFS aren't reflinked or snapshotted (let
> alone the lack of support from ext4 or f2fs).

Linux does not require you in any way to use obsolete file systems
desings only on any given block device.

> Device-side fragmentation is a real issue [1] and it makes more than enough
> sense to defrag LBAs of interests to improve performance. This was long
> overdue, unless the block interface itself changes somehow.

Or maybe random writes to flash aren't a good idea if you FTL sucks?
Full blown FTLs tend to not do any extent based mappings, so
fragmentation does not matter.  The price paid for that is much larger
FTL tables.  If you stop pretending flash is random writable through
saner interfaces like ZNS you automatically solve this fragmentation
problem as well.

> The question is how to implement it correctly without creating a mess with
> mismatched/outdated LBAs as you've mentioned, preferably through
> file-system's integration: If the LBAs in questions are indeed reflinked,
> how do we handle it?, If the LBAs are moved/invalidated from defrag or GC,
> how do we make sure that UFS is up-to-date?, etc.

The fix is to plug the leaking abtractions in UFS.  If it wants to look
like a random writable block device it better perform when doing that.
And if it doesn't want to pay the prize for that it'd better expose
an abstraction that actually fits the underlying media.  It's not like
some of us haven't worked on that for the last decade.

  parent reply	other threads:[~2022-11-09 12:31 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-02  5:30 [RESEND PATCH 0/4] Implement File-Based optimization functionality Jiaming Li
2022-11-02  5:30 ` [RESEND PATCH 1/4] scsi:ufs:remove sanity check Jiaming Li
2022-11-02  7:23   ` Avri Altman
2022-11-02  5:30 ` [RESEND PATCH 2/4] scsi:ufs:add File-Based Optimization descriptor Jiaming Li
2022-11-02  7:46   ` Avri Altman
2022-11-02  5:30 ` [RESEND PATCH 3/4] scsi:ufs:add FBO module Jiaming Li
2022-11-02  8:11   ` Avri Altman
2022-11-14 21:21   ` kernel test robot
2022-11-02  5:30 ` [RESEND PATCH 4/4] scsi:ufs:add fbo functionality Jiaming Li
2022-11-02  8:53   ` Avri Altman
2022-11-02 20:26   ` kernel test robot
2022-11-02  8:47 ` [RESEND PATCH 0/4] Implement File-Based optimization functionality Christoph Hellwig
2022-11-03  6:11   ` Juhyung Park
2022-11-04 12:37     ` Matias Bjørling
2022-11-05  5:22       ` Juhyung Park
2022-11-09 12:31     ` Christoph Hellwig [this message]
2022-11-02 15:24 ` Bart Van Assche

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Y2udmtayRau/x5AO@infradead.org \
    --to=hch@infradead.org \
    --cc=alim.akhtar@samsung.com \
    --cc=avri.altman@wdc.com \
    --cc=bvanassche@acm.org \
    --cc=lijiaming3@xiaomi.com \
    --cc=lijiaming3@xiaomi.corp-partner.google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=qkrwngud825@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox