In message <[EMAIL PROTECTED]>, Yiannis Pericleous writes: > commit dbc3a85fd643fdfc5d61b81e804bd637b4bb6fd0 > Author: Yiannis Pericleous <[EMAIL PROTECTED]> > Date: Sat Apr 21 11:21:58 2007 -0400 > > Unionfs: Added several BUG_ONs to assert dentry validity > > This should help catch races between the VFS and the branch-management > code. > > Signed-off-by: Erez Zadok <[EMAIL PROTECTED]> > Signed-off-by: Josef 'Jeff' Sipek <[EMAIL PROTECTED]> > > Conflicts: > > fs/unionfs/union.h > > diff --git a/fs/unionfs/inode.c b/fs/unionfs/inode.c > index > e964c2da87eaa3314ed59139b058eafb0aa4fa6f..a3a11283c1ec36c612dfdbe14bb5c6627af91a2f > 100644 > --- a/fs/unionfs/inode.c > +++ b/fs/unionfs/inode.c > @@ -152,6 +152,9 @@ static int unionfs_link(struct dentry *o > BUG_ON(!is_valid_dentry(new_dentry)); > BUG_ON(!is_valid_dentry(old_dentry)); > > + BUG_ON(!is_valid_dentry(new_dentry)); > + BUG_ON(!is_valid_dentry(old_dentry)); > + > double_lock_dentry(new_dentry, old_dentry);
Why double added BUG_ON's? > hidden_new_dentry = unionfs_lower_dentry(new_dentry); > @@ -270,6 +273,8 @@ static int unionfs_symlink(struct inode > > BUG_ON(!is_valid_dentry(dentry)); > > + BUG_ON(!is_valid_dentry(dentry)); > + > unionfs_lock_dentry(dentry); This addition of BUG_ON is redundant, since you seem to have already have that BUG_ON right above it. In fact this entire patch seems to have been incorrectly added twice. > /* We create in the leftmost branch. */ > @@ -347,6 +352,8 @@ static int unionfs_mkdir(struct inode *p > > BUG_ON(!is_valid_dentry(dentry)); > > + BUG_ON(!is_valid_dentry(dentry)); > + > unionfs_lock_dentry(dentry); > bindex = 0; /* always create at branch 0 */ > bend = dbend(dentry); Ditto. > @@ -438,6 +445,8 @@ static int unionfs_mknod(struct inode *d > > BUG_ON(!is_valid_dentry(dentry)); > > + BUG_ON(!is_valid_dentry(dentry)); > + > unionfs_lock_dentry(dentry); > bstart = 0; Ditto. > diff --git a/fs/unionfs/rename.c b/fs/unionfs/rename.c > index > 730e96fe9f39995519d0585467d763021fc69a6a..4facacc68babb0c9fea7513f0a05676bae1bfc3a > 100644 > --- a/fs/unionfs/rename.c > +++ b/fs/unionfs/rename.c > @@ -319,6 +319,9 @@ int unionfs_rename(struct inode *old_dir > BUG_ON(!is_valid_dentry(old_dentry)); > BUG_ON(!is_valid_dentry(new_dentry)); > > + BUG_ON(!is_valid_dentry(old_dentry)); > + BUG_ON(!is_valid_dentry(new_dentry)); > + > double_lock_dentry(old_dentry, new_dentry); Ditto. > if (!S_ISDIR(old_dentry->d_inode->i_mode)) > _______________________________________________ > unionfs-cvs mailing list: http://unionfs.filesystems.org/ > [email protected] > http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs Erez. _______________________________________________ unionfs-cvs mailing list: http://unionfs.filesystems.org/ [email protected] http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs
