public inbox for linux-fsdevel@vger.kernel.org
 help / color / mirror / Atom feed
From: David Timber <dxdt@dev.snart.me>
To: linkinjeon@kernel.org, sj1557.seo@samsung.com
Cc: yuezhang.mo@sony.com, linux-fsdevel@vger.kernel.org,
	linux-kernel@vger.kernel.org, David Timber <dxdt@dev.snart.me>
Subject: [PATCH v0 0/1] exfat: add limited FALLOC_FL_ZERO_RANGE support
Date: Thu, 19 Mar 2026 13:35:52 +0900	[thread overview]
Message-ID: <20260319043553.301185-1-dxdt@dev.snart.me> (raw)

This is part of my exFAT fragmentation optimisation project.

As exFAT is fundamentally based on linked-list structure, cluster
allocation is not a cheap operation - it involves walking the cluster
chain as well as bitmap so it's not particularly easy on flash devices.

The purpose of VDL is in part addressing the issue by allowing users
to clear the contents of files without changing the cluster layout by
only updating VDL which is O(1) op. I.e. reduced flash wear.

The fallocate support should see applications in recording devices like
dashcams, IP cameras and DVRs(digital video recorders). Such devices
typically implement FIFO-style file rotation. Also, the technique
could be potentially utilise to eliminate the chance of fragmentation
if the device preallocates clusters for large media files.

The `fallocate -d ...` and `cp --sparse=always ...`
commands(util-linux) can be used on the files in exFAT to detect zeros
leading up to EOF and update the VDL accordingly.

David Timber (1):
  exfat: add limited FALLOC_FL_ZERO_RANGE support

 fs/exfat/file.c | 75 +++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 64 insertions(+), 11 deletions(-)

-- 
2.53.0.1.ga224b40d3f.dirty


             reply	other threads:[~2026-03-19  4:36 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-19  4:35 David Timber [this message]
2026-03-19  4:35 ` [PATCH v0 1/1] exfat: add limited FALLOC_FL_ZERO_RANGE support David Timber
2026-03-23  7:59   ` Dan Carpenter
2026-03-20  8:16 ` [syzbot ci] " syzbot ci
2026-03-22 12:35   ` David Timber
2026-03-22 12:38     ` syzbot ci

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=20260319043553.301185-1-dxdt@dev.snart.me \
    --to=dxdt@dev.snart.me \
    --cc=linkinjeon@kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sj1557.seo@samsung.com \
    --cc=yuezhang.mo@sony.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