From: Qu Wenruo <quwenruo@cn.fujitsu.com>
To: Karel Zak <kzak@redhat.com>
Cc: <util-linux@vger.kernel.org>
Subject: Re: libblkid: Idea to force given cached entry to be invalidated?
Date: Thu, 17 Apr 2014 16:29:06 +0800 [thread overview]
Message-ID: <534F90D2.1030807@cn.fujitsu.com> (raw)
In-Reply-To: <20140417082105.GH5786@x2.net.home>
-------- Original Message --------
Subject: Re: libblkid: Idea to force given cached entry to be invalidated?
From: Karel Zak <kzak@redhat.com>
To: Qu Wenruo <quwenruo@cn.fujitsu.com>
Date: 2014=E5=B9=B404=E6=9C=8817=E6=97=A5 16:21
> On Thu, Apr 17, 2014 at 09:17:03AM +0800, Qu Wenruo wrote:
>> But after some tests, it seems that the ctime/mtime based cache seems no=
t
>> perfect due to the fact that multiple
> Yes, the cache is not perfect -- it was originally introduced by Ted
> in time when things was less complicated :-) The current goal is to
> avoid the cache usage, so we have low-level API in libblkid to bypass
> the cache at all, and in userspace we use this API or udev db. I guess
> that many users have the cache empty, because it's unnecessary for
> fsck, mount, lsblk, findmnt, systemd etc.
>
>> device file can be created in different fs with same major/minor number.
>> especially each of them has individual ctime/mtime timestamp.
>>
>> So if someone (maybe insane) use mknod to create as block device file an=
d
>> use 'btrfs dev del' on the newly created
>> block device file, libblkid will still be unable to detect the change si=
nce
>> the ctime/mtime of block device file in /dev/
>> does not change.
> Not sure if I understand, it would be nice to have complete example.
>
> Karel
>
Sorry for my poor English.
Use /dev/sda6(major 8, minor 6) as an example.
------
# stat /dev/sda6
File: '/dev/sda6'
Size: 0 Blocks: 0 IO Block: 4096 block special=20
file
Device: 5h/5d Inode: 7289 Links: 1 Device type: 8,6
Access: (0660/brw-rw----) Uid: ( 0/ root) Gid: ( 6/ disk)
Access: 2014-04-17 12:30:08.981732698 +0800
Modify: 2014-04-17 12:30:08.981732698 +0800
Change: 2014-04-17 12:30:08.981732698 +0800
^^^^^^^^^^^^^^^^^
Birth: -
# mknod sda6 b 8 6
# mkfs.ext4 ./sda6 <<< Not /dev/sda6
......
# stat /dev/sda6
File: '/dev/sda6'
Size: 0 Blocks: 0 IO Block: 4096 block special=20
file
Device: 5h/5d Inode: 7289 Links: 1 Device type: 8,6
Access: (0660/brw-rw----) Uid: ( 0/ root) Gid: ( 6/ disk)
Access: 2014-04-17 12:30:08.981732698 +0800
Modify: 2014-04-17 12:30:08.981732698 +0800
Change: 2014-04-17 12:30:08.981732698 +0800
^^^^^^^^^^^^^^^^ unchanged
Birth: -
# stat ./sda6
File: './sda6'
Size: 0 Blocks: 0 IO Block: 4096 block special=20
file
Device: 805h/2053d Inode: 8889848 Links: 1 Device type: 8,6
Access: (0644/brw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2014-04-17 16:26:30.312439395 +0800
Modify: 2014-04-17 16:26:40.869106587 +0800
Change: 2014-04-17 16:26:40.869106587 +0800 <<< Only the created block=20
device file is updated
Birth: -
------
Thanks,
Qu
next prev parent reply other threads:[~2014-04-17 8:29 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-15 2:15 libblkid: Idea to force given cached entry to be invalidated? Qu Wenruo
2014-04-15 4:27 ` Theodore Ts'o
2014-04-15 4:52 ` Qu Wenruo
2014-04-15 11:21 ` Karel Zak
2014-04-16 0:53 ` Qu Wenruo
2014-04-16 9:03 ` Karel Zak
2014-04-17 1:17 ` Qu Wenruo
2014-04-17 8:21 ` Karel Zak
2014-04-17 8:29 ` Qu Wenruo [this message]
2014-04-18 11:02 ` Karel Zak
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=534F90D2.1030807@cn.fujitsu.com \
--to=quwenruo@cn.fujitsu.com \
--cc=kzak@redhat.com \
--cc=util-linux@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.