2003-06-02 09:02:05

by Frank Cusack

[permalink] [raw]
Subject: 2.4 v. 2.5 nfs_dentry_iput()

Hi,

Could someone quickly explain the difference between the 2.4.20 and 2.5.69
nfs_dentry_iput()?

static void nfs_dentry_iput(struct dentry *dentry, struct inode *inode)
{
if (dentry->d_flags & DCACHE_NFSFS_RENAMED) {
lock_kernel();
inode->i_nlink--; /* only in 2.5 */
nfs_complete_unlink(dentry);
unlock_kernel();
}
if (is_bad_inode(inode)) /* not in 2.5 */
force_delete(inode); /* not in 2.5 */
/* When creating a negative dentry, we want to renew d_time */
nfs_renew_times(dentry); /* only in 2.5 */
iput(inode);
}

Thanks,
/fc


2003-06-02 19:38:47

by Trond Myklebust

[permalink] [raw]
Subject: Re: 2.4 v. 2.5 nfs_dentry_iput()

>>>>> " " == Frank Cusack <[email protected]> writes:

> Hi, Could someone quickly explain the difference between the
> 2.4.20 and 2.5.69 nfs_dentry_iput()?

> static void nfs_dentry_iput(struct dentry *dentry, struct inode
> *inode) {
> if (dentry->d_flags & DCACHE_NFSFS_RENAMED) {
> lock_kernel();
> inode-> i_nlink--; /* only in 2.5 */

Should eventually go into 2.4.x. Not critical...

> nfs_complete_unlink(dentry); unlock_kernel();
> } if (is_bad_inode(inode)) /* not in 2.5 */
> force_delete(inode); /* not in 2.5 */

Done in the VFS in 2.5

> /* When creating a negative dentry, we want to renew
> d_time */ nfs_renew_times(dentry); /* only in 2.5 */

Only needed for the new CTO code in 2.5.

> iput(inode);
> }

Cheers,
Trond