Re: [PATCH 5/7] NFS: Use NFSDBG_FILE for all fops

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

 



On Tue, 2008-05-27 at 16:29 -0400, Chuck Lever wrote:
> Clean up: some fops use NFSDBG_FILE, some use NFSDBG_VFS.  Let's use
> NFSDBG_FILE for all fops, and consistently report file names instead
> of inode numbers.
> 
> Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
> ---
> 
>  fs/nfs/dir.c    |   10 +++++----
>  fs/nfs/direct.c |    4 ++--
>  fs/nfs/file.c   |   60 +++++++++++++++++++++++++++++++++++--------------------
>  3 files changed, 45 insertions(+), 29 deletions(-)
> 
> 
> diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
> index 40b559a..425b984 100644
> --- a/fs/nfs/dir.c
> +++ b/fs/nfs/dir.c
> @@ -134,7 +134,7 @@ nfs_opendir(struct inode *inode, struct file *filp)
>  	struct dentry *dentry = filp->f_path.dentry;
>  	int res;
>  
> -	dfprintk(VFS, "NFS: open dir(%s/%s)\n",
> +	dfprintk(FILE, "NFS: open dir(%s/%s)\n",
>  			dentry->d_parent->d_name.name,
>  			dentry->d_name.name);
>  
> @@ -532,7 +532,7 @@ static int nfs_readdir(struct file *filp, void *dirent, filldir_t filldir)
>  	struct nfs_fattr fattr;
>  	long		res;
>  
> -	dfprintk(VFS, "NFS: readdir(%s/%s) starting at cookie %Lu\n",
> +	dfprintk(FILE, "NFS: readdir(%s/%s) starting at cookie %llu\n",
>  			dentry->d_parent->d_name.name, dentry->d_name.name,
>  			(long long)filp->f_pos);
>  	nfs_inc_stats(inode, NFSIOS_VFSGETDENTS);
> @@ -599,7 +599,7 @@ out:
>  	unlock_kernel();
>  	if (res > 0)
>  		res = 0;
> -	dfprintk(VFS, "NFS: readdir(%s/%s) returns %ld\n",
> +	dfprintk(FILE, "NFS: readdir(%s/%s) returns %ld\n",
>  			dentry->d_parent->d_name.name, dentry->d_name.name,
>  			res);
>  	return res;
> @@ -610,7 +610,7 @@ static loff_t nfs_llseek_dir(struct file *filp, loff_t offset, int origin)
>  	struct dentry *dentry = filp->f_path.dentry;
>  	struct inode *inode = filp->f_path.dentry->d_inode;
>  
> -	dfprintk(VFS, "NFS: llseek dir(%s/%s, %lld, %d)\n",
> +	dfprintk(FILE, "NFS: llseek dir(%s/%s, %lld, %d)\n",
>  			dentry->d_parent->d_name.name,
>  			dentry->d_name.name,
>  			offset, origin);
> @@ -641,7 +641,7 @@ out:
>   */
>  static int nfs_fsync_dir(struct file *filp, struct dentry *dentry, int datasync)
>  {
> -	dfprintk(VFS, "NFS: fsync dir(%s/%s) datasync %d\n",
> +	dfprintk(FILE, "NFS: fsync dir(%s/%s) datasync %d\n",
>  			dentry->d_parent->d_name.name, dentry->d_name.name,
>  			datasync);
>  
> diff --git a/fs/nfs/direct.c b/fs/nfs/direct.c
> index 4757a2b..08f6b04 100644
> --- a/fs/nfs/direct.c
> +++ b/fs/nfs/direct.c
> @@ -890,7 +890,7 @@ ssize_t nfs_file_direct_read(struct kiocb *iocb, const struct iovec *iov,
>  	count = iov_length(iov, nr_segs);
>  	nfs_add_stats(mapping->host, NFSIOS_DIRECTREADBYTES, count);
>  
> -	dprintk("nfs: direct read(%s/%s, %zd@%Ld)\n",
> +	dfprintk(FILE, "NFS: direct read(%s/%s, %zd@%Ld)\n",
>  		file->f_path.dentry->d_parent->d_name.name,
>  		file->f_path.dentry->d_name.name,
>  		count, (long long) pos);
> @@ -947,7 +947,7 @@ ssize_t nfs_file_direct_write(struct kiocb *iocb, const struct iovec *iov,
>  	count = iov_length(iov, nr_segs);
>  	nfs_add_stats(mapping->host, NFSIOS_DIRECTWRITTENBYTES, count);
>  
> -	dfprintk(VFS, "nfs: direct write(%s/%s, %zd@%Ld)\n",
> +	dfprintk(FILE, "NFS: direct write(%s/%s, %zd@%Ld)\n",
>  		file->f_path.dentry->d_parent->d_name.name,
>  		file->f_path.dentry->d_name.name,
>  		count, (long long) pos);
> diff --git a/fs/nfs/file.c b/fs/nfs/file.c
> index c872ce4..bba6181 100644
> --- a/fs/nfs/file.c
> +++ b/fs/nfs/file.c
> @@ -120,7 +120,7 @@ nfs_file_open(struct inode *inode, struct file *filp)
>  	struct dentry *dentry = filp->f_path.dentry;
>  	int res;
>  
> -	dfprintk(VFS, "NFS: open file(%s/%s)\n",
> +	dprintk("NFS: open file(%s/%s)\n",
>  			dentry->d_parent->d_name.name,
>  			dentry->d_name.name);
>  
> @@ -138,6 +138,12 @@ nfs_file_open(struct inode *inode, struct file *filp)
>  static int
>  nfs_file_release(struct inode *inode, struct file *filp)
>  {
> +	struct dentry *dentry = filp->f_path.dentry;
> +
> +	dprintk("NFS: release(%s/%s)\n",
> +			dentry->d_parent->d_name.name,
> +			dentry->d_name.name);
> +

This will result in 'unused variable' warnings for 'dentry' if you
compile with #undef RPC_DEBUG.

>  	/* Ensure that dirty pages are flushed out with the right creds */
>  	if (filp->f_mode & FMODE_WRITE)
>  		nfs_wb_all(filp->f_path.dentry->d_inode);
> @@ -177,7 +183,7 @@ static loff_t nfs_file_llseek(struct file *filp, loff_t offset, int origin)
>  {
>  	struct dentry *dentry = filp->f_path.dentry;
>  
> -	dfprintk(VFS, "NFS: llseek file(%s/%s, %lld, %d)\n",
> +	dprintk("NFS: llseek file(%s/%s, %lld, %d)\n",
>  			dentry->d_parent->d_name.name,
>  			dentry->d_name.name,
>  			offset, origin);
> @@ -219,16 +225,18 @@ static int nfs_do_fsync(struct nfs_open_context *ctx, struct inode *inode)
>  
>  /*
>   * Flush all dirty pages, and check for write errors.
> - *
>   */
>  static int
>  nfs_file_flush(struct file *file, fl_owner_t id)
>  {
>  	struct nfs_open_context *ctx = nfs_file_open_context(file);
> -	struct inode	*inode = file->f_path.dentry->d_inode;
> +	struct dentry	*dentry = file->f_path.dentry;
> +	struct inode	*inode = dentry->d_inode;
>  	int		status;
>  
> -	dfprintk(VFS, "nfs: flush(%s/%ld)\n", inode->i_sb->s_id, inode->i_ino);
> +	dprintk("NFS: flush(%s/%s)\n",
> +			dentry->d_parent->d_name.name,
> +			dentry->d_name.name);
>  
>  	if ((file->f_mode & FMODE_WRITE) == 0)
>  		return 0;
> @@ -253,7 +261,7 @@ nfs_file_read(struct kiocb *iocb, const struct iovec *iov,
>  	if (iocb->ki_filp->f_flags & O_DIRECT)
>  		return nfs_file_direct_read(iocb, iov, nr_segs, pos);
>  
> -	dfprintk(VFS, "nfs: read(%s/%s, %lu@%lu)\n",
> +	dprintk("NFS: read(%s/%s, %lu@%lu)\n",
>  		dentry->d_parent->d_name.name, dentry->d_name.name,
>  		(unsigned long) count, (unsigned long) pos);
>  
> @@ -273,7 +281,7 @@ nfs_file_splice_read(struct file *filp, loff_t *ppos,
>  	struct inode *inode = dentry->d_inode;
>  	ssize_t res;
>  
> -	dfprintk(VFS, "nfs: splice_read(%s/%s, %lu@%Lu)\n",
> +	dprintk("NFS: splice_read(%s/%s, %lu@%Lu)\n",
>  		dentry->d_parent->d_name.name, dentry->d_name.name,
>  		(unsigned long) count, (unsigned long long) *ppos);
>  
> @@ -290,7 +298,7 @@ nfs_file_mmap(struct file * file, struct vm_area_struct * vma)
>  	struct inode *inode = dentry->d_inode;
>  	int	status;
>  
> -	dfprintk(VFS, "nfs: mmap(%s/%s)\n",
> +	dprintk("NFS: mmap(%s/%s)\n",
>  		dentry->d_parent->d_name.name, dentry->d_name.name);
>  
>  	status = nfs_revalidate_mapping(inode, file->f_mapping);
> @@ -313,7 +321,7 @@ nfs_file_fsync(struct file *file, struct dentry *dentry, int datasync)
>  	struct nfs_open_context *ctx = nfs_file_open_context(file);
>  	struct inode *inode = dentry->d_inode;
>  
> -	dfprintk(VFS, "NFS: fsync file(%s/%s) datasync %d\n",
> +	dprintk("NFS: fsync file(%s/%s) datasync %d\n",
>  			dentry->d_parent->d_name.name, dentry->d_name.name,
>  			datasync);
>  
> @@ -487,9 +495,9 @@ static ssize_t nfs_file_write(struct kiocb *iocb, const struct iovec *iov,
>  	if (iocb->ki_filp->f_flags & O_DIRECT)
>  		return nfs_file_direct_write(iocb, iov, nr_segs, pos);
>  
> -	dfprintk(VFS, "nfs: write(%s/%s(%ld), %lu@%Ld)\n",
> +	dprintk("NFS: write(%s/%s, %lu@%Ld)\n",
>  		dentry->d_parent->d_name.name, dentry->d_name.name,
> -		inode->i_ino, (unsigned long) count, (long long) pos);
> +		(unsigned long) count, (long long) pos);
>  
>  	result = -EBUSY;
>  	if (IS_SWAPFILE(inode))
> @@ -633,12 +641,14 @@ out:
>   */
>  static int nfs_lock(struct file *filp, int cmd, struct file_lock *fl)
>  {
> -	struct inode * inode = filp->f_mapping->host;
> +	struct dentry *dentry = filp->f_path.dentry;
> +	struct inode *inode = filp->f_mapping->host;
>  
> -	dprintk("NFS: nfs_lock(f=%s/%ld, t=%x, fl=%x, r=%Ld:%Ld)\n",
> -			inode->i_sb->s_id, inode->i_ino,
> +	dprintk("NFS: lock(%s/%s, t=%x, fl=%x, r=%lld:%lld)\n",
> +			dentry->d_parent->d_name.name, dentry->d_name.name,
>  			fl->fl_type, fl->fl_flags,
>  			(long long)fl->fl_start, (long long)fl->fl_end);
> +
>  	nfs_inc_stats(inode, NFSIOS_VFSLOCK);
>  
>  	/* No mandatory locks over NFS */
> @@ -657,9 +667,10 @@ static int nfs_lock(struct file *filp, int cmd, struct file_lock *fl)
>   */
>  static int nfs_flock(struct file *filp, int cmd, struct file_lock *fl)
>  {
> -	dprintk("NFS: nfs_flock(f=%s/%ld, t=%x, fl=%x)\n",
> -			filp->f_path.dentry->d_inode->i_sb->s_id,
> -			filp->f_path.dentry->d_inode->i_ino,
> +	struct dentry *dentry = filp->f_path.dentry;
> +
> +	dprintk("NFS: flock(%s/%s, t=%x, fl=%x)\n",
> +			dentry->d_parent->d_name.name, dentry->d_name.name,
>  			fl->fl_type, fl->fl_flags);

This will result in 'unused variable' warnings for 'dentry' if you
compile with #undef RPC_DEBUG.

>  
>  	/*
> @@ -682,12 +693,17 @@ static int nfs_flock(struct file *filp, int cmd, struct file_lock *fl)
>  	return do_setlk(filp, cmd, fl);
>  }
>  
> +/*
> + * There is no protocol support for leases, so we have no way to implement
> + * them correctly in the face of opens by other clients.
> + */
>  static int nfs_setlease(struct file *file, long arg, struct file_lock **fl)
>  {
> -	/*
> -	 * There is no protocol support for leases, so we have no way
> -	 * to implement them correctly in the face of opens by other
> -	 * clients.
> -	 */
> +	struct dentry *dentry = file->f_path.dentry;
> +
> +	dprintk("NFS: setlease(%s/%s, arg=%ld)\n",
> +			dentry->d_parent->d_name.name,
> +			dentry->d_name.name, arg);
> +

This will result in 'unused variable' warnings for 'dentry' if you
compile with #undef RPC_DEBUG.

>  	return -EINVAL;
>  }
> 
-- 
Trond Myklebust
Linux NFS client maintainer

NetApp
Trond.Myklebust@xxxxxxxxxx
www.netapp.com
--
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