Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 89877e42827f16fa5f86b1df0c2860b1 > files > 1660

kernel-2.6.18-128.1.10.el5.src.rpm

From: Jeff Layton <jlayton@redhat.com>
Date: Tue, 1 Apr 2008 11:31:06 -0400
Subject: [nfs] remove error field from nfs_readdir_descriptor_t
Message-id: 1207063866-3467-1-git-send-email-jlayton@redhat.com
O-Subject: [RHEL5.3 PATCH] BZ#437479: NFS: remove error field from nfs_readdir_descriptor_t
Bugzilla: 437479
RH-Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
RH-Acked-by: Larry Woodman <lwoodman@redhat.com>
RH-Acked-by: Peter Staubach <staubach@redhat.com>

This is a minor cleanup patch intended for 5.3. A similar change was
made as part of a larger bugfix patch in 4.7.

The error field in nfs_readdir_descriptor_t is never used outside of
the function in which it is set. Remove the field and change the
place that does use to use an existing local variable.

Not much to test for functionality here, but I've had this in my test
kernels for some time and it doesn't seem to be causing any sort of
regression.

diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
index b0b3d8a..16a4323 100644
--- a/fs/nfs/dir.c
+++ b/fs/nfs/dir.c
@@ -152,7 +152,6 @@ typedef struct {
 	struct nfs_entry *entry;
 	decode_dirent_t	decode;
 	int		plus;
-	int		error;
 } nfs_readdir_descriptor_t;
 
 /* Now we cache directories properly, by stuffing the dirent
@@ -205,7 +204,6 @@ int nfs_readdir_filler(nfs_readdir_descriptor_t *desc, struct page *page)
 	return 0;
  error:
 	unlock_page(page);
-	desc->error = error;
 	return -EIO;
 }
 
@@ -470,13 +468,13 @@ int uncached_readdir(nfs_readdir_descriptor_t *desc, void *dirent,
 		status = -ENOMEM;
 		goto out;
 	}
-	desc->error = NFS_PROTO(inode)->readdir(file->f_dentry, cred, *desc->dir_cookie,
-						page,
+	status = NFS_PROTO(inode)->readdir(file->f_dentry, cred,
+						*desc->dir_cookie, page,
 						NFS_SERVER(inode)->dtsize,
 						desc->plus);
 	desc->page = page;
 	desc->ptr = kmap(page);		/* matching kunmap in nfs_do_filldir */
-	if (desc->error >= 0) {
+	if (status >= 0) {
 		if ((status = dir_decode(desc)) == 0)
 			desc->entry->prev_cookie = *desc->dir_cookie;
 	} else