Re: [PATCH] VFS: Unlink should revoke all outstanding leases on file

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux