From: "Pádraig Brady" <P@draigBrady.com>
To: linux-fsdevel@vger.kernel.org
Subject: Re: fallocate vs ENOSPC
Date: Wed, 07 Dec 2011 11:42:08 +0000 [thread overview]
Message-ID: <4EDF5110.8090304@draigBrady.com> (raw)
In-Reply-To: <4ED6C644.4060906@draigBrady.com>
On 12/01/2011 12:11 AM, Pádraig Brady wrote:
> On 11/30/2011 05:01 PM, Ted Ts'o wrote:
>> On Wed, Nov 30, 2011 at 04:11:27PM +0000, Pádraig Brady wrote:
>>> I looked for a couple of minutes on the XFS preallocate behaviour,
>>> and it seems that these ioctls pre date fallocate().
>>> http://linux.die.net/man/3/xfsctl
>>> I see XFS_IOC_ALLOCSP and XFS_IOC_RESVSP.
>>> So fallocate() support was directly mapped on top of the existing ALLOCSP.
>>> I think the specialised alignment behavior should be restricted to
>>> direct calls to XFS_IOC_ALLOCSP to be called by xfs_mkfile(1) or whatever.
>>> Better would be to provide generic access to that functionality
>>> through an ALIGN option to fallocate()
>>
>> Well, XFS_IOC_RESVSP is the same as fallocate with the
>> FALLOC_FL_KEEP_SIZE flag. That is to say, blocks are allocated and
>> attached to the inode --- that is, which blocks out of the pool of
>> free blocks should be selected is decided at the time that you call
>> fallocate() with the KEEP_SIZE flag or use the XFS_IOC_RESVSP ioctl
>> (which by the way works on any file system that supports fallocate on
>> modern kernels --- the kernel provides the translation from
>> XFS_IOC_RESVSP to fallocate/KEEP_SIZE in fs/ioctl.c's
>> ioctl_preallocate() function.)
>
> Thanks for the clarification.
> My main point is that these related ioctls existed before fallocate.
>
>> What Dave was talking about is something different. He's suggesting a
>> new call which reserves space, but which does not actually make the
>> block allocation decision until the time of the write.
>
> Yes that was clear.
> I'm still not sure it's needed TBH.
> The separation of functionality is needed for the reasons Dave detailed,
> but it might be better to add an ALIGN flag to fallocate for
> that special use case.
> I'm not trying to enforce my argument with repetition here,
> just trying to be clear.
Is XFS the only file system that overloads this alignment behavior on fallocate()?
Why I ask, is because if that was the case, then perhaps XFS could change
to using the FALLOC_FL_ALIGN flag for this (or its existing ioctl), and so
would not be negatively impacted by tools which start using fallocate(),
unaware of the subtle performance implications on XFS.
cheers,
Pádraig.
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
prev parent reply other threads:[~2011-12-07 11:42 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-25 10:26 fallocate vs ENOSPC Pádraig Brady
2011-11-25 10:40 ` Christoph Hellwig
2011-11-27 3:14 ` Ted Ts'o
2011-11-27 23:43 ` Dave Chinner
2011-11-28 0:13 ` Pádraig Brady
2011-11-28 3:51 ` Dave Chinner
2011-11-28 0:40 ` Theodore Tso
2011-11-28 5:10 ` Dave Chinner
2011-11-28 8:55 ` Pádraig Brady
2011-11-28 10:41 ` tao.peng
2011-11-28 12:02 ` Pádraig Brady
2011-11-28 14:36 ` Theodore Tso
2011-11-28 14:51 ` Pádraig Brady
2011-11-28 20:29 ` Ted Ts'o
2011-11-28 20:49 ` Jeremy Allison
2011-11-29 22:39 ` Eric Sandeen
2011-11-29 23:04 ` Jeremy Allison
2011-11-29 23:19 ` Eric Sandeen
2011-11-28 18:49 ` Jeremy Allison
2011-11-29 0:26 ` Dave Chinner
2011-11-29 0:45 ` Jeremy Allison
2011-11-29 0:24 ` Dave Chinner
2011-11-29 14:11 ` Pádraig Brady
2011-11-29 23:37 ` Dave Chinner
2011-11-30 9:28 ` Pádraig Brady
2011-11-30 15:32 ` Ted Ts'o
2011-11-30 16:11 ` Pádraig Brady
2011-11-30 17:01 ` Ted Ts'o
2011-11-30 23:39 ` Dave Chinner
2011-12-01 0:11 ` Pádraig Brady
2011-12-07 11:42 ` Pádraig Brady [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=4EDF5110.8090304@draigBrady.com \
--to=p@draigbrady.com \
--cc=linux-fsdevel@vger.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.