All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Namjae Jeon <linkinjeon@kernel.org>
Cc: Christoph Hellwig <hch@lst.de>,
	viro@zeniv.linux.org.uk, brauner@kernel.org, tytso@mit.edu,
	willy@infradead.org, jack@suse.cz, djwong@kernel.org,
	josef@toxicpanda.com, sandeen@sandeen.net, rgoldwyn@suse.com,
	xiang@kernel.org, dsterba@suse.com, pali@kernel.org,
	ebiggers@kernel.org, neil@brown.name, amir73il@gmail.com,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
	iamjoonsoo.kim@lge.com, cheol.lee@lge.com, jay.sim@lge.com,
	gunho.lee@lge.com, Hyunchul Lee <hyc.lee@gmail.com>
Subject: Re: [PATCH v5 06/14] ntfs: update file operations
Date: Mon, 19 Jan 2026 08:10:38 +0100	[thread overview]
Message-ID: <20260119071038.GC1480@lst.de> (raw)
In-Reply-To: <CAKYAXd_RoJi5HqQV2NPvmkOTrx9AbSbuCmi=BKieENcLVW0FZg@mail.gmail.com>

On Sun, Jan 18, 2026 at 01:56:55PM +0900, Namjae Jeon wrote:
> > Talking about helpers, why does iomap_seek_hole/iomap_seek_data
> > not work for ntfs?
>
> Regarding iomap_seek_hole/iomap_seek_data, the default iomap
> implementation treats IOMAP_UNWRITTEN extents as holes unless they
> have dirty pages in the page cache. However, in ntfs iomap begin, the
> region between initialized_size and i_size (EOF) is mapped as
> IOMAP_UNWRITTEN. Since NTFS requires any pre-allocated regions before
> initialized_size to be physically zeroed, NTFS must treat all
> pre-allocated regions as DATA.

What do you need IOMAP_UNWRITTEN for in that case?  If the blocks have
been zeroed on-disk, they are IOMAP_MAPPED by the usual iomap standards.
If you need special treatement, it might be worth adding a separate
IOMAP_PREZEROED with clearly defined semantics instead of overloading
IOMAP_UNWRITTEN.

