From: Viacheslav Dubeyko <Slava.Dubeyko@ibm.com>
To: "hyc.lee@gmail.com" <hyc.lee@gmail.com>
Cc: "glaubitz@physik.fu-berlin.de" <glaubitz@physik.fu-berlin.de>,
"frank.li@vivo.com" <frank.li@vivo.com>,
"slava@dubeyko.com" <slava@dubeyko.com>,
"hch@infradead.org" <hch@infradead.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
"cheol.lee@lge.com" <cheol.lee@lge.com>
Subject: RE: [PATCH] hfsplus: limit sb_maxbytes to partition size
Date: Thu, 5 Mar 2026 00:46:55 +0000 [thread overview]
Message-ID: <532c5cdf12ced8eee5e5a93efe592937b63b889d.camel@ibm.com> (raw)
In-Reply-To: <aajObSSRGVXG3sI_@hyunchul-PC02>
On Thu, 2026-03-05 at 09:29 +0900, Hyunchul Lee wrote:
> On Wed, Mar 04, 2026 at 08:04:30PM +0000, Viacheslav Dubeyko wrote:
> > On Wed, 2026-03-04 at 05:08 -0800, Christoph Hellwig wrote:
> > > On Tue, Mar 03, 2026 at 05:28:07PM +0900, Hyunchul Lee wrote:
> > > > s_maxbytes currently is set to MAX_LFS_FILESIZE,
> > > > which allows writes beyond the partition size.
> > >
> > > The "partition size" does not matter here. s_maxbytes is the maximum
> > > size supported by the format and has nothing to do with the actual space
> > > allocated to the file system (which in Linux terminology would be the
> > > block device and not the partition anyway).
> > >
> > > >
> > > > As a result,
> > > > large-offset writes on small partitions can fail late
> > > > with ENOSPC.
> > >
> > > That sounds like some other check is missing in hfsplus, but it
> > > should be about the available free space, not the device size.
> > >
> >
> > I agree with Christoph.
> >
> > But, frankly speaking, I don't quite follow which particular issue is under fix
> > here. I can see that generic/268 failure has been mentioned. However, I can see
> > this:
> >
> > sudo ./check generic/268
> > FSTYP -- hfsplus
> > PLATFORM -- Linux/x86_64 hfsplus-testing-0001 6.19.0-rc1+ #95 SMP
> > PREEMPT_DYNAMIC Thu Feb 19 15:29:55 PST 2026
> > MKFS_OPTIONS -- /dev/loop51
> > MOUNT_OPTIONS -- /dev/loop51 /mnt/scratch
> >
> > generic/268 [not run] Reflink not supported by scratch filesystem type:
> > hfsplus
> > Ran: generic/268
> > Not run: generic/268
> > Passed all 1 tests
> >
> > Which particular issue is under fix?
>
> Sorry it's generic/285, not generic/268.
> in generic/285, there is a test that creates a hole exceeding the block
> size and appends small data to the file. hfsplus fails because it fills
> the block device and returns ENOSPC. However if it returns EFBIG
> instead, the test is skipped.
>
> For writes like xfs_io -c "pwrite 8t 512", should fops->write_iter
> returns ENOSPC, or would it be better to return EFBIG?
> >
Current hfsplus_file_extend() implementation doesn't support holes. I assume you
mean this code [1]:
len = hip->clump_blocks;
start = hfsplus_block_allocate(sb, sbi->total_blocks, goal, &len);
if (start >= sbi->total_blocks) {
start = hfsplus_block_allocate(sb, goal, 0, &len);
if (start >= goal) {
res = -ENOSPC;
goto out;
}
}
Am I correct?
Do you mean that calling logic expects -EFBIG? Potentially, if we tries to
extend the file, then -EFBIG could be more appropriate. But it needs to check
the whole call trace.
Thanks,
Slava.
[1] https://elixir.bootlin.com/linux/v6.19/source/fs/hfsplus/extents.c#L463
next prev parent reply other threads:[~2026-03-05 0:47 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-03 8:28 Hyunchul Lee
2026-03-04 13:08 ` Christoph Hellwig
2026-03-04 20:04 ` Viacheslav Dubeyko
2026-03-05 0:29 ` Hyunchul Lee
2026-03-05 0:46 ` Viacheslav Dubeyko [this message]
2026-03-05 1:52 ` Hyunchul Lee
2026-03-05 23:21 ` Viacheslav Dubeyko
2026-03-06 0:57 ` Hyunchul Lee
2026-03-06 1:23 ` Viacheslav Dubeyko
2026-03-06 2:05 ` Hyunchul Lee
2026-03-06 20:08 ` Viacheslav Dubeyko
2026-03-09 0:52 ` Hyunchul Lee
2026-03-09 19:47 ` Viacheslav Dubeyko
2026-03-09 23:25 ` Hyunchul Lee
2026-03-05 14:27 ` hch
2026-03-06 0:40 ` Hyunchul Lee
2026-03-04 23:49 ` Hyunchul Lee
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=532c5cdf12ced8eee5e5a93efe592937b63b889d.camel@ibm.com \
--to=slava.dubeyko@ibm.com \
--cc=cheol.lee@lge.com \
--cc=frank.li@vivo.com \
--cc=glaubitz@physik.fu-berlin.de \
--cc=hch@infradead.org \
--cc=hyc.lee@gmail.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=slava@dubeyko.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
all inboxes | Powered by JetHome®