Commit f7ec1497 authored by Dave Kleikamp's avatar Dave Kleikamp

JFS: Make error return codes negative

JFS was often returning positive error return codes.  This was confusing and
awkward.  Patch originally submitted by Thomas Cort.
parent c087dbee
...@@ -259,7 +259,7 @@ jfs_get_blocks(struct inode *ip, sector_t lblock, unsigned long max_blocks, ...@@ -259,7 +259,7 @@ jfs_get_blocks(struct inode *ip, sector_t lblock, unsigned long max_blocks,
else else
IREAD_UNLOCK(ip); IREAD_UNLOCK(ip);
} }
return -rc; return rc;
} }
static int jfs_get_block(struct inode *ip, sector_t lblock, static int jfs_get_block(struct inode *ip, sector_t lblock,
......
...@@ -81,7 +81,7 @@ struct btpage { ...@@ -81,7 +81,7 @@ struct btpage {
} else {\ } else {\
P = NULL;\ P = NULL;\
jfs_err("bread failed!");\ jfs_err("bread failed!");\
RC = EIO;\ RC = -EIO;\
}\ }\
}\ }\
} }
......
This diff is collapsed.
...@@ -134,7 +134,7 @@ struct dtsplit { ...@@ -134,7 +134,7 @@ struct dtsplit {
BT_PUTPAGE(MP);\ BT_PUTPAGE(MP);\
updateSuper((IP)->i_sb, FM_DIRTY);\ updateSuper((IP)->i_sb, FM_DIRTY);\
MP = NULL;\ MP = NULL;\
RC = EIO;\ RC = -EIO;\
}\ }\
}\ }\
} }
...@@ -404,7 +404,7 @@ static u32 add_index(tid_t tid, struct inode *ip, s64 bn, int slot) ...@@ -404,7 +404,7 @@ static u32 add_index(tid_t tid, struct inode *ip, s64 bn, int slot)
xtInsert(tid, ip, 0, 0, sbi->nbperpage, xtInsert(tid, ip, 0, 0, sbi->nbperpage,
&xaddr, 0))) { &xaddr, 0))) {
jfs_warn("add_index: xtInsert failed!"); jfs_warn("add_index: xtInsert failed!");
return -1; return -EPERM;
} }
ip->i_size = PSIZE; ip->i_size = PSIZE;
ip->i_blocks += LBLK2PBLK(sb, sbi->nbperpage); ip->i_blocks += LBLK2PBLK(sb, sbi->nbperpage);
...@@ -412,7 +412,7 @@ static u32 add_index(tid_t tid, struct inode *ip, s64 bn, int slot) ...@@ -412,7 +412,7 @@ static u32 add_index(tid_t tid, struct inode *ip, s64 bn, int slot)
if ((mp = get_index_page(ip, 0)) == 0) { if ((mp = get_index_page(ip, 0)) == 0) {
jfs_err("add_index: get_metapage failed!"); jfs_err("add_index: get_metapage failed!");
xtTruncate(tid, ip, 0, COMMIT_PWMAP); xtTruncate(tid, ip, 0, COMMIT_PWMAP);
return -1; return -EPERM;
} }
tlck = txLock(tid, ip, mp, tlckDATA); tlck = txLock(tid, ip, mp, tlckDATA);
llck = (struct linelock *) & tlck->lock; llck = (struct linelock *) & tlck->lock;
...@@ -447,7 +447,7 @@ static u32 add_index(tid_t tid, struct inode *ip, s64 bn, int slot) ...@@ -447,7 +447,7 @@ static u32 add_index(tid_t tid, struct inode *ip, s64 bn, int slot)
&xaddr, 0))) { &xaddr, 0))) {
jfs_warn("add_index: xtInsert failed!"); jfs_warn("add_index: xtInsert failed!");
jfs_ip->next_index--; jfs_ip->next_index--;
return -1; return -EPERM;
} }
ip->i_size += PSIZE; ip->i_size += PSIZE;
ip->i_blocks += LBLK2PBLK(sb, sbi->nbperpage); ip->i_blocks += LBLK2PBLK(sb, sbi->nbperpage);
...@@ -461,7 +461,7 @@ static u32 add_index(tid_t tid, struct inode *ip, s64 bn, int slot) ...@@ -461,7 +461,7 @@ static u32 add_index(tid_t tid, struct inode *ip, s64 bn, int slot)
if (mp == 0) { if (mp == 0) {
jfs_err("add_index: get/read_metapage failed!"); jfs_err("add_index: get/read_metapage failed!");
return -1; return -EPERM;
} }
lock_index(tid, ip, mp, index); lock_index(tid, ip, mp, index);
...@@ -588,7 +588,7 @@ int dtSearch(struct inode *ip, struct component_name * key, ino_t * data, ...@@ -588,7 +588,7 @@ int dtSearch(struct inode *ip, struct component_name * key, ino_t * data,
(wchar_t *) kmalloc((JFS_NAME_MAX + 1) * sizeof(wchar_t), (wchar_t *) kmalloc((JFS_NAME_MAX + 1) * sizeof(wchar_t),
GFP_NOFS); GFP_NOFS);
if (ciKey.name == 0) { if (ciKey.name == 0) {
rc = ENOMEM; rc = -ENOMEM;
goto dtSearch_Exit2; goto dtSearch_Exit2;
} }
...@@ -674,7 +674,7 @@ int dtSearch(struct inode *ip, struct component_name * key, ino_t * data, ...@@ -674,7 +674,7 @@ int dtSearch(struct inode *ip, struct component_name * key, ino_t * data,
*/ */
if (flag == JFS_CREATE) { if (flag == JFS_CREATE) {
*data = inumber; *data = inumber;
rc = EEXIST; rc = -EEXIST;
goto out; goto out;
} }
...@@ -684,7 +684,7 @@ int dtSearch(struct inode *ip, struct component_name * key, ino_t * data, ...@@ -684,7 +684,7 @@ int dtSearch(struct inode *ip, struct component_name * key, ino_t * data,
if ((flag == JFS_REMOVE || if ((flag == JFS_REMOVE ||
flag == JFS_RENAME) && flag == JFS_RENAME) &&
*data != inumber) { *data != inumber) {
rc = ESTALE; rc = -ESTALE;
goto out; goto out;
} }
...@@ -732,7 +732,7 @@ int dtSearch(struct inode *ip, struct component_name * key, ino_t * data, ...@@ -732,7 +732,7 @@ int dtSearch(struct inode *ip, struct component_name * key, ino_t * data,
*/ */
if (flag == JFS_LOOKUP || flag == JFS_REMOVE || if (flag == JFS_LOOKUP || flag == JFS_REMOVE ||
flag == JFS_RENAME) { flag == JFS_RENAME) {
rc = ENOENT; rc = -ENOENT;
goto out; goto out;
} }
...@@ -770,7 +770,7 @@ int dtSearch(struct inode *ip, struct component_name * key, ino_t * data, ...@@ -770,7 +770,7 @@ int dtSearch(struct inode *ip, struct component_name * key, ino_t * data,
*/ */
jfs_err("stack overrun in dtSearch!"); jfs_err("stack overrun in dtSearch!");
updateSuper(sb, FM_DIRTY); updateSuper(sb, FM_DIRTY);
rc = EIO; rc = -EIO;
goto out; goto out;
} }
btstack->nsplit++; btstack->nsplit++;
...@@ -840,7 +840,7 @@ int dtInsert(tid_t tid, struct inode *ip, ...@@ -840,7 +840,7 @@ int dtInsert(tid_t tid, struct inode *ip,
if (DO_INDEX(ip)) { if (DO_INDEX(ip)) {
if (JFS_IP(ip)->next_index == DIREND) { if (JFS_IP(ip)->next_index == DIREND) {
DT_PUTPAGE(mp); DT_PUTPAGE(mp);
return EMLINK; return -EMLINK;
} }
n = NDTLEAF(name->namlen); n = NDTLEAF(name->namlen);
data.leaf.tid = tid; data.leaf.tid = tid;
...@@ -953,7 +953,7 @@ static int dtSplitUp(tid_t tid, ...@@ -953,7 +953,7 @@ static int dtSplitUp(tid_t tid,
GFP_NOFS); GFP_NOFS);
if (key.name == 0) { if (key.name == 0) {
DT_PUTPAGE(smp); DT_PUTPAGE(smp);
rc = ENOMEM; rc = -ENOMEM;
goto dtSplitUp_Exit; goto dtSplitUp_Exit;
} }
...@@ -1579,7 +1579,7 @@ static int dtSplitPage(tid_t tid, struct inode *ip, struct dtsplit * split, ...@@ -1579,7 +1579,7 @@ static int dtSplitPage(tid_t tid, struct inode *ip, struct dtsplit * split,
ip->i_blocks += LBLK2PBLK(sb, lengthPXD(pxd)); ip->i_blocks += LBLK2PBLK(sb, lengthPXD(pxd));
return 0; return rc;
} }
...@@ -2628,7 +2628,7 @@ static int dtSearchNode(struct inode *ip, s64 lmxaddr, pxd_t * kpxd, ...@@ -2628,7 +2628,7 @@ static int dtSearchNode(struct inode *ip, s64 lmxaddr, pxd_t * kpxd,
* descend down to leftmost child page * descend down to leftmost child page
*/ */
if (p->header.flag & BT_LEAF) if (p->header.flag & BT_LEAF)
return ESTALE; return -ESTALE;
/* get the leftmost entry */ /* get the leftmost entry */
stbl = DT_GETSTBL(p); stbl = DT_GETSTBL(p);
...@@ -2666,7 +2666,7 @@ static int dtSearchNode(struct inode *ip, s64 lmxaddr, pxd_t * kpxd, ...@@ -2666,7 +2666,7 @@ static int dtSearchNode(struct inode *ip, s64 lmxaddr, pxd_t * kpxd,
bn = le64_to_cpu(p->header.next); bn = le64_to_cpu(p->header.next);
else { else {
DT_PUTPAGE(mp); DT_PUTPAGE(mp);
return ESTALE; return -ESTALE;
} }
/* unpin current page */ /* unpin current page */
...@@ -3068,7 +3068,7 @@ int jfs_readdir(struct file *filp, void *dirent, filldir_t filldir) ...@@ -3068,7 +3068,7 @@ int jfs_readdir(struct file *filp, void *dirent, filldir_t filldir)
} }
if ((rc = dtReadFirst(ip, &btstack))) if ((rc = dtReadFirst(ip, &btstack)))
return -rc; return rc;
DT_GETSEARCH(ip, btstack.top, bn, mp, p, index); DT_GETSEARCH(ip, btstack.top, bn, mp, p, index);
} }
...@@ -3268,7 +3268,7 @@ int jfs_readdir(struct file *filp, void *dirent, filldir_t filldir) ...@@ -3268,7 +3268,7 @@ int jfs_readdir(struct file *filp, void *dirent, filldir_t filldir)
DT_GETPAGE(ip, bn, mp, PSIZE, p, rc); DT_GETPAGE(ip, bn, mp, PSIZE, p, rc);
if (rc) { if (rc) {
free_page(dirent_buf); free_page(dirent_buf);
return -rc; return rc;
} }
} }
...@@ -4434,8 +4434,8 @@ static void dtLinelockFreelist(dtpage_t * p, /* directory page */ ...@@ -4434,8 +4434,8 @@ static void dtLinelockFreelist(dtpage_t * p, /* directory page */
* flag - JFS_RENAME * flag - JFS_RENAME
* *
* RETURNS: * RETURNS:
* ESTALE - If entry found does not match orig_ino passed in * -ESTALE - If entry found does not match orig_ino passed in
* ENOENT - If no entry can be found to match key * -ENOENT - If no entry can be found to match key
* 0 - If successfully modified entry * 0 - If successfully modified entry
*/ */
int dtModify(tid_t tid, struct inode *ip, int dtModify(tid_t tid, struct inode *ip,
......
...@@ -83,8 +83,8 @@ extern int jfs_commit_inode(struct inode *, int); ...@@ -83,8 +83,8 @@ extern int jfs_commit_inode(struct inode *, int);
* *
* RETURN VALUES: * RETURN VALUES:
* 0 - success * 0 - success
* EIO - i/o error. * -EIO - i/o error.
* ENOSPC - insufficient disk resources. * -ENOSPC - insufficient disk resources.
*/ */
int int
extAlloc(struct inode *ip, s64 xlen, s64 pno, xad_t * xp, boolean_t abnr) extAlloc(struct inode *ip, s64 xlen, s64 pno, xad_t * xp, boolean_t abnr)
...@@ -207,8 +207,8 @@ extAlloc(struct inode *ip, s64 xlen, s64 pno, xad_t * xp, boolean_t abnr) ...@@ -207,8 +207,8 @@ extAlloc(struct inode *ip, s64 xlen, s64 pno, xad_t * xp, boolean_t abnr)
* *
* RETURN VALUES: * RETURN VALUES:
* 0 - success * 0 - success
* EIO - i/o error. * -EIO - i/o error.
* ENOSPC - insufficient disk resources. * -ENOSPC - insufficient disk resources.
*/ */
int extRealloc(struct inode *ip, s64 nxlen, xad_t * xp, boolean_t abnr) int extRealloc(struct inode *ip, s64 nxlen, xad_t * xp, boolean_t abnr)
{ {
...@@ -350,7 +350,7 @@ int extRealloc(struct inode *ip, s64 nxlen, xad_t * xp, boolean_t abnr) ...@@ -350,7 +350,7 @@ int extRealloc(struct inode *ip, s64 nxlen, xad_t * xp, boolean_t abnr)
* *
* RETURN VALUES: * RETURN VALUES:
* 0 - success * 0 - success
* EIO - i/o error. * -EIO - i/o error.
*/ */
int extHint(struct inode *ip, s64 offset, xad_t * xp) int extHint(struct inode *ip, s64 offset, xad_t * xp)
{ {
...@@ -421,8 +421,8 @@ int extHint(struct inode *ip, s64 offset, xad_t * xp) ...@@ -421,8 +421,8 @@ int extHint(struct inode *ip, s64 offset, xad_t * xp)
* *
* RETURN VALUES: * RETURN VALUES:
* 0 - success * 0 - success
* EIO - i/o error. * -EIO - i/o error.
* ENOSPC - insufficient disk resources. * -ENOSPC - insufficient disk resources.
*/ */
int extRecord(struct inode *ip, xad_t * xp) int extRecord(struct inode *ip, xad_t * xp)
{ {
...@@ -436,7 +436,7 @@ int extRecord(struct inode *ip, xad_t * xp) ...@@ -436,7 +436,7 @@ int extRecord(struct inode *ip, xad_t * xp)
rc = xtUpdate(0, ip, xp); rc = xtUpdate(0, ip, xp);
up(&JFS_IP(ip)->commit_sem); up(&JFS_IP(ip)->commit_sem);
return (rc); return rc;
} }
...@@ -453,8 +453,8 @@ int extRecord(struct inode *ip, xad_t * xp) ...@@ -453,8 +453,8 @@ int extRecord(struct inode *ip, xad_t * xp)
* *
* RETURN VALUES: * RETURN VALUES:
* 0 - success * 0 - success
* EIO - i/o error. * -EIO - i/o error.
* ENOSPC - insufficient disk resources. * -ENOSPC - insufficient disk resources.
*/ */
int extFill(struct inode *ip, xad_t * xp) int extFill(struct inode *ip, xad_t * xp)
{ {
...@@ -505,8 +505,8 @@ int extFill(struct inode *ip, xad_t * xp) ...@@ -505,8 +505,8 @@ int extFill(struct inode *ip, xad_t * xp)
* *
* RETURN VALUES: * RETURN VALUES:
* 0 - success * 0 - success
* EIO - i/o error. * -EIO - i/o error.
* ENOSPC - insufficient disk resources. * -ENOSPC - insufficient disk resources.
*/ */
static int static int
extBalloc(struct inode *ip, s64 hint, s64 * nblocks, s64 * blkno) extBalloc(struct inode *ip, s64 hint, s64 * nblocks, s64 * blkno)
...@@ -535,7 +535,7 @@ extBalloc(struct inode *ip, s64 hint, s64 * nblocks, s64 * blkno) ...@@ -535,7 +535,7 @@ extBalloc(struct inode *ip, s64 hint, s64 * nblocks, s64 * blkno)
/* if something other than an out of space error, /* if something other than an out of space error,
* stop and return this error. * stop and return this error.
*/ */
if (rc != ENOSPC) if (rc != -ENOSPC)
return (rc); return (rc);
/* decrease the allocation request size */ /* decrease the allocation request size */
...@@ -596,8 +596,8 @@ extBalloc(struct inode *ip, s64 hint, s64 * nblocks, s64 * blkno) ...@@ -596,8 +596,8 @@ extBalloc(struct inode *ip, s64 hint, s64 * nblocks, s64 * blkno)
* *
* RETURN VALUES: * RETURN VALUES:
* 0 - success * 0 - success
* EIO - i/o error. * -EIO - i/o error.
* ENOSPC - insufficient disk resources. * -ENOSPC - insufficient disk resources.
*/ */
static int static int
extBrealloc(struct inode *ip, extBrealloc(struct inode *ip,
...@@ -610,7 +610,7 @@ extBrealloc(struct inode *ip, ...@@ -610,7 +610,7 @@ extBrealloc(struct inode *ip,
*newblkno = blkno; *newblkno = blkno;
return (0); return (0);
} else { } else {
if (rc != ENOSPC) if (rc != -ENOSPC)
return (rc); return (rc);
} }
......
This diff is collapsed.
...@@ -667,7 +667,7 @@ int lmGroupCommit(struct jfs_log * log, struct tblock * tblk) ...@@ -667,7 +667,7 @@ int lmGroupCommit(struct jfs_log * log, struct tblock * tblk)
/* group committed already ? */ /* group committed already ? */
if (tblk->flag & tblkGC_COMMITTED) { if (tblk->flag & tblkGC_COMMITTED) {
if (tblk->flag & tblkGC_ERROR) if (tblk->flag & tblkGC_ERROR)
rc = EIO; rc = -EIO;
LOGGC_UNLOCK(log); LOGGC_UNLOCK(log);
return rc; return rc;
...@@ -701,7 +701,7 @@ int lmGroupCommit(struct jfs_log * log, struct tblock * tblk) ...@@ -701,7 +701,7 @@ int lmGroupCommit(struct jfs_log * log, struct tblock * tblk)
if (tblk->flag & tblkGC_COMMITTED) { if (tblk->flag & tblkGC_COMMITTED) {
if (tblk->flag & tblkGC_ERROR) if (tblk->flag & tblkGC_ERROR)
rc = EIO; rc = -EIO;
LOGGC_UNLOCK(log); LOGGC_UNLOCK(log);
return rc; return rc;
...@@ -717,7 +717,7 @@ int lmGroupCommit(struct jfs_log * log, struct tblock * tblk) ...@@ -717,7 +717,7 @@ int lmGroupCommit(struct jfs_log * log, struct tblock * tblk)
/* removed from commit queue */ /* removed from commit queue */
if (tblk->flag & tblkGC_ERROR) if (tblk->flag & tblkGC_ERROR)
rc = EIO; rc = -EIO;
LOGGC_UNLOCK(log); LOGGC_UNLOCK(log);
return rc; return rc;
...@@ -1068,7 +1068,7 @@ int lmLogOpen(struct super_block *sb, struct jfs_log ** logptr) ...@@ -1068,7 +1068,7 @@ int lmLogOpen(struct super_block *sb, struct jfs_log ** logptr)
struct jfs_log *log; struct jfs_log *log;
if (!(log = kmalloc(sizeof(struct jfs_log), GFP_KERNEL))) if (!(log = kmalloc(sizeof(struct jfs_log), GFP_KERNEL)))
return ENOMEM; return -ENOMEM;
memset(log, 0, sizeof(struct jfs_log)); memset(log, 0, sizeof(struct jfs_log));
init_waitqueue_head(&log->syncwait); init_waitqueue_head(&log->syncwait);
...@@ -1113,7 +1113,6 @@ int lmLogOpen(struct super_block *sb, struct jfs_log ** logptr) ...@@ -1113,7 +1113,6 @@ int lmLogOpen(struct super_block *sb, struct jfs_log ** logptr)
} }
if ((rc = bd_claim(bdev, log))) { if ((rc = bd_claim(bdev, log))) {
rc = -rc;
goto close; goto close;
} }
...@@ -1169,7 +1168,7 @@ int lmLogOpen(struct super_block *sb, struct jfs_log ** logptr) ...@@ -1169,7 +1168,7 @@ int lmLogOpen(struct super_block *sb, struct jfs_log ** logptr)
* PARAMETER: log - log structure * PARAMETER: log - log structure
* *
* RETURN: 0 - if ok * RETURN: 0 - if ok
* EINVAL - bad log magic number or superblock dirty * -EINVAL - bad log magic number or superblock dirty
* error returned from logwait() * error returned from logwait()
* *
* serialization: single first open thread * serialization: single first open thread
...@@ -1209,21 +1208,21 @@ int lmLogInit(struct jfs_log * log) ...@@ -1209,21 +1208,21 @@ int lmLogInit(struct jfs_log * log)
if (logsuper->magic != cpu_to_le32(LOGMAGIC)) { if (logsuper->magic != cpu_to_le32(LOGMAGIC)) {
jfs_warn("*** Log Format Error ! ***"); jfs_warn("*** Log Format Error ! ***");
rc = EINVAL; rc = -EINVAL;
goto errout20; goto errout20;
} }
/* logredo() should have been run successfully. */ /* logredo() should have been run successfully. */
if (logsuper->state != cpu_to_le32(LOGREDONE)) { if (logsuper->state != cpu_to_le32(LOGREDONE)) {
jfs_warn("*** Log Is Dirty ! ***"); jfs_warn("*** Log Is Dirty ! ***");
rc = EINVAL; rc = -EINVAL;
goto errout20; goto errout20;
} }
/* initialize log inode from log superblock */ /* initialize log inode from log superblock */
if (test_bit(log_INLINELOG,&log->flag)) { if (test_bit(log_INLINELOG,&log->flag)) {
if (log->size != le32_to_cpu(logsuper->size)) { if (log->size != le32_to_cpu(logsuper->size)) {
rc = EINVAL; rc = -EINVAL;
goto errout20; goto errout20;
} }
jfs_info("lmLogInit: inline log:0x%p base:0x%Lx size:0x%x", jfs_info("lmLogInit: inline log:0x%p base:0x%Lx size:0x%x",
...@@ -1610,7 +1609,7 @@ static int lmLogFileSystem(struct jfs_log * log, char *uuid, int activate) ...@@ -1610,7 +1609,7 @@ static int lmLogFileSystem(struct jfs_log * log, char *uuid, int activate)
if (i == MAX_ACTIVE) { if (i == MAX_ACTIVE) {
jfs_warn("Somebody stomped on the journal!"); jfs_warn("Somebody stomped on the journal!");
lbmFree(bpsuper); lbmFree(bpsuper);
return EIO; return -EIO;
} }
} }
...@@ -1698,7 +1697,7 @@ static int lbmLogInit(struct jfs_log * log) ...@@ -1698,7 +1697,7 @@ static int lbmLogInit(struct jfs_log * log)
error: error:
lbmLogShutdown(log); lbmLogShutdown(log);
return (ENOMEM); return -ENOMEM;
} }
...@@ -2007,7 +2006,7 @@ static int lbmIOWait(struct lbuf * bp, int flag) ...@@ -2007,7 +2006,7 @@ static int lbmIOWait(struct lbuf * bp, int flag)
LCACHE_SLEEP_COND(bp->l_ioevent, (bp->l_flag & lbmDONE), flags); LCACHE_SLEEP_COND(bp->l_ioevent, (bp->l_flag & lbmDONE), flags);
rc = (bp->l_flag & lbmERROR) ? EIO : 0; rc = (bp->l_flag & lbmERROR) ? -EIO : 0;
if (flag & lbmFREE) if (flag & lbmFREE)
lbmfree(bp); lbmfree(bp);
......
...@@ -72,11 +72,11 @@ static int logMOUNT(struct super_block *sb); ...@@ -72,11 +72,11 @@ static int logMOUNT(struct super_block *sb);
* *
* PARAMETER: sb - super block * PARAMETER: sb - super block
* *
* RETURN: EBUSY - device already mounted or open for write * RETURN: -EBUSY - device already mounted or open for write
* EBUSY - cvrdvp already mounted; * -EBUSY - cvrdvp already mounted;
* EBUSY - mount table full * -EBUSY - mount table full
* ENOTDIR - cvrdvp not directory on a device mount * -ENOTDIR- cvrdvp not directory on a device mount
* ENXIO - device open failure * -ENXIO - device open failure
*/ */
int jfs_mount(struct super_block *sb) int jfs_mount(struct super_block *sb)
{ {
...@@ -98,7 +98,7 @@ int jfs_mount(struct super_block *sb) ...@@ -98,7 +98,7 @@ int jfs_mount(struct super_block *sb)
ipaimap = diReadSpecial(sb, AGGREGATE_I, 0); ipaimap = diReadSpecial(sb, AGGREGATE_I, 0);
if (ipaimap == NULL) { if (ipaimap == NULL) {
jfs_err("jfs_mount: Faild to read AGGREGATE_I"); jfs_err("jfs_mount: Faild to read AGGREGATE_I");
rc = EIO; rc = -EIO;
goto errout20; goto errout20;
} }
sbi->ipaimap = ipaimap; sbi->ipaimap = ipaimap;
...@@ -118,7 +118,7 @@ int jfs_mount(struct super_block *sb) ...@@ -118,7 +118,7 @@ int jfs_mount(struct super_block *sb)
*/ */
ipbmap = diReadSpecial(sb, BMAP_I, 0); ipbmap = diReadSpecial(sb, BMAP_I, 0);
if (ipbmap == NULL) { if (ipbmap == NULL) {
rc = EIO; rc = -EIO;
goto errout22; goto errout22;
} }
...@@ -149,7 +149,7 @@ int jfs_mount(struct super_block *sb) ...@@ -149,7 +149,7 @@ int jfs_mount(struct super_block *sb)
ipaimap2 = diReadSpecial(sb, AGGREGATE_I, 1); ipaimap2 = diReadSpecial(sb, AGGREGATE_I, 1);
if (ipaimap2 == 0) { if (ipaimap2 == 0) {
jfs_err("jfs_mount: Faild to read AGGREGATE_I"); jfs_err("jfs_mount: Faild to read AGGREGATE_I");
rc = EIO; rc = -EIO;
goto errout35; goto errout35;
} }
sbi->ipaimap2 = ipaimap2; sbi->ipaimap2 = ipaimap2;
...@@ -178,7 +178,7 @@ int jfs_mount(struct super_block *sb) ...@@ -178,7 +178,7 @@ int jfs_mount(struct super_block *sb)
if (ipimap == NULL) { if (ipimap == NULL) {
jfs_err("jfs_mount: Failed to read FILESYSTEM_I"); jfs_err("jfs_mount: Failed to read FILESYSTEM_I");
/* open fileset secondary inode allocation map */ /* open fileset secondary inode allocation map */
rc = EIO; rc = -EIO;
goto errout40; goto errout40;
} }
jfs_info("jfs_mount: ipimap:0x%p", ipimap); jfs_info("jfs_mount: ipimap:0x%p", ipimap);
...@@ -327,8 +327,7 @@ static int chkSuper(struct super_block *sb) ...@@ -327,8 +327,7 @@ static int chkSuper(struct super_block *sb)
/* validate fs signature */ /* validate fs signature */
if (strncmp(j_sb->s_magic, JFS_MAGIC, 4) || if (strncmp(j_sb->s_magic, JFS_MAGIC, 4) ||
j_sb->s_version > cpu_to_le32(JFS_VERSION)) { j_sb->s_version > cpu_to_le32(JFS_VERSION)) {
//rc = EFORMAT; rc = -EINVAL;
rc = EINVAL;
goto out; goto out;
} }
...@@ -336,7 +335,7 @@ static int chkSuper(struct super_block *sb) ...@@ -336,7 +335,7 @@ static int chkSuper(struct super_block *sb)
#ifdef _JFS_4K #ifdef _JFS_4K
if (bsize != PSIZE) { if (bsize != PSIZE) {
jfs_err("Currently only 4K block size supported!"); jfs_err("Currently only 4K block size supported!");
rc = EINVAL; rc = -EINVAL;
goto out; goto out;
} }
#endif /* _JFS_4K */ #endif /* _JFS_4K */
...@@ -372,7 +371,7 @@ static int chkSuper(struct super_block *sb) ...@@ -372,7 +371,7 @@ static int chkSuper(struct super_block *sb)
if (j_sb->s_state != cpu_to_le32(FM_CLEAN) && if (j_sb->s_state != cpu_to_le32(FM_CLEAN) &&
!(sb->s_flags & MS_RDONLY)) { !(sb->s_flags & MS_RDONLY)) {
jfs_err("jfs_mount: Mount Failure: File System Dirty."); jfs_err("jfs_mount: Mount Failure: File System Dirty.");
rc = EINVAL; rc = -EINVAL;
goto out; goto out;
} }
......
...@@ -257,7 +257,7 @@ int txInit(void) ...@@ -257,7 +257,7 @@ int txInit(void)
size = sizeof(struct tblock) * nTxBlock; size = sizeof(struct tblock) * nTxBlock;
TxBlock = (struct tblock *) vmalloc(size); TxBlock = (struct tblock *) vmalloc(size);
if (TxBlock == NULL) if (TxBlock == NULL)
return ENOMEM; return -ENOMEM;
for (k = 1; k < nTxBlock - 1; k++) { for (k = 1; k < nTxBlock - 1; k++) {
TxBlock[k].next = k + 1; TxBlock[k].next = k + 1;
...@@ -283,7 +283,7 @@ int txInit(void) ...@@ -283,7 +283,7 @@ int txInit(void)
TxLock = (struct tlock *) vmalloc(size); TxLock = (struct tlock *) vmalloc(size);
if (TxLock == NULL) { if (TxLock == NULL) {
vfree(TxBlock); vfree(TxBlock);
return ENOMEM; return -ENOMEM;
} }
/* initialize tlock table */ /* initialize tlock table */
...@@ -1098,7 +1098,7 @@ int txCommit(tid_t tid, /* transaction identifier */ ...@@ -1098,7 +1098,7 @@ int txCommit(tid_t tid, /* transaction identifier */
struct inode **iplist, /* list of inode to commit */ struct inode **iplist, /* list of inode to commit */
int flag) int flag)
{ {
int rc = 0, rc1 = 0; int rc = 0;
struct commit cd; struct commit cd;
struct jfs_log *log; struct jfs_log *log;
struct tblock *tblk; struct tblock *tblk;
...@@ -1318,8 +1318,6 @@ int txCommit(tid_t tid, /* transaction identifier */ ...@@ -1318,8 +1318,6 @@ int txCommit(tid_t tid, /* transaction identifier */
out: out:
if (rc != 0) if (rc != 0)
txAbortCommit(&cd, rc); txAbortCommit(&cd, rc);
else
rc = rc1;
TheEnd: TheEnd:
jfs_info("txCommit: tid = %d, returning %d", tid, rc); jfs_info("txCommit: tid = %d, returning %d", tid, rc);
......
...@@ -88,20 +88,20 @@ int get_UCSname(struct component_name * uniName, struct dentry *dentry, ...@@ -88,20 +88,20 @@ int get_UCSname(struct component_name * uniName, struct dentry *dentry,
int length = dentry->d_name.len; int length = dentry->d_name.len;
if (length > JFS_NAME_MAX) if (length > JFS_NAME_MAX)
return ENAMETOOLONG; return -ENAMETOOLONG;
uniName->name = uniName->name =
kmalloc((length + 1) * sizeof(wchar_t), GFP_NOFS); kmalloc((length + 1) * sizeof(wchar_t), GFP_NOFS);
if (uniName->name == NULL) if (uniName->name == NULL)
return ENOSPC; return -ENOSPC;
uniName->namlen = jfs_strtoUCS(uniName->name, dentry->d_name.name, uniName->namlen = jfs_strtoUCS(uniName->name, dentry->d_name.name,
length, nls_tab); length, nls_tab);
if (uniName->namlen < 0) { if (uniName->namlen < 0) {
kfree(uniName->name); kfree(uniName->name);
return -uniName->namlen; return uniName->namlen;
} }
return 0; return 0;
......
...@@ -73,7 +73,7 @@ ...@@ -73,7 +73,7 @@
BT_PUTPAGE(MP);\ BT_PUTPAGE(MP);\
updateSuper((IP)->i_sb, FM_DIRTY);\ updateSuper((IP)->i_sb, FM_DIRTY);\
MP = NULL;\ MP = NULL;\
RC = EIO;\ RC = -EIO;\
}\ }\
}\ }\
} }
...@@ -814,7 +814,7 @@ int xtInsert(tid_t tid, /* transaction id */ ...@@ -814,7 +814,7 @@ int xtInsert(tid_t tid, /* transaction id */
/* This test must follow XT_GETSEARCH since mp must be valid if /* This test must follow XT_GETSEARCH since mp must be valid if
* we branch to out: */ * we branch to out: */
if (cmp == 0) { if (cmp == 0) {
rc = EEXIST; rc = -EEXIST;
goto out; goto out;
} }
...@@ -1033,7 +1033,7 @@ xtSplitUp(tid_t tid, ...@@ -1033,7 +1033,7 @@ xtSplitUp(tid_t tid,
xtSplitRoot(tid, ip, split, &rmp) : xtSplitRoot(tid, ip, split, &rmp) :
xtSplitPage(tid, ip, split, &rmp, &rbn); xtSplitPage(tid, ip, split, &rmp, &rbn);
if (rc) if (rc)
return EIO; return -EIO;
XT_PUTPAGE(smp); XT_PUTPAGE(smp);
...@@ -1238,7 +1238,7 @@ xtSplitPage(tid_t tid, struct inode *ip, ...@@ -1238,7 +1238,7 @@ xtSplitPage(tid_t tid, struct inode *ip,
rbn = addressPXD(pxd); rbn = addressPXD(pxd);
rmp = get_metapage(ip, rbn, PSIZE, 1); rmp = get_metapage(ip, rbn, PSIZE, 1);
if (rmp == NULL) if (rmp == NULL)
return EIO; return -EIO;
jfs_info("xtSplitPage: ip:0x%p smp:0x%p rmp:0x%p", ip, smp, rmp); jfs_info("xtSplitPage: ip:0x%p smp:0x%p rmp:0x%p", ip, smp, rmp);
...@@ -1485,7 +1485,7 @@ xtSplitRoot(tid_t tid, ...@@ -1485,7 +1485,7 @@ xtSplitRoot(tid_t tid,
rbn = addressPXD(pxd); rbn = addressPXD(pxd);
rmp = get_metapage(ip, rbn, PSIZE, 1); rmp = get_metapage(ip, rbn, PSIZE, 1);
if (rmp == NULL) if (rmp == NULL)
return EIO; return -EIO;
jfs_info("xtSplitRoot: ip:0x%p rmp:0x%p", ip, rmp); jfs_info("xtSplitRoot: ip:0x%p rmp:0x%p", ip, rmp);
...@@ -2409,7 +2409,7 @@ int xtAppend(tid_t tid, /* transaction id */ ...@@ -2409,7 +2409,7 @@ int xtAppend(tid_t tid, /* transaction id */
XT_GETSEARCH(ip, btstack.top, bn, mp, p, index); XT_GETSEARCH(ip, btstack.top, bn, mp, p, index);
if (cmp == 0) { if (cmp == 0) {
rc = EEXIST; rc = -EEXIST;
goto out; goto out;
} }
//insert: //insert:
...@@ -2557,7 +2557,7 @@ int xtDelete(tid_t tid, struct inode *ip, s64 xoff, s32 xlen, int flag) ...@@ -2557,7 +2557,7 @@ int xtDelete(tid_t tid, struct inode *ip, s64 xoff, s32 xlen, int flag)
if (cmp) { if (cmp) {
/* unpin the leaf page */ /* unpin the leaf page */
XT_PUTPAGE(mp); XT_PUTPAGE(mp);
return ENOENT; return -ENOENT;
} }
/* /*
...@@ -2788,7 +2788,7 @@ xtRelocate(tid_t tid, struct inode * ip, xad_t * oxad, /* old XAD */ ...@@ -2788,7 +2788,7 @@ xtRelocate(tid_t tid, struct inode * ip, xad_t * oxad, /* old XAD */
/* validate extent offset */ /* validate extent offset */
offset = xoff << JFS_SBI(ip->i_sb)->l2bsize; offset = xoff << JFS_SBI(ip->i_sb)->l2bsize;
if (offset >= ip->i_size) if (offset >= ip->i_size)
return ESTALE; /* stale extent */ return -ESTALE; /* stale extent */
jfs_info("xtRelocate: xtype:%d xoff:0x%lx xlen:0x%x xaddr:0x%lx:0x%lx", jfs_info("xtRelocate: xtype:%d xoff:0x%lx xlen:0x%x xaddr:0x%lx:0x%lx",
xtype, (ulong) xoff, xlen, (ulong) oxaddr, (ulong) nxaddr); xtype, (ulong) xoff, xlen, (ulong) oxaddr, (ulong) nxaddr);
...@@ -2804,7 +2804,7 @@ xtRelocate(tid_t tid, struct inode * ip, xad_t * oxad, /* old XAD */ ...@@ -2804,7 +2804,7 @@ xtRelocate(tid_t tid, struct inode * ip, xad_t * oxad, /* old XAD */
return rc; return rc;
if (cmp) { if (cmp) {
XT_PUTPAGE(pmp); XT_PUTPAGE(pmp);
return ESTALE; return -ESTALE;
} }
/* retrieve search result */ /* retrieve search result */
...@@ -2814,7 +2814,7 @@ xtRelocate(tid_t tid, struct inode * ip, xad_t * oxad, /* old XAD */ ...@@ -2814,7 +2814,7 @@ xtRelocate(tid_t tid, struct inode * ip, xad_t * oxad, /* old XAD */
xad = &pp->xad[index]; xad = &pp->xad[index];
if (addressXAD(xad) != oxaddr || lengthXAD(xad) != xlen) { if (addressXAD(xad) != oxaddr || lengthXAD(xad) != xlen) {
XT_PUTPAGE(pmp); XT_PUTPAGE(pmp);
return ESTALE; return -ESTALE;
} }
} else { /* (xtype == XTPAGE) */ } else { /* (xtype == XTPAGE) */
...@@ -2824,7 +2824,7 @@ xtRelocate(tid_t tid, struct inode * ip, xad_t * oxad, /* old XAD */ ...@@ -2824,7 +2824,7 @@ xtRelocate(tid_t tid, struct inode * ip, xad_t * oxad, /* old XAD */
return rc; return rc;
if (cmp) { if (cmp) {
XT_PUTPAGE(pmp); XT_PUTPAGE(pmp);
return ESTALE; return -ESTALE;
} }
/* retrieve search result */ /* retrieve search result */
...@@ -3127,7 +3127,7 @@ static int xtSearchNode(struct inode *ip, xad_t * xad, /* required XAD entry */ ...@@ -3127,7 +3127,7 @@ static int xtSearchNode(struct inode *ip, xad_t * xad, /* required XAD entry */
if (rc) if (rc)
return rc; return rc;
if (p->header.flag & BT_LEAF) if (p->header.flag & BT_LEAF)
return ESTALE; return -ESTALE;
lim = le16_to_cpu(p->header.nextindex) - XTENTRYSTART; lim = le16_to_cpu(p->header.nextindex) - XTENTRYSTART;
...@@ -3439,7 +3439,7 @@ s64 xtTruncate(tid_t tid, struct inode *ip, s64 newsize, int flag) ...@@ -3439,7 +3439,7 @@ s64 xtTruncate(tid_t tid, struct inode *ip, s64 newsize, int flag)
getPage: getPage:
XT_GETPAGE(ip, bn, mp, PSIZE, p, rc); XT_GETPAGE(ip, bn, mp, PSIZE, p, rc);
if (rc) if (rc)
return -rc; return rc;
/* process entries backward from last index */ /* process entries backward from last index */
index = le16_to_cpu(p->header.nextindex) - 1; index = le16_to_cpu(p->header.nextindex) - 1;
...@@ -3667,7 +3667,7 @@ s64 xtTruncate(tid_t tid, struct inode *ip, s64 newsize, int flag) ...@@ -3667,7 +3667,7 @@ s64 xtTruncate(tid_t tid, struct inode *ip, s64 newsize, int flag)
bn = parent->bn; bn = parent->bn;
XT_GETPAGE(ip, bn, mp, PSIZE, p, rc); XT_GETPAGE(ip, bn, mp, PSIZE, p, rc);
if (rc) if (rc)
return -rc; return rc;
index = parent->index; index = parent->index;
...@@ -3924,7 +3924,7 @@ s64 xtTruncate_pmap(tid_t tid, struct inode *ip, s64 committed_size) ...@@ -3924,7 +3924,7 @@ s64 xtTruncate_pmap(tid_t tid, struct inode *ip, s64 committed_size)
xoff = (committed_size >> JFS_SBI(ip->i_sb)->l2bsize) - 1; xoff = (committed_size >> JFS_SBI(ip->i_sb)->l2bsize) - 1;
rc = xtSearch(ip, xoff, &cmp, &btstack, 0); rc = xtSearch(ip, xoff, &cmp, &btstack, 0);
if (rc) if (rc)
return -rc; return rc;
assert(cmp == 0); assert(cmp == 0);
XT_GETSEARCH(ip, btstack.top, bn, mp, p, index); XT_GETSEARCH(ip, btstack.top, bn, mp, p, index);
} else { } else {
...@@ -3941,7 +3941,7 @@ s64 xtTruncate_pmap(tid_t tid, struct inode *ip, s64 committed_size) ...@@ -3941,7 +3941,7 @@ s64 xtTruncate_pmap(tid_t tid, struct inode *ip, s64 committed_size)
getPage: getPage:
XT_GETPAGE(ip, bn, mp, PSIZE, p, rc); XT_GETPAGE(ip, bn, mp, PSIZE, p, rc);
if (rc) if (rc)
return -rc; return rc;
/* process entries backward from last index */ /* process entries backward from last index */
index = le16_to_cpu(p->header.nextindex) - 1; index = le16_to_cpu(p->header.nextindex) - 1;
...@@ -3986,7 +3986,7 @@ s64 xtTruncate_pmap(tid_t tid, struct inode *ip, s64 committed_size) ...@@ -3986,7 +3986,7 @@ s64 xtTruncate_pmap(tid_t tid, struct inode *ip, s64 committed_size)
bn = parent->bn; bn = parent->bn;
XT_GETPAGE(ip, bn, mp, PSIZE, p, rc); XT_GETPAGE(ip, bn, mp, PSIZE, p, rc);
if (rc) if (rc)
return -rc; return rc;
index = parent->index; index = parent->index;
...@@ -4311,7 +4311,7 @@ int xtGather(btree_t *t) ...@@ -4311,7 +4311,7 @@ int xtGather(btree_t *t)
bn = parent->bn; bn = parent->bn;
XT_GETPAGE(ip, bn, mp, PSIZE, p, rc); XT_GETPAGE(ip, bn, mp, PSIZE, p, rc);
if (rc) if (rc)
return EIO; return -EIO;
/* first subroot page which /* first subroot page which
* covers all new allocated blocks * covers all new allocated blocks
......
...@@ -85,7 +85,7 @@ int jfs_create(struct inode *dip, struct dentry *dentry, int mode) ...@@ -85,7 +85,7 @@ int jfs_create(struct inode *dip, struct dentry *dentry, int mode)
*/ */
ip = ialloc(dip, mode); ip = ialloc(dip, mode);
if (ip == NULL) { if (ip == NULL) {
rc = ENOSPC; rc = -ENOSPC;
goto out2; goto out2;
} }
...@@ -158,8 +158,8 @@ int jfs_create(struct inode *dip, struct dentry *dentry, int mode) ...@@ -158,8 +158,8 @@ int jfs_create(struct inode *dip, struct dentry *dentry, int mode)
out1: out1:
jfs_info("jfs_create: rc:%d", -rc); jfs_info("jfs_create: rc:%d", rc);
return -rc; return rc;
} }
...@@ -193,7 +193,7 @@ int jfs_mkdir(struct inode *dip, struct dentry *dentry, int mode) ...@@ -193,7 +193,7 @@ int jfs_mkdir(struct inode *dip, struct dentry *dentry, int mode)
/* link count overflow on parent directory ? */ /* link count overflow on parent directory ? */
if (dip->i_nlink == JFS_LINK_MAX) { if (dip->i_nlink == JFS_LINK_MAX) {
rc = EMLINK; rc = -EMLINK;
goto out1; goto out1;
} }
...@@ -211,7 +211,7 @@ int jfs_mkdir(struct inode *dip, struct dentry *dentry, int mode) ...@@ -211,7 +211,7 @@ int jfs_mkdir(struct inode *dip, struct dentry *dentry, int mode)
*/ */
ip = ialloc(dip, S_IFDIR | mode); ip = ialloc(dip, S_IFDIR | mode);
if (ip == NULL) { if (ip == NULL) {
rc = ENOSPC; rc = -ENOSPC;
goto out2; goto out2;
} }
...@@ -288,8 +288,8 @@ int jfs_mkdir(struct inode *dip, struct dentry *dentry, int mode) ...@@ -288,8 +288,8 @@ int jfs_mkdir(struct inode *dip, struct dentry *dentry, int mode)
out1: out1:
jfs_info("jfs_mkdir: rc:%d", -rc); jfs_info("jfs_mkdir: rc:%d", rc);
return -rc; return rc;
} }
/* /*
...@@ -300,8 +300,8 @@ int jfs_mkdir(struct inode *dip, struct dentry *dentry, int mode) ...@@ -300,8 +300,8 @@ int jfs_mkdir(struct inode *dip, struct dentry *dentry, int mode)
* PARAMETER: dip - parent inode * PARAMETER: dip - parent inode
* dentry - child directory dentry * dentry - child directory dentry
* *
* RETURN: EINVAL - if name is . or .. * RETURN: -EINVAL - if name is . or ..
* EINVAL - if . or .. exist but are invalid. * -EINVAL - if . or .. exist but are invalid.
* errors from subroutines * errors from subroutines
* *
* note: * note:
...@@ -325,7 +325,7 @@ int jfs_rmdir(struct inode *dip, struct dentry *dentry) ...@@ -325,7 +325,7 @@ int jfs_rmdir(struct inode *dip, struct dentry *dentry)
/* directory must be empty to be removed */ /* directory must be empty to be removed */
if (!dtEmpty(ip)) { if (!dtEmpty(ip)) {
rc = ENOTEMPTY; rc = -ENOTEMPTY;
goto out; goto out;
} }
...@@ -411,7 +411,7 @@ int jfs_rmdir(struct inode *dip, struct dentry *dentry) ...@@ -411,7 +411,7 @@ int jfs_rmdir(struct inode *dip, struct dentry *dentry)
out: out:
jfs_info("jfs_rmdir: rc:%d", rc); jfs_info("jfs_rmdir: rc:%d", rc);
return -rc; return rc;
} }
/* /*
...@@ -497,7 +497,7 @@ int jfs_unlink(struct inode *dip, struct dentry *dentry) ...@@ -497,7 +497,7 @@ int jfs_unlink(struct inode *dip, struct dentry *dentry)
up(&JFS_IP(dip)->commit_sem); up(&JFS_IP(dip)->commit_sem);
up(&JFS_IP(ip)->commit_sem); up(&JFS_IP(ip)->commit_sem);
IWRITE_UNLOCK(ip); IWRITE_UNLOCK(ip);
rc = -new_size; /* We return -rc */ rc = new_size;
goto out1; goto out1;
} }
tblk = tid_to_tblock(tid); tblk = tid_to_tblock(tid);
...@@ -559,8 +559,8 @@ int jfs_unlink(struct inode *dip, struct dentry *dentry) ...@@ -559,8 +559,8 @@ int jfs_unlink(struct inode *dip, struct dentry *dentry)
out1: out1:
free_UCSname(&dname); free_UCSname(&dname);
out: out:
jfs_info("jfs_unlink: rc:%d", -rc); jfs_info("jfs_unlink: rc:%d", rc);
return -rc; return rc;
} }
/* /*
...@@ -585,7 +585,7 @@ int jfs_unlink(struct inode *dip, struct dentry *dentry) ...@@ -585,7 +585,7 @@ int jfs_unlink(struct inode *dip, struct dentry *dentry)
* PARAMETERS: cd - pointer to commit data structure. * PARAMETERS: cd - pointer to commit data structure.
* current inode is the one to truncate. * current inode is the one to truncate.
* *
* RETURN : Errors from subroutines * RETURN: Errors from subroutines
*/ */
s64 commitZeroLink(tid_t tid, struct inode *ip) s64 commitZeroLink(tid_t tid, struct inode *ip)
{ {
...@@ -775,7 +775,7 @@ int jfs_link(struct dentry *old_dentry, ...@@ -775,7 +775,7 @@ int jfs_link(struct dentry *old_dentry,
down(&JFS_IP(ip)->commit_sem); down(&JFS_IP(ip)->commit_sem);
if (ip->i_nlink == JFS_LINK_MAX) { if (ip->i_nlink == JFS_LINK_MAX) {
rc = EMLINK; rc = -EMLINK;
goto out; goto out;
} }
...@@ -813,7 +813,7 @@ int jfs_link(struct dentry *old_dentry, ...@@ -813,7 +813,7 @@ int jfs_link(struct dentry *old_dentry,
up(&JFS_IP(ip)->commit_sem); up(&JFS_IP(ip)->commit_sem);
jfs_info("jfs_link: rc:%d", rc); jfs_info("jfs_link: rc:%d", rc);
return -rc; return rc;
} }
/* /*
...@@ -871,7 +871,7 @@ int jfs_symlink(struct inode *dip, struct dentry *dentry, const char *name) ...@@ -871,7 +871,7 @@ int jfs_symlink(struct inode *dip, struct dentry *dentry, const char *name)
*/ */
ip = ialloc(dip, S_IFLNK | 0777); ip = ialloc(dip, S_IFLNK | 0777);
if (ip == NULL) { if (ip == NULL) {
rc = ENOSPC; rc = -ENOSPC;
goto out2; goto out2;
} }
...@@ -963,7 +963,7 @@ int jfs_symlink(struct inode *dip, struct dentry *dentry, const char *name) ...@@ -963,7 +963,7 @@ int jfs_symlink(struct inode *dip, struct dentry *dentry, const char *name)
if (mp == NULL) { if (mp == NULL) {
dtDelete(tid, dip, &dname, &ino, dtDelete(tid, dip, &dname, &ino,
JFS_REMOVE); JFS_REMOVE);
rc = EIO; rc = -EIO;
goto out3; goto out3;
} }
memcpy(mp->data, name, copy_size); memcpy(mp->data, name, copy_size);
...@@ -981,7 +981,7 @@ int jfs_symlink(struct inode *dip, struct dentry *dentry, const char *name) ...@@ -981,7 +981,7 @@ int jfs_symlink(struct inode *dip, struct dentry *dentry, const char *name)
ip->i_blocks = LBLK2PBLK(sb, xlen); ip->i_blocks = LBLK2PBLK(sb, xlen);
} else { } else {
dtDelete(tid, dip, &dname, &ino, JFS_REMOVE); dtDelete(tid, dip, &dname, &ino, JFS_REMOVE);
rc = ENOSPC; rc = -ENOSPC;
goto out3; goto out3;
} }
} }
...@@ -1028,8 +1028,8 @@ int jfs_symlink(struct inode *dip, struct dentry *dentry, const char *name) ...@@ -1028,8 +1028,8 @@ int jfs_symlink(struct inode *dip, struct dentry *dentry, const char *name)
#endif #endif
out1: out1:
jfs_info("jfs_symlink: rc:%d", -rc); jfs_info("jfs_symlink: rc:%d", rc);
return -rc; return rc;
} }
...@@ -1078,7 +1078,7 @@ int jfs_rename(struct inode *old_dir, struct dentry *old_dentry, ...@@ -1078,7 +1078,7 @@ int jfs_rename(struct inode *old_dir, struct dentry *old_dentry,
*/ */
rc = dtSearch(old_dir, &old_dname, &ino, &btstack, JFS_LOOKUP); rc = dtSearch(old_dir, &old_dname, &ino, &btstack, JFS_LOOKUP);
if (rc || (ino != old_ip->i_ino)) { if (rc || (ino != old_ip->i_ino)) {
rc = ENOENT; rc = -ENOENT;
goto out3; goto out3;
} }
...@@ -1088,26 +1088,26 @@ int jfs_rename(struct inode *old_dir, struct dentry *old_dentry, ...@@ -1088,26 +1088,26 @@ int jfs_rename(struct inode *old_dir, struct dentry *old_dentry,
rc = dtSearch(new_dir, &new_dname, &ino, &btstack, JFS_LOOKUP); rc = dtSearch(new_dir, &new_dname, &ino, &btstack, JFS_LOOKUP);
if (rc == 0) { if (rc == 0) {
if ((new_ip == 0) || (ino != new_ip->i_ino)) { if ((new_ip == 0) || (ino != new_ip->i_ino)) {
rc = ESTALE; rc = -ESTALE;
goto out3; goto out3;
} }
} else if (rc != ENOENT) } else if (rc != -ENOENT)
goto out3; goto out3;
else if (new_ip) { else if (new_ip) {
/* no entry exists, but one was expected */ /* no entry exists, but one was expected */
rc = ESTALE; rc = -ESTALE;
goto out3; goto out3;
} }
if (S_ISDIR(old_ip->i_mode)) { if (S_ISDIR(old_ip->i_mode)) {
if (new_ip) { if (new_ip) {
if (!dtEmpty(new_ip)) { if (!dtEmpty(new_ip)) {
rc = ENOTEMPTY; rc = -ENOTEMPTY;
goto out3; goto out3;
} }
} else if ((new_dir != old_dir) && } else if ((new_dir != old_dir) &&
(new_dir->i_nlink == JFS_LINK_MAX)) { (new_dir->i_nlink == JFS_LINK_MAX)) {
rc = EMLINK; rc = -EMLINK;
goto out3; goto out3;
} }
} else if (new_ip) } else if (new_ip)
...@@ -1145,7 +1145,7 @@ int jfs_rename(struct inode *old_dir, struct dentry *old_dentry, ...@@ -1145,7 +1145,7 @@ int jfs_rename(struct inode *old_dir, struct dentry *old_dentry,
/* free block resources */ /* free block resources */
if ((new_size = commitZeroLink(tid, new_ip)) < 0) { if ((new_size = commitZeroLink(tid, new_ip)) < 0) {
txAbort(tid, 1); /* Marks FS Dirty */ txAbort(tid, 1); /* Marks FS Dirty */
rc = -new_size; /* We return -rc */ rc = new_size;
goto out4; goto out4;
} }
tblk = tid_to_tblock(tid); tblk = tid_to_tblock(tid);
...@@ -1262,7 +1262,7 @@ int jfs_rename(struct inode *old_dir, struct dentry *old_dentry, ...@@ -1262,7 +1262,7 @@ int jfs_rename(struct inode *old_dir, struct dentry *old_dentry,
new_size = xtTruncate_pmap(tid, new_ip, new_size); new_size = xtTruncate_pmap(tid, new_ip, new_size);
if (new_size < 0) { if (new_size < 0) {
txAbort(tid, 1); txAbort(tid, 1);
rc = -new_size; /* We return -rc */ rc = new_size;
} else } else
rc = txCommit(tid, 1, &new_ip, COMMIT_SYNC); rc = txCommit(tid, 1, &new_ip, COMMIT_SYNC);
txEnd(tid); txEnd(tid);
...@@ -1289,7 +1289,7 @@ int jfs_rename(struct inode *old_dir, struct dentry *old_dentry, ...@@ -1289,7 +1289,7 @@ int jfs_rename(struct inode *old_dir, struct dentry *old_dentry,
} }
jfs_info("jfs_rename: returning %d", rc); jfs_info("jfs_rename: returning %d", rc);
return -rc; return rc;
} }
...@@ -1316,7 +1316,7 @@ int jfs_mknod(struct inode *dir, struct dentry *dentry, int mode, dev_t rdev) ...@@ -1316,7 +1316,7 @@ int jfs_mknod(struct inode *dir, struct dentry *dentry, int mode, dev_t rdev)
ip = ialloc(dir, mode); ip = ialloc(dir, mode);
if (ip == NULL) { if (ip == NULL) {
rc = ENOSPC; rc = -ENOSPC;
goto out1; goto out1;
} }
...@@ -1370,7 +1370,7 @@ int jfs_mknod(struct inode *dir, struct dentry *dentry, int mode, dev_t rdev) ...@@ -1370,7 +1370,7 @@ int jfs_mknod(struct inode *dir, struct dentry *dentry, int mode, dev_t rdev)
out: out:
jfs_info("jfs_mknod: returning %d", rc); jfs_info("jfs_mknod: returning %d", rc);
return -rc; return rc;
} }
static struct dentry *jfs_lookup(struct inode *dip, struct dentry *dentry) static struct dentry *jfs_lookup(struct inode *dip, struct dentry *dentry)
...@@ -1393,15 +1393,15 @@ static struct dentry *jfs_lookup(struct inode *dip, struct dentry *dentry) ...@@ -1393,15 +1393,15 @@ static struct dentry *jfs_lookup(struct inode *dip, struct dentry *dentry)
else { else {
if ((rc = if ((rc =
get_UCSname(&key, dentry, JFS_SBI(dip->i_sb)->nls_tab))) get_UCSname(&key, dentry, JFS_SBI(dip->i_sb)->nls_tab)))
return ERR_PTR(-rc); return ERR_PTR(rc);
rc = dtSearch(dip, &key, &inum, &btstack, JFS_LOOKUP); rc = dtSearch(dip, &key, &inum, &btstack, JFS_LOOKUP);
free_UCSname(&key); free_UCSname(&key);
if (rc == ENOENT) { if (rc == -ENOENT) {
d_add(dentry, NULL); d_add(dentry, NULL);
return ERR_PTR(0); return ERR_PTR(0);
} else if (rc) { } else if (rc) {
jfs_err("jfs_lookup: dtSearch returned %d", rc); jfs_err("jfs_lookup: dtSearch returned %d", rc);
return ERR_PTR(-rc); return ERR_PTR(rc);
} }
} }
......
...@@ -182,7 +182,7 @@ int jfs_extendfs(struct super_block *sb, s64 newLVSize, int newLogSize) ...@@ -182,7 +182,7 @@ int jfs_extendfs(struct super_block *sb, s64 newLVSize, int newLogSize)
/* file system cannot be shrinked */ /* file system cannot be shrinked */
if (newFSSize < bmp->db_mapsize) { if (newFSSize < bmp->db_mapsize) {
rc = EINVAL; rc = -EINVAL;
goto out; goto out;
} }
...@@ -315,7 +315,7 @@ int jfs_extendfs(struct super_block *sb, s64 newLVSize, int newLogSize) ...@@ -315,7 +315,7 @@ int jfs_extendfs(struct super_block *sb, s64 newLVSize, int newLogSize)
if (mapSize > t64) { if (mapSize > t64) {
printk(KERN_ERR "jfs_extendfs: mapSize (0x%Lx) > t64 (0x%Lx)\n", printk(KERN_ERR "jfs_extendfs: mapSize (0x%Lx) > t64 (0x%Lx)\n",
(long long) mapSize, (long long) t64); (long long) mapSize, (long long) t64);
rc = EIO; rc = -EIO;
goto error_out; goto error_out;
} }
nblocks = min(t64 - mapSize, XSize); nblocks = min(t64 - mapSize, XSize);
......
...@@ -519,7 +519,7 @@ static int __init init_jfs_fs(void) ...@@ -519,7 +519,7 @@ static int __init init_jfs_fs(void)
metapage_exit(); metapage_exit();
free_slab: free_slab:
kmem_cache_destroy(jfs_inode_cachep); kmem_cache_destroy(jfs_inode_cachep);
return -rc; return rc;
} }
static void __exit exit_jfs_fs(void) static void __exit exit_jfs_fs(void)
......
...@@ -183,7 +183,7 @@ static int ea_write_inline(struct inode *ip, struct jfs_ea_list *ealist, ...@@ -183,7 +183,7 @@ static int ea_write_inline(struct inode *ip, struct jfs_ea_list *ealist,
* used for an inline EA. * used for an inline EA.
*/ */
if (!(ji->mode2 & INLINEEA) && !(ji->ea.flag & DXD_INLINE)) if (!(ji->mode2 & INLINEEA) && !(ji->ea.flag & DXD_INLINE))
return -1; return -EPERM;
DXDsize(ea, size); DXDsize(ea, size);
DXDlength(ea, 0); DXDlength(ea, 0);
...@@ -252,7 +252,7 @@ static int ea_write(struct inode *ip, struct jfs_ea_list *ealist, int size, ...@@ -252,7 +252,7 @@ static int ea_write(struct inode *ip, struct jfs_ea_list *ealist, int size,
rc = dbAlloc(ip, INOHINT(ip), nblocks, &blkno); rc = dbAlloc(ip, INOHINT(ip), nblocks, &blkno);
if (rc) if (rc)
return -rc; return rc;
/* /*
* Now have nblocks worth of storage to stuff into the FEALIST. * Now have nblocks worth of storage to stuff into the FEALIST.
...@@ -513,7 +513,7 @@ static int ea_get(struct inode *inode, struct ea_buffer *ea_buf, int min_size) ...@@ -513,7 +513,7 @@ static int ea_get(struct inode *inode, struct ea_buffer *ea_buf, int min_size)
rc = dbAlloc(inode, INOHINT(inode), (s64) blocks_needed, rc = dbAlloc(inode, INOHINT(inode), (s64) blocks_needed,
&blkno); &blkno);
if (rc) if (rc)
return -rc; return rc;
DXDlength(&ea_buf->new_ea, blocks_needed); DXDlength(&ea_buf->new_ea, blocks_needed);
DXDaddress(&ea_buf->new_ea, blkno); DXDaddress(&ea_buf->new_ea, blkno);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment