linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Weird otime values for chromium profile directories (2015)
@ 2019-08-04 21:23 Hans van Kranenburg
  0 siblings, 0 replies; only message in thread
From: Hans van Kranenburg @ 2019-08-04 21:23 UTC (permalink / raw)
  To: linux-btrfs

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

Hi,

When climbing some metadata trees for fun, I ran into a set of
suspicious otime values on inode objects.

I found that a bunch of inodes have values for the seconds.nseconds
fields that are either 422212465065984.0 or even much higher values like
16811597680319950858.1387412042.

So, I wrote a snippet to search for more suspicious otime values in the
file trees that I have here. The code is attached, together with the
output of it. It shows that all of the affected ones are directories
under .config/chromium/Default.

All other otime fields on my filesystem here have either value 0.0, if
they were created before Dec 2014 or have a normal value, and those
start around 2015-08-01. In between, these weird values occur, but
*only* for directories, and apparently only in the chromium browser profile.

Has anyone else seen this? Did the linux kernel version I used between
Dec 2014 and Aug 2015 (I have no idea which one) do this? Or did the
chromium program cause this?

For fixing it, I can just make a copy of the chromium profile and throw
away the old one... But I'm curious if anyone remembers or has a pointer
to what happened here, in the past, that caused it.

Hans

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: suspicious_otime.py --]
[-- Type: text/x-python; name="suspicious_otime.py", Size: 1181 bytes --]

#!/usr/bin/python3

import btrfs
import sys

if len(sys.argv) < 2:
    print("Usage: {} <mountpoint>".format(sys.argv[0]))
    sys.exit(1)


def suspicious_inodes(fs):
    min_key = btrfs.ctree.Key(btrfs.ctree.FIRST_FREE_OBJECTID, 0, 0)
    max_key = btrfs.ctree.Key(btrfs.ctree.LAST_FREE_OBJECTID, -1, -1)
    for root in fs.subvolumes():
        tree = root.objectid
        for header, data in btrfs.ioctl.search_v2(fs.fd, tree, min_key, max_key):
            if header.type == btrfs.ctree.INODE_ITEM_KEY:
                inode = btrfs.ctree.InodeItem(header, data)
                if inode.otime.sec >= 422212465065984:
                    _, path_bytes = btrfs.ioctl.ino_lookup(fs.fd, tree, inode.objectid)
                    yield {
                        'tree': tree,
                        'path': path_bytes.decode(),
                        'atime': inode.atime.iso8601,
                        'ctime': inode.ctime.iso8601,
                        'otime sec.nsec': "{}.{}".format(inode.otime.sec, inode.otime.nsec),
                    }


with btrfs.FileSystem(sys.argv[1]) as fs:
    btrfs.utils.pretty_print(suspicious_inodes(fs))

