Re: libblkid: Idea to force given cached entry to be invalidated?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




-------- Original Message --------
Subject: Re: libblkid: Idea to force given cached entry to be invalidated?
From: Karel Zak <kzak@xxxxxxxxxx>
To: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx>
Date: 2014年04月17日 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 not
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 and
use 'btrfs dev del' on the newly created
block device file, libblkid will still be unable to detect the change since
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 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 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 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 device file is updated
 Birth: -
------

Thanks,
Qu
--
To unsubscribe from this list: send the line "unsubscribe util-linux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux