From: The Ghost <the-ghost@inbox.ru>
To: linux-ext4@vger.kernel.org
Subject: Re: Does ext4 write anything during reading with relatime?
Date: Tue, 08 Dec 2015 00:42:21 +0300 [thread overview]
Message-ID: <5665FD3D.1050603@inbox.ru> (raw)
In-Reply-To: <20151206211454.GB2614@thunk.org>
On 07/12/15 00:14, Theodore Ts'o wrote:
> On Sat, Dec 05, 2015 at 02:03:14PM +0300, The Ghost wrote:
>> When mounted read-only, naturally, reading from an ext4 filesystem does not
>> cause any write operations. But if I mount it read-write and try to read
>> from it, then apparently some write operations are issued, because my
>> "write-mostly" drive in a RAID1 array spins up. Now, I understand that
>> apparently the mount operation itself does write something, and I do mount
>> it with a "relatime" option, but I'm just reading stuff over and over again
>> - it shouldn't be caused by atime updating. Also, a bug with "write-mostly"
>> finally got fixed, and I'm using a fixed kernel (latest 3.16 from Debian
>> Jessie-backports).
>
> Relatime doesn't guarantee that there will be _no_ atime updates. You
> would need to mount with noatime if you want to guarantee that there
> will be zero atime updates.
>
> Relatime will update atime if the file is accessed and the atime is
> older than 24 hours. This guarantees that atime is up to date to
> approximately a day, so you can tell if a file has been accessed
> recently. This is useful for any system administrators.
>
> But it does mean there will still be quite a bit of atime updates ---
> especially since atime updates apply to directories as much as files.
> Hence, if you haven't mounted the file system in 24 hours, and then
> you run a find operation on the entire file system, the atime for
> every single directory on the file system will need to be updated.
>
> Cheers,
>
> - Ted
I know that "relatime" does not guarantee there will be *no* atime
updates. I know that it updates atime for both files and directories if
it's older than the last time they have been modified. I did not know
that it also updates atime if the last atime is older than 24 hours;
that would indeed render my idea useless. However, what I meant is that
I create a test array, make an ext4 filesystem on it, put some files
there (actually, just one file about few hundred megabytes large), read
them to update the atime, and then spin the disks down and *immediately*
try to read them again. I did not wait for 24 hours for this test! And
both drives spin up again, which means there was some write operation.
Because it does not spin up when mounted read-only, nor when I read from
the md device itself.
I just tried again. With relatime or noatime, the second drive spins up.
Always. With read-only, it never spins up. And that doesn't make sense...
--
The Ghost
next prev parent reply other threads:[~2015-12-07 21:47 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-05 11:03 Does ext4 write anything during reading with relatime? The Ghost
2015-12-06 21:14 ` Theodore Ts'o
2015-12-07 21:42 ` The Ghost [this message]
2015-12-07 23:19 ` Theodore Ts'o
2015-12-08 0:44 ` The Ghost
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=5665FD3D.1050603@inbox.ru \
--to=the-ghost@inbox.ru \
--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 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.