[-- Attachment #3: otimes --]
[-- Type: text/plain, Size: 6438 bytes --]

-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/
  atime:
    2014-12-12T23:16:25.259717
  ctime:
    2019-08-04T12:15:08.302537
  otime sec.nsec:
    422212465065984.0
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/Application Cache/
  atime:
    2014-12-12T23:16:25.259717
  ctime:
    2014-12-12T23:16:25.259717
  otime sec.nsec:
    422212465065984.0
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/Extension Rules/
  atime:
    2014-12-12T23:16:25.331717
  ctime:
    2019-07-30T22:22:32.433853
  otime sec.nsec:
    422212465065984.0
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/Extension State/
  atime:
    2014-12-12T23:16:25.335717
  ctime:
    2019-07-22T07:58:31.769730
  otime sec.nsec:
    422212465065984.0
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/Extensions/
  atime:
    2014-12-12T23:16:25.335717
  ctime:
    2019-07-30T22:22:32.397854
  otime sec.nsec:
    422212465065984.0
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/File System/
  atime:
    2014-12-12T23:16:25.735717
  ctime:
    2019-04-09T21:50:23.271589
  otime sec.nsec:
    422212465065984.0
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/GPUCache/
  atime:
    2014-12-12T23:16:25.811717
  ctime:
    2019-07-17T10:10:33.169107
  otime sec.nsec:
    422212465065984.0
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/IndexedDB/
  atime:
    2014-12-12T23:16:21.591717
  ctime:
    2019-06-10T20:15:48.773131
  otime sec.nsec:
    422212465065984.0
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/Local Extension Settings/
  atime:
    2014-12-12T23:16:25.811717
  ctime:
    2016-04-06T18:12:56.174449
  otime sec.nsec:
    422212465065984.0
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/Local Storage/
  atime:
    2014-12-12T23:16:25.823717
  ctime:
    2019-04-19T21:19:32.928957
  otime sec.nsec:
    422212465065984.0
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/Managed Extension Settings/
  atime:
    2014-12-12T23:16:21.591717
  ctime:
    2016-08-20T20:43:38.765711
  otime sec.nsec:
    422212465065984.0
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/Session Storage/
  atime:
    2014-12-12T23:16:25.823717
  ctime:
    2019-07-22T07:58:31.577439
  otime sec.nsec:
    422212465065984.0
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/User StyleSheets/
  atime:
    2014-12-12T23:16:25.823717
  ctime:
    2014-12-12T23:16:25.823717
  otime sec.nsec:
    422212465065984.0
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/databases/
  atime:
    2014-12-12T23:16:25.823717
  ctime:
    2017-11-15T00:07:26.721556
  otime sec.nsec:
    422212465065984.0
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/Cookies/
  atime:
    2014-12-12T23:16:25.223717
  ctime:
    2019-07-31T09:35:54.453532
  otime sec.nsec:
    16811597680319950858.1387412042
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/Cookies-journal/
  atime:
    2014-12-12T23:16:25.223717
  ctime:
    2019-07-31T09:35:54.461532
  otime sec.nsec:
    14293417657916546218.2113264152
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/Favicons/
  atime:
    2014-12-12T23:16:25.231717
  ctime:
    2019-08-01T17:03:32.208157
  otime sec.nsec:
    422212465065984.0
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/Favicons-journal/
  atime:
    2014-12-12T23:16:25.231717
  ctime:
    2019-08-01T17:03:32.216157
  otime sec.nsec:
    422212465065984.0
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/QuotaManager/
  atime:
    2014-12-12T23:16:25.247717
  ctime:
    2019-07-29T20:17:55.884836
  otime sec.nsec:
    422212465065984.0
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/QuotaManager-journal/
  atime:
    2014-12-12T23:16:25.247717
  ctime:
    2019-07-29T20:17:55.896836
  otime sec.nsec:
    422212465065984.0
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/GCM Store/
  atime:
    2015-05-31T16:21:17.592569
  ctime:
    2018-06-27T13:25:49.313887
  otime sec.nsec:
    422212465065984.0
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/Storage/
  atime:
    2015-07-11T15:41:51.435959
  ctime:
    2015-07-11T15:41:51.435959
  otime sec.nsec:
    422212465065984.0
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/Service Worker/
  atime:
    2015-09-04T19:25:58.128963
  ctime:
    2015-10-01T20:43:15.497168
  otime sec.nsec:
    422212465065984.0
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/data_reduction_proxy_leveldb/
  atime:
    2015-10-23T19:51:14.445886
  ctime:
    2019-07-22T07:58:30.117762
  otime sec.nsec:
    422212465065984.0
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/Sync Extension Settings/
  atime:
    2016-04-06T18:12:56.158449
  ctime:
    2016-04-07T09:28:20.270235
  otime sec.nsec:
    422212465065984.0
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/.org.chromium.Chromium.BJOv50/
  atime:
    2016-04-25T05:23:52.631370
  ctime:
    2016-04-25T05:23:52.631370
  otime sec.nsec:
    14293417657916546218.2113264152
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/Platform Notifications/
  atime:
    2016-10-01T14:49:24.813994
  ctime:
    2016-10-01T14:49:24.829993
  otime sec.nsec:
    422212465065984.0
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/blob_storage/
  atime:
    2017-04-09T19:02:00.210435
  ctime:
    2019-07-22T07:58:34.293680
  otime sec.nsec:
    422212465065984.0
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/Sync Data/
  atime:
    2017-12-08T17:02:45.328207
  ctime:
    2017-12-08T17:02:45.328207
  otime sec.nsec:
    422212465065984.0
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/Feature Engagement Tracker/
  atime:
    2017-12-08T17:20:54.490693
  ctime:
    2017-12-08T17:20:54.502692
  otime sec.nsec:
    422212465065984.0
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/Download Service/
  atime:
    2018-01-17T22:16:22.800264
  ctime:
    2018-01-17T22:16:22.808263
  otime sec.nsec:
    422212465065984.0
-
  tree:
    260
  path:
    knorrie/.config/chromium/Default/VideoDecodeStats/
  atime:
    2018-02-16T20:53:42.543744
  ctime:
    2019-06-10T20:23:06.708845
  otime sec.nsec:
    422212465065984.0

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2019-08-04 21:24 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-04 21:23 Weird otime values for chromium profile directories (2015) Hans van Kranenburg

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).