← Back to context

Comment by rbanffy

8 years ago

I did out of irritation the nth time I wanted to delete a file that it insisted was open (which should not be a problem anyway).

>(which should not be a problem anyway).

But it is a problem. And also a difference in philosophy. NTFS gives the user and the process the guarantee that the filesystem will remain consistent. Also as a user, I have a guarantee that the file I have open, represents a file that actually exists on the file system, and not a deleted file.

  • This is not relevant to the on-disk filesystem, just how the OS handles files.

    The philosophy is also flawed: open a file, then create a hard link to it. You now can't delete that hard link (because the file is open), even though you just created it. This is not a problem on POSIX because it correctly distinguishes a file name (represented by a directory entry) from a file (represented by the inode).

    • Its not clear to me what "flaw" you're referring to. NTFS is reference counted and can easily accommodate other behaviors. By default, it prevents deletion, unless a process specifically permits deletion, in which case, the file can be deleted.

      This makes a whole lot of sense to me as a user, because I don't want to worry about open files being possibly deleted from disk.

      >open a file, then create a hard link to it. You now can't delete that hard link (because the file is open), even though you just created it. This is not a problem on POSIX because it correctly distinguishes a file name (represented by a directory entry) from a file (represented by the inode).

      This is not relevant to the topic.

      1 reply →

Nothing like not being able to delete a directory because Explorer is keeping the folder's thumbnail database open and in use even though you are no longer in the directory.

  • The case where you can actually know why is the best one. More often than not there is no obvious reason why the damn thing is open.