diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2008-12-04 10:06:33 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2009-01-05 11:54:28 -0500 |
commit | acfa4380efe77e290d3a96b11cd4c9f24f4fbb18 (patch) | |
tree | d656232c7ef39c83681c2de4c8e28ba439242f66 /fs/nfsd/vfs.c | |
parent | 9742df331deb3fce95b321f38d4ea0c4e75edb63 (diff) |
inode->i_op is never NULL
We used to have rather schizophrenic set of checks for NULL ->i_op even
though it had been eliminated years ago. You'd need to go out of your
way to set it to NULL explicitly _and_ a bunch of code would die on
such inodes anyway. After killing two remaining places that still
did that bogosity, all that crap can go away.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/nfsd/vfs.c')
-rw-r--r-- | fs/nfsd/vfs.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c index d1c5f787b365..5245a3965004 100644 --- a/fs/nfsd/vfs.c +++ b/fs/nfsd/vfs.c | |||
@@ -1211,7 +1211,7 @@ nfsd_create(struct svc_rqst *rqstp, struct svc_fh *fhp, | |||
1211 | dirp = dentry->d_inode; | 1211 | dirp = dentry->d_inode; |
1212 | 1212 | ||
1213 | err = nfserr_notdir; | 1213 | err = nfserr_notdir; |
1214 | if(!dirp->i_op || !dirp->i_op->lookup) | 1214 | if (!dirp->i_op->lookup) |
1215 | goto out; | 1215 | goto out; |
1216 | /* | 1216 | /* |
1217 | * Check whether the response file handle has been verified yet. | 1217 | * Check whether the response file handle has been verified yet. |
@@ -1347,7 +1347,7 @@ nfsd_create_v3(struct svc_rqst *rqstp, struct svc_fh *fhp, | |||
1347 | /* Get all the sanity checks out of the way before | 1347 | /* Get all the sanity checks out of the way before |
1348 | * we lock the parent. */ | 1348 | * we lock the parent. */ |
1349 | err = nfserr_notdir; | 1349 | err = nfserr_notdir; |
1350 | if(!dirp->i_op || !dirp->i_op->lookup) | 1350 | if (!dirp->i_op->lookup) |
1351 | goto out; | 1351 | goto out; |
1352 | fh_lock_nested(fhp, I_MUTEX_PARENT); | 1352 | fh_lock_nested(fhp, I_MUTEX_PARENT); |
1353 | 1353 | ||
@@ -1482,7 +1482,7 @@ nfsd_readlink(struct svc_rqst *rqstp, struct svc_fh *fhp, char *buf, int *lenp) | |||
1482 | inode = dentry->d_inode; | 1482 | inode = dentry->d_inode; |
1483 | 1483 | ||
1484 | err = nfserr_inval; | 1484 | err = nfserr_inval; |
1485 | if (!inode->i_op || !inode->i_op->readlink) | 1485 | if (!inode->i_op->readlink) |
1486 | goto out; | 1486 | goto out; |
1487 | 1487 | ||
1488 | touch_atime(fhp->fh_export->ex_path.mnt, dentry); | 1488 | touch_atime(fhp->fh_export->ex_path.mnt, dentry); |
@@ -2162,7 +2162,7 @@ nfsd_set_posix_acl(struct svc_fh *fhp, int type, struct posix_acl *acl) | |||
2162 | size_t size; | 2162 | size_t size; |
2163 | int error; | 2163 | int error; |
2164 | 2164 | ||
2165 | if (!IS_POSIXACL(inode) || !inode->i_op || | 2165 | if (!IS_POSIXACL(inode) || |
2166 | !inode->i_op->setxattr || !inode->i_op->removexattr) | 2166 | !inode->i_op->setxattr || !inode->i_op->removexattr) |
2167 | return -EOPNOTSUPP; | 2167 | return -EOPNOTSUPP; |
2168 | switch(type) { | 2168 | switch(type) { |