[PATCH] pipefs unique inode numbers

From: Bodo Eggert
Date: Tue Jan 30 2007 - 17:42:04 EST


change pipefs to use a unique inode number equal to the memory
address unless it would be truncated.

Signed-Off-By: Bodo Eggert <7eggert@xxxxxx>
---
Tested on i386.

--- 2.6.19/fs/pipe.c.ori 2007-01-30 22:02:46.000000000 +0100
+++ 2.6.19/fs/pipe.c 2007-01-30 23:22:27.000000000 +0100
@@ -864,6 +864,10 @@ static struct inode * get_pipe_inode(voi
inode->i_uid = current->fsuid;
inode->i_gid = current->fsgid;
inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
+ /* The address of *inode is unique, so we'll get an unique inode number.
+ * Off cause this will not work for 32 bit inodes on 64 bit systems. */
+ if (sizeof(inode->i_ino) >= sizeof(struct inode*))
+ inode->i_ino = (unsigned int) inode;

return inode;

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