18.14 iput (7344)

“closei”, as its last action calls “iput”. This routine is in fact called from many places, whenever a connection to a core “inode” is to be severed and the reference count decremented.

7350:

If the reference count is one at this point, the “inode” is to be released. While this is happening, it should be locked.

7352:

If the number of “links” to the file is zero (or less) the file is to be deallocated (see below);

7357:

“iupdat” (7374) updates the accessed and update times as recorded on the disk “inode”;

7358:

“prele” unlocks the “inode”. Why should it be called here as well as at line 7363?