ocfs2: acknowledge return value of ocfs2_error()
Caveat: This may return -EROFS for a read case, which seems wrong. This is happening even without this patch series though. Should we convert EROFS to EIO? Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.com> Cc: Mark Fasheh <mfasheh@suse.com> Cc: Joel Becker <jlbec@evilplan.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:

committed by
Linus Torvalds

parent
7d0fb9148a
commit
17a5b9ab32
@@ -499,30 +499,27 @@ static int ocfs2_validate_xattr_block(struct super_block *sb,
|
||||
*/
|
||||
|
||||
if (!OCFS2_IS_VALID_XATTR_BLOCK(xb)) {
|
||||
ocfs2_error(sb,
|
||||
return ocfs2_error(sb,
|
||||
"Extended attribute block #%llu has bad "
|
||||
"signature %.*s",
|
||||
(unsigned long long)bh->b_blocknr, 7,
|
||||
xb->xb_signature);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (le64_to_cpu(xb->xb_blkno) != bh->b_blocknr) {
|
||||
ocfs2_error(sb,
|
||||
return ocfs2_error(sb,
|
||||
"Extended attribute block #%llu has an "
|
||||
"invalid xb_blkno of %llu",
|
||||
(unsigned long long)bh->b_blocknr,
|
||||
(unsigned long long)le64_to_cpu(xb->xb_blkno));
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (le32_to_cpu(xb->xb_fs_generation) != OCFS2_SB(sb)->fs_generation) {
|
||||
ocfs2_error(sb,
|
||||
return ocfs2_error(sb,
|
||||
"Extended attribute block #%llu has an invalid "
|
||||
"xb_fs_generation of #%u",
|
||||
(unsigned long long)bh->b_blocknr,
|
||||
le32_to_cpu(xb->xb_fs_generation));
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -3694,11 +3691,10 @@ static int ocfs2_xattr_get_rec(struct inode *inode,
|
||||
el = &eb->h_list;
|
||||
|
||||
if (el->l_tree_depth) {
|
||||
ocfs2_error(inode->i_sb,
|
||||
ret = ocfs2_error(inode->i_sb,
|
||||
"Inode %lu has non zero tree depth in "
|
||||
"xattr tree block %llu\n", inode->i_ino,
|
||||
(unsigned long long)eb_bh->b_blocknr);
|
||||
ret = -EROFS;
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
@@ -3713,11 +3709,10 @@ static int ocfs2_xattr_get_rec(struct inode *inode,
|
||||
}
|
||||
|
||||
if (!e_blkno) {
|
||||
ocfs2_error(inode->i_sb, "Inode %lu has bad extent "
|
||||
ret = ocfs2_error(inode->i_sb, "Inode %lu has bad extent "
|
||||
"record (%u, %u, 0) in xattr", inode->i_ino,
|
||||
le32_to_cpu(rec->e_cpos),
|
||||
ocfs2_rec_clusters(el, rec));
|
||||
ret = -EROFS;
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user