iget: stop JFFS2 from using iget() and read_inode()
Stop the JFFS2 filesystem from using iget() and read_inode(). Replace jffs2_read_inode() with jffs2_iget(), and call that instead of iget(). jffs2_iget() then uses iget_locked() directly and returns a proper error code instead of an inode in the event of an error. jffs2_do_fill_super() returns any error incurred when getting the root inode instead of EINVAL. Signed-off-by: David Howells <dhowells@redhat.com> Cc: David Woodhouse <dwmw2@infradead.org> Acked-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:

committad av
Linus Torvalds

förälder
c4386c83bf
incheckning
5451f79f5f
@@ -101,10 +101,10 @@ static struct dentry *jffs2_lookup(struct inode *dir_i, struct dentry *target,
|
||||
ino = fd->ino;
|
||||
up(&dir_f->sem);
|
||||
if (ino) {
|
||||
inode = iget(dir_i->i_sb, ino);
|
||||
if (!inode) {
|
||||
inode = jffs2_iget(dir_i->i_sb, ino);
|
||||
if (IS_ERR(inode)) {
|
||||
printk(KERN_WARNING "iget() failed for ino #%u\n", ino);
|
||||
return (ERR_PTR(-EIO));
|
||||
return ERR_CAST(inode);
|
||||
}
|
||||
}
|
||||
|
||||
|
Referens i nytt ärende
Block a user