diff options
Diffstat (limited to 'fs/reiserfs/inode.c')
| -rw-r--r-- | fs/reiserfs/inode.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/fs/reiserfs/inode.c b/fs/reiserfs/inode.c index b33d67bba2fd..d60f6238c66a 100644 --- a/fs/reiserfs/inode.c +++ b/fs/reiserfs/inode.c | |||
| @@ -627,11 +627,6 @@ int reiserfs_get_block(struct inode *inode, sector_t block, | |||
| 627 | reiserfs_write_lock(inode->i_sb); | 627 | reiserfs_write_lock(inode->i_sb); |
| 628 | version = get_inode_item_key_version(inode); | 628 | version = get_inode_item_key_version(inode); |
| 629 | 629 | ||
| 630 | if (block < 0) { | ||
| 631 | reiserfs_write_unlock(inode->i_sb); | ||
| 632 | return -EIO; | ||
| 633 | } | ||
| 634 | |||
| 635 | if (!file_capable(inode, block)) { | 630 | if (!file_capable(inode, block)) { |
| 636 | reiserfs_write_unlock(inode->i_sb); | 631 | reiserfs_write_unlock(inode->i_sb); |
| 637 | return -EFBIG; | 632 | return -EFBIG; |
| @@ -934,12 +929,13 @@ int reiserfs_get_block(struct inode *inode, sector_t block, | |||
| 934 | //pos_in_item * inode->i_sb->s_blocksize, | 929 | //pos_in_item * inode->i_sb->s_blocksize, |
| 935 | TYPE_INDIRECT, 3); // key type is unimportant | 930 | TYPE_INDIRECT, 3); // key type is unimportant |
| 936 | 931 | ||
| 932 | RFALSE(cpu_key_k_offset(&tmp_key) > cpu_key_k_offset(&key), | ||
| 933 | "green-805: invalid offset"); | ||
| 937 | blocks_needed = | 934 | blocks_needed = |
| 938 | 1 + | 935 | 1 + |
| 939 | ((cpu_key_k_offset(&key) - | 936 | ((cpu_key_k_offset(&key) - |
| 940 | cpu_key_k_offset(&tmp_key)) >> inode->i_sb-> | 937 | cpu_key_k_offset(&tmp_key)) >> inode->i_sb-> |
| 941 | s_blocksize_bits); | 938 | s_blocksize_bits); |
| 942 | RFALSE(blocks_needed < 0, "green-805: invalid offset"); | ||
| 943 | 939 | ||
| 944 | if (blocks_needed == 1) { | 940 | if (blocks_needed == 1) { |
| 945 | un = &unf_single; | 941 | un = &unf_single; |
