Bodo Eggert wrote: > change pipefs to use a unique inode number equal to the memory > address unless it would be truncated. > > Signed-Off-By: Bodo Eggert <7eggert@gmx.de> > --- > 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; > Also, that patch would break many 32-bit programs not compiled with large offsets when run in compatibility mode on a 64-bit kernel. If they were to do a stat on this inode, it would likely generate an EOVERFLOW error since the pointer address would probably not fit in a 32 bit field. That problem was the whole impetus for this set of patches. -- Jeff -
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Greg Kroah-Hartman | [PATCH 001/196] Chinese: Add the known_regression URI to the HOWTO |
| Benjamin Herrenschmidt | Re: [PATCH] Remove process freezer from suspend to RAM pathway |
| Bart Van Assche | Re: Integration of SCST in the mainstream Linux kernel |
git: | |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Arjan van de Ven | Re: [GIT]: Networking |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Natalie Protasevich | [BUG] New Kernel Bugs |
