Bit File ID (BFID) - Enstore-org/enstore GitHub Wiki
The BFID is the identifier used to uniquely specify files in the Enstore database. Note, however, that Enstore uses (filesize, crc) to determine file uniqueness. So, Enstore may consider two files with distinct BFIDs to be the same if their filesize and crc match.
The BFID has the following structure:
[<prefix{4}>|<timestamp{10}>|<counter{5}>]
For example, CDMS146237731400003:
- prefix=CDMS
- timestamp=1462377314 (Wed May 4 10:55:14 2016, that’s the creation time)
- counter=00003 (This was the 4th file written during the second specified by timestamp)
BFIDs are also stored in PNFS layer 1 by the encp client.
BFIDs are commonly used to look up files in the Enstore database as follows:
(this is fake data)
[enstore@enstoremach01 ~]# enstore info --file CDMS146113845800001
{'active_package_files_count': None,
'archive_mod_time': None,
'archive_status': None,
'bfid': 'CDMS146113845800001',
'cache_location': None,
'cache_mod_time': None,
'cache_status': None,
'complete_crc': 123456789L,
'deleted': 'no',
'drive': 'mvr01:/dev/rmt/11ee1n:00000000001',
'external_label': 'ABC123',
'file_family': 'my-fam-1',
'file_family_width': 1,
'gid': 0,
'library': 'TK-1F23',
'location_cookie': '0000_000000000_0000001',
'original_library': None,
'package_files_count': None,
'package_id': None,
'pnfs_name0': '/pnfs/my/file/directory/1234_cool_data.tar',
'pnfsid': '0000123ABC456DEF123ABC456DEF123ABC45',
'sanity_cookie': (12345L, 12288333L),
'send_ts': 12345690.512345,
'size': 1229999333L,
'storage_group': 'mine',
'tape_label': 'ABC123',
'uid': 0,
'update': '2022-04-19 15:38:14.808057',
'wrapper': 'cpio'}