Hello,
I have a file system filter that is maintaining a per volume prefix
table mapping prefixes to an unambiguous constant. For the constant, I am
trying to choose between using the file index (FileInternalInformation), or
the fcb. Currently I use the file index. I am worried, though, that the
file index might change while the system is running at some point (are there
any rules for file index lifetime’s for file systems?), such as during a
defrag. Is this a valid concern?
My other alternative is to use the FCB as the constant, reference it
through a file object until the table entry is no longer needed. This has
the obvious drawback of resource consumption, but the prefix table is
trimmed to a minimum during runtime.
Can anyone point out any pros or cons for using one constant or the
other?
Thanks,
Joel
You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com
There is no hard rule about file id lifetime.
NTFS builds its out of the MFT record number and a counter which
increments every time the record is re-used; this is going to be pretty
good, even to figure out if this is the same \foo\bar you looked at an
hour ago. Its even better than an inode number. FAT on the other hand,
and many other filesystems, just don’t have a good source which will
survive operations … like defrag. Which is a good example, since as
you can see in the IFS Kit FAT uses the logical byte offset of the
file’s directory entry on the media. This would change over a directory
defrag and will be rapidly reused after a file is deleted, obviously.
-----Original Message-----
From: Smith, Joel [mailto:xxxxx@ntpsoftware.com]
Sent: Wednesday, January 17, 2001 7:26 AM
To: File Systems Developers
Subject: [ntfsd] pros and cons of different prefix table constants
Hello,
I have a file system filter that is maintaining a per volume
prefix table mapping prefixes to an unambiguous constant. For the
constant, I am trying to choose between using the file index
(FileInternalInformation), or the fcb. Currently I use the file index.
I am worried, though, that the file index might change while the system
is running at some point (are there any rules for file index lifetime’s
for file systems?), such as during a defrag. Is this a valid concern?
My other alternative is to use the FCB as the constant,
reference it through a file object until the table entry is no longer
needed. This has the obvious drawback of resource consumption, but the
prefix table is trimmed to a minimum during runtime.
Can anyone point out any pros or cons for using one constant or
the other?
Thanks,
Joel
You are currently subscribed to ntfsd as: xxxxx@exchange.microsoft.com
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com
You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com