> 
> >
> > > +             file_accessed(iocb->ki_filp);
> > > +             ret = iomap_dio_rw(iocb, to, &ntfs_read_iomap_ops, NULL, IOMAP_DIO_PARTIAL,
> >
> > Why do you need IOMAP_DIO_PARTIAL?  That's mostly a workaround
> > for "interesting" locking in btrfs and gfs2.  If ntfs has similar
> > issues, it would be helpful to add a comment here.  Also maybe fix
> > the overly long line.
> Regarding the use of IOMAP_DIO_PARTIAL, I was not aware that it was a
> workaround for specific locking issues in some filesystems. I
> incorrectly assumed it was a flag to enable partial success when a DIO
> request exceeds the actual data length. I will remove this flags and
> fix it.

It only does short I/O for -EFAULT, which only happens if the nofault
flag on the iov_iter is set.  See the big comment in
btrfs_direct_write where that field is set about the explanation.

> > What is the reason to do the expansion here instead of in the iomap_begin
> > handler when we know we are committed to write to range?
> We can probably move it to iomap_begin(). Let me check it.

If it works better here that's also fine, just document it as it looks
a bit unusual.  Handling the cleanup on failures might be a bit easier
if it is done in the iomap loop, though.


  reply	other threads:[~2026-01-19  7:10 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-11 14:03 [PATCH v5 00/14] ntfs filesystem remake Namjae Jeon
2026-01-11 14:03 ` [PATCH v5 01/14] Revert "fs: Remove NTFS classic" Namjae Jeon
2026-01-16  8:00   ` Christoph Hellwig
2026-01-11 14:03 ` [PATCH v5 02/14] ntfs: update in-memory, on-disk structures and headers Namjae Jeon
2026-01-16  8:23   ` Christoph Hellwig
2026-01-18  4:54     ` Namjae Jeon
2026-01-19  7:05       ` Christoph Hellwig
2026-01-20  4:27         ` Namjae Jeon
2026-01-20  6:40           ` Christoph Hellwig
2026-01-20  7:03             ` Namjae Jeon
2026-01-11 14:03 ` [PATCH v5 03/14] ntfs: update super block operations Namjae Jeon
2026-01-11 14:03 ` [PATCH v5 04/14] ntfs: update inode operations Namjae Jeon
2026-01-16  8:30   ` Christoph Hellwig
2026-01-18  4:54     ` Namjae Jeon
2026-01-11 14:03 ` [PATCH v5 05/14] ntfs: update directory operations Namjae Jeon
2026-01-11 14:03 ` [PATCH v5 06/14] ntfs: update file operations Namjae Jeon
2026-01-16  8:53   ` Christoph Hellwig
2026-01-18  4:56     ` Namjae Jeon
2026-01-19  7:10       ` Christoph Hellwig [this message]
2026-01-20  5:11         ` Namjae Jeon
2026-01-20  6:42           ` Christoph Hellwig
2026-01-20  7:02             ` Namjae Jeon
2026-01-11 14:03 ` [PATCH v5 07/14] ntfs: update iomap and address space operations Namjae Jeon
2026-01-16  9:14   ` Christoph Hellwig
2026-01-18  5:00     ` Namjae Jeon
2026-01-19  7:17       ` Christoph Hellwig
2026-01-20  4:28         ` Namjae Jeon
2026-01-11 14:03 ` [PATCH v5 08/14] ntfs: update attrib operations Namjae Jeon
2026-01-16  9:18   ` Christoph Hellwig
2026-01-18  5:00     ` Namjae Jeon
2026-01-11 14:03 ` [PATCH v5 09/14] ntfs: update runlist handling and cluster allocator Namjae Jeon
2026-01-16  9:21   ` Christoph Hellwig
2026-01-18  5:00     ` Namjae Jeon
2026-01-11 14:03 ` [PATCH v5 10/14] ntfs: add reparse and ea operations Namjae Jeon
2026-01-11 14:03 ` [PATCH v5 11/14] ntfs: update misc operations Namjae Jeon
2026-01-16  9:28   ` Christoph Hellwig
2026-01-18  5:00     ` Namjae Jeon
2026-01-11 14:03 ` [PATCH v5 12/14] ntfs3: remove legacy ntfs driver support Namjae Jeon
2026-01-16  9:28   ` Christoph Hellwig
2026-01-11 14:03 ` [PATCH v5 13/14] ntfs: add Kconfig and Makefile Namjae Jeon
2026-01-16  9:30   ` Christoph Hellwig
2026-01-18  5:08     ` Namjae Jeon
2026-01-19  7:19       ` Christoph Hellwig
2026-01-20  4:27         ` Namjae Jeon
2026-01-11 14:03 ` [PATCH v5 14/14] MAINTAINERS: update ntfs filesystem entry Namjae Jeon
2026-01-16  9:30   ` Christoph Hellwig
2026-01-16  9:33 ` [PATCH v5 00/14] ntfs filesystem remake Christoph Hellwig
2026-01-18  5:19   ` Namjae Jeon
2026-01-19  7:02     ` Christoph Hellwig
2026-01-20  4:26       ` Namjae Jeon

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=20260119071038.GC1480@lst.de \
    --to=hch@lst.de \
    --cc=amir73il@gmail.com \
    --cc=brauner@kernel.org \
    --cc=cheol.lee@lge.com \
    --cc=djwong@kernel.org \
    --cc=dsterba@suse.com \
    --cc=ebiggers@kernel.org \
    --cc=gunho.lee@lge.com \
    --cc=hyc.lee@gmail.com \
    --cc=iamjoonsoo.kim@lge.com \
    --cc=jack@suse.cz \
    --cc=jay.sim@lge.com \
    --cc=josef@toxicpanda.com \
    --cc=linkinjeon@kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=neil@brown.name \
    --cc=pali@kernel.org \
    --cc=rgoldwyn@suse.com \
    --cc=sandeen@sandeen.net \
    --cc=tytso@mit.edu \
    --cc=viro@zeniv.linux.org.uk \
    --cc=willy@infradead.org \
    --cc=xiang@kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.