On Fri, 14 May 2010 17:35:27 +0800 Mi Jinlong <mijinlong@xxxxxxxxxxxxxx> wrote: > After client get one file's READ delegation through NFSv4, > server delete this file but don't reclaim the delegation. > > This patch add break_lease at may_delete, which can reclaim delegations. > > --- > fs/namei.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/fs/namei.c b/fs/namei.c > index 16df727..17bafc1 100644 > --- a/fs/namei.c > +++ b/fs/namei.c > @@ -1338,7 +1338,7 @@ static int may_delete(struct inode *dir,struct dentry *victim,int isdir) > return -ENOENT; > if (victim->d_flags & DCACHE_NFSFS_RENAMED) > return -EBUSY; > - return 0; > + return break_lease(victim->d_inode, FMODE_WRITE); > } > > /* Check whether we can create an object with dentry child in directory This doesn't look right to me. The fcntl(2) manpage basically says that leases should be broken if the file is opened for read or write, or is truncated. unlinks don't seem to fall into either category... -- Jeff Layton <jlayton@xxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html