public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
From: Alexey Kodanev <alexey.kodanev@oracle.com>
To: ltp@lists.linux.it
Subject: [LTP] [PATCH] syscalls/fallocate04: Fix on Btrfs
Date: Mon, 29 Aug 2016 15:16:24 +0300	[thread overview]
Message-ID: <57C42798.3010008@oracle.com> (raw)
In-Reply-To: <20160829094436.GA30021@rei.lan>

Hi,
On 08/29/2016 12:44 PM, Cyril Hrubis wrote:
> Hi!
>>>> The size of a file can double on Btrfs temporarily even when we write
>>>> into a preallocated space because of internal Btrfs caches, at least
>>>> that is what I've been told by Btrfs devs. The internal caches are then
>>>> freed after some time, or can be force freed by syncing the file, which
>>>> is what this patch does.
>> So if we have available free space x Mb,  we can't allocate more than x
>> / 2 Mb and it's not a bug?
> It's the other way around. We preallocate x Mb for the file, then write
> into the preallocated space. The file size, as reported by stat(), may
> end up > x MB after the write temporarily on Btrfs because of caching.
> And this is not a bug since the only guarantee we have is that we don't
> get ENOSPC when writing into preallocated file region. There is nothing
> that forbids allocating more space temporarily if there is plenty of it.

I understand that the size might be larger and we are allocating in 
chunks for
that reason. But here we have "cache" that equals the size of 
allocation...  it just looks suspicious.

It's true, it doesn't matter if we have plenty of space and if we are 
testing
writes that shouldn't return ENOSPC.


> Another interesting testcase would be doing the same on the LTP loopback
> device that would be filled up after the file has been preallocated.
> That would likely force different codepath in the FS since there would
> be no avaialable free space left...

On btrfs it will be hard to do, I mean filling free space :)

Best regards,
Alexey


  reply	other threads:[~2016-08-29 12:16 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-25 16:53 [LTP] [PATCH] syscalls/fallocate04: Fix on Btrfs Cyril Hrubis
2016-08-26 11:17 ` Stanislav Kholmanskikh
2016-08-26 12:08   ` Alexey Kodanev
2016-08-29  9:44     ` Cyril Hrubis
2016-08-29 12:16       ` Alexey Kodanev [this message]
2016-08-29 12:36         ` Cyril Hrubis
2016-08-31 14:07 ` Cyril Hrubis

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=57C42798.3010008@oracle.com \
    --to=alexey.kodanev@oracle.com \
    --cc=ltp@lists.linux.it \
    /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