linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bert De Jonghe <Bert.DeJonghe@amplidata.com>
To: linux-ext4@vger.kernel.org
Cc: Bastiaan Stougie <bstougie@amplidata.com>
Subject: delayed allocation blocks not flushed?
Date: Mon, 27 May 2013 09:54:13 +0200	[thread overview]
Message-ID: <51A31125.1070100@amplidata.com> (raw)
In-Reply-To: <51A31052.4030507@amplidata.com>

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

Hi,

On an otherwise idle system, create an ext4 filesystem on /dev/sdi, 
mount it and wait more than dirty_writeback_centisecs.

Then create a small file (echo something > file);  wait 
(dirty_expire_centisecs x 2), expect delayed_allocation_blocks to fall 
to zero but it remains at 2 over here.

Create another small file (echo something_else > file2); again wait 
(dirty_expire_centisecs x 2); check delayed_allocation_blocks which is 
now at 4.

Wait a weekend more:

    # date; cat /sys/fs/ext4/sdi/delayed_allocation_blocks
    Fri May 24 15:33:21 UTC 2013
    4

    # date; cat /sys/fs/ext4/sdi/delayed_allocation_blocks
    Mon May 27 07:14:30 UTC 2013
    4

Doing a manual sync flushes out all blocks, also adding a sync after 
mounting solves the not flushing behaviour (possible patch attached).

Has anyone noticed this before and is this expected behaviour? It looks 
like these blocks are not flushed out to disk thus remain in memory and 
will be lost upon power failure?

Please Cc on reply as we're not on the list.

Many thanks & best regards,
Bert.





[-- Attachment #2: sync_filesystem.patch --]
[-- Type: text/x-patch, Size: 217 bytes --]

--- fs/super.c.org	2013-05-22 09:45:55.061590168 +0200
+++ fs/super.c	2013-05-22 09:46:03.933589947 +0200
@@ -993,6 +993,7 @@
 		bdev->bd_super = s;
 	}
 
+	sync_filesystem(s); 
 	return dget(s->s_root);
 
 error_s:


       reply	other threads:[~2013-05-27  7:54 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <51A31052.4030507@amplidata.com>
2013-05-27  7:54 ` Bert De Jonghe [this message]
2013-05-27 20:35   ` delayed allocation blocks not flushed? Jan Kara

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=51A31125.1070100@amplidata.com \
    --to=bert.dejonghe@amplidata.com \
    --cc=bstougie@amplidata.com \
    --cc=linux-ext4@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).