diff options
Diffstat (limited to 'fs/9p/vfs_inode.c')
| -rw-r--r-- | fs/9p/vfs_inode.c | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c index 2cb87ba4b1c1..7a7ec2d1d2f4 100644 --- a/fs/9p/vfs_inode.c +++ b/fs/9p/vfs_inode.c | |||
| @@ -204,7 +204,6 @@ struct inode *v9fs_get_inode(struct super_block *sb, int mode) | |||
| 204 | inode->i_mode = mode; | 204 | inode->i_mode = mode; |
| 205 | inode->i_uid = current->fsuid; | 205 | inode->i_uid = current->fsuid; |
| 206 | inode->i_gid = current->fsgid; | 206 | inode->i_gid = current->fsgid; |
| 207 | inode->i_blksize = sb->s_blocksize; | ||
| 208 | inode->i_blocks = 0; | 207 | inode->i_blocks = 0; |
| 209 | inode->i_rdev = 0; | 208 | inode->i_rdev = 0; |
| 210 | inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; | 209 | inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; |
| @@ -300,7 +299,7 @@ clunk_fid: | |||
| 300 | fid = V9FS_NOFID; | 299 | fid = V9FS_NOFID; |
| 301 | 300 | ||
| 302 | put_fid: | 301 | put_fid: |
| 303 | if (fid >= 0) | 302 | if (fid != V9FS_NOFID) |
| 304 | v9fs_put_idpool(fid, &v9ses->fidpool); | 303 | v9fs_put_idpool(fid, &v9ses->fidpool); |
| 305 | 304 | ||
| 306 | kfree(fcall); | 305 | kfree(fcall); |
| @@ -434,11 +433,11 @@ static int v9fs_remove(struct inode *dir, struct dentry *file, int rmdir) | |||
| 434 | result = v9fs_t_remove(v9ses, fid, &fcall); | 433 | result = v9fs_t_remove(v9ses, fid, &fcall); |
| 435 | if (result < 0) { | 434 | if (result < 0) { |
| 436 | PRINT_FCALL_ERROR("remove fails", fcall); | 435 | PRINT_FCALL_ERROR("remove fails", fcall); |
| 437 | } else { | ||
| 438 | v9fs_put_idpool(fid, &v9ses->fidpool); | ||
| 439 | v9fs_fid_destroy(v9fid); | ||
| 440 | } | 436 | } |
| 441 | 437 | ||
| 438 | v9fs_put_idpool(fid, &v9ses->fidpool); | ||
| 439 | v9fs_fid_destroy(v9fid); | ||
| 440 | |||
| 442 | kfree(fcall); | 441 | kfree(fcall); |
| 443 | return result; | 442 | return result; |
| 444 | } | 443 | } |
| @@ -530,9 +529,6 @@ error: | |||
| 530 | if (vfid) | 529 | if (vfid) |
| 531 | v9fs_fid_destroy(vfid); | 530 | v9fs_fid_destroy(vfid); |
| 532 | 531 | ||
| 533 | if (inode) | ||
| 534 | iput(inode); | ||
| 535 | |||
| 536 | return err; | 532 | return err; |
| 537 | } | 533 | } |
| 538 | 534 | ||
| @@ -953,9 +949,8 @@ v9fs_stat2inode(struct v9fs_stat *stat, struct inode *inode, | |||
| 953 | 949 | ||
| 954 | inode->i_size = stat->length; | 950 | inode->i_size = stat->length; |
| 955 | 951 | ||
| 956 | inode->i_blksize = sb->s_blocksize; | ||
| 957 | inode->i_blocks = | 952 | inode->i_blocks = |
| 958 | (inode->i_size + inode->i_blksize - 1) >> sb->s_blocksize_bits; | 953 | (inode->i_size + sb->s_blocksize - 1) >> sb->s_blocksize_bits; |
| 959 | } | 954 | } |
| 960 | 955 | ||
| 961 | /** | 956 | /** |
| @@ -1054,6 +1049,9 @@ static int v9fs_vfs_readlink(struct dentry *dentry, char __user * buffer, | |||
| 1054 | int ret; | 1049 | int ret; |
| 1055 | char *link = __getname(); | 1050 | char *link = __getname(); |
| 1056 | 1051 | ||
| 1052 | if (unlikely(!link)) | ||
| 1053 | return -ENOMEM; | ||
| 1054 | |||
| 1057 | if (buflen > PATH_MAX) | 1055 | if (buflen > PATH_MAX) |
| 1058 | buflen = PATH_MAX; | 1056 | buflen = PATH_MAX; |
| 1059 | 1057 | ||
| @@ -1171,9 +1169,6 @@ error: | |||
| 1171 | if (vfid) | 1169 | if (vfid) |
| 1172 | v9fs_fid_destroy(vfid); | 1170 | v9fs_fid_destroy(vfid); |
| 1173 | 1171 | ||
| 1174 | if (inode) | ||
| 1175 | iput(inode); | ||
| 1176 | |||
| 1177 | return err; | 1172 | return err; |
| 1178 | 1173 | ||
| 1179 | } | 1174 | } |
| @@ -1227,6 +1222,9 @@ v9fs_vfs_link(struct dentry *old_dentry, struct inode *dir, | |||
| 1227 | } | 1222 | } |
| 1228 | 1223 | ||
| 1229 | name = __getname(); | 1224 | name = __getname(); |
| 1225 | if (unlikely(!name)) | ||
| 1226 | return -ENOMEM; | ||
| 1227 | |||
| 1230 | sprintf(name, "%d\n", oldfid->fid); | 1228 | sprintf(name, "%d\n", oldfid->fid); |
| 1231 | retval = v9fs_vfs_mkspecial(dir, dentry, V9FS_DMLINK, name); | 1229 | retval = v9fs_vfs_mkspecial(dir, dentry, V9FS_DMLINK, name); |
| 1232 | __putname(name); | 1230 | __putname(name); |
