All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alejandro Colomar <alx@kernel.org>
To: Zeno Endemann <zeno.endemann@mailbox.org>
Cc: linux-man@vger.kernel.org
Subject: Re: Missing error values in ftruncate and fallocate man pages?
Date: Sat, 11 Apr 2026 16:08:15 +0200	[thread overview]
Message-ID: <adpUrD39ERZowDeD@debian> (raw)
In-Reply-To: <56356afa-99c5-4845-830e-dcf441eb376e@mailbox.org>

[-- Attachment #1: Type: text/plain, Size: 2346 bytes --]

Hi Zeno,

On 2026-04-10T21:12:02+0200, Zeno Endemann wrote:
> Alejandro Colomar wrote on 10.04.26 19:47:
> > Hi Zeno,
> > 
> > On 2026-04-10T18:52:29+0200, Zeno Endemann wrote:
> > > Hello,
> > > 
> > > I noticed that the man page for truncate(2) does not list the error codes
> > > ENOSPC and EDQUOT, but I would think those should be potentially possible
> > > when actually expanding a file (may depend on file system?).
> > > 
> > > Similarly, fallocate(2) also does not list EDQUOT (ENOSPC is there however).
> > > Finally, posix_fallocate(3) has no EDQUOT as well, and EIO also seems to be
> > > missing for this one.
> > > 
> > > Or am I overlooking something?
> > 
> > Sounds plausible.  If you could either perform some experiments or show
> > the relevant kernel sources that make it possible, we could know for
> > sure.  If you find out it's possible, would you mind sending a patch?
> 
> I ran a quick test, on a FAT32 partition ftruncate can indeed return ENOSPC.

Thanks!  Would you send a patch?

> On most other file systems I suspect it will not, as most fs support files
> with unallocated space. Not sure there is a file system supporting quotas
> but not sparse files, I have never worked with quotas. Maybe someone else
> can pitch in there?
> 
> As a side note, I think it would be preferable if the allowed error codes
> would be agreed upon / specified regardless of whether there is an in-kernel
> file system which can currently actually return those,

What I'd like is to say "This system call may fail for the same reasons
as <this other>" (plus then a list of syscall-specific errors).  This
would simplify documentation of possible errors, while being much more
accurate.


Have a lovely day!
Alex

> since how things are
> implemented can change over time, and there is also FUSE - technically with
> my own FUSE file system I can make these functions return any arbitrary errno
> value, but a well-behaving FUSE implementation of course would restrict itself
> to such a specified "contract". Though I suppose this is likely not the right
> place to discuss this further ;)
> 
> Cheers,
> 
> 
> > 
> > 
> > Have a lovely day!
> > Alex
> > 
> > > 
> > > Thanks,
> > > Zeno Endemann
> > > 
> > > 
> > 
> 

-- 
<https://www.alejandro-colomar.es>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

      reply	other threads:[~2026-04-11 14:08 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-10 16:52 Missing error values in ftruncate and fallocate man pages? Zeno Endemann
2026-04-10 17:47 ` Alejandro Colomar
2026-04-10 19:12   ` Zeno Endemann
2026-04-11 14:08     ` Alejandro Colomar [this message]

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=adpUrD39ERZowDeD@debian \
    --to=alx@kernel.org \
    --cc=linux-man@vger.kernel.org \
    --cc=zeno.endemann@mailbox.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.