iput() Confusing Errors in 2.2.14 VFS

From: Jeff V. Merkey (jmerkey@timpanogas.com)
Date: Thu Mar 02 2000 - 13:02:18 EST


All thoughout the NCPFS, CODA, EXT2, etc.c file system code there are
error paths for various functions (i.e. create, unlink, etc.) that all
call iput(dir) on the directory inode being passed in. I noticed that
the Caldera NKFS (NetWare client) has some comments stating that iput()
will cause:

iput: inode 00:03/0 count wrapped

--and--

iput: Aieee. semaphore in use inode 00:03/14, count=0

--and--

iput: device 00:03 inode 14 still has aliases!

I then went on to create these errors by exercising the error paths in
the NWFS on 2.2.14 by calling iput(dir) to test each error case as is
being done is almost every FS posted in 2.2.14. I noticed that the
other FS's all call iput for their error paths (when they return
non-zero return codes for create, unlink, etc.). From what I've seen,
all of them will get these strange messages if iput is called ...
period. I also noticed that even though dir_lookup is defined as:

struct dentry *dir_lookup()

everyone is still returning the error codes it did in the 2.0 VFS, ecept
now you get compiler warnings because folks are returning -EPERM and
other codes as struct dentry * types (which seems strange, or rather
sloppy).

Is calling iput() just plain broken for error paths with 2.2.14 with the
new VFS?

Jeff

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Mar 07 2000 - 21:00:12 EST