tree b475d031cd1abaf1a2ffef99968c00950ae2c431
parent 6536d2891ba2c4e837ba8478dc13bb173ed24a23
author Li Zefan <lizf@cn.fujitsu.com> 1211983136 -0500
committer Dave Kleikamp <shaggy@linux.vnet.ibm.com> 1211983136 -0500

JFS: diAlloc() should return -EIO rather than EIO

The comment above the function says one of its return value is -EIO,
and also the caller of diAlloc() checks for -EIO:

struct inode *ialloc(struct inode *parent, umode_t mode)
{
	...
	rc = diAlloc(parent, S_ISDIR(mode), inode);
	if (rc) {
		jfs_warn("ialloc: diAlloc returned %d!", rc);
		if (rc == -EIO)
			make_bad_inode(inode);
	...

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
