A file is an object in a filesystem consisting of two parts, an inode (also called metadata) and the actual contents of the file. A file can have multiple links meaning on the same filesystem the same file exists more than once with different names, that's why filenames aren't stored in the meta data but rather in directories that hold count of files in them.
The 25 year old bug
Recently this month in May 2008 an OpenBSD developer found a bug in the fast filesystem that was 25 years old. This means that it isn't exclusively in OpenBSD but all BSD derived OS's. The bug involved deleting files and directory listings. Pretend someone read a directory to a certain point and then deleted a file and rewound the directory listing to start new. If the file was high on the list it would have caused corruption in the directory listing.
More about this here .