patch-2.4.23 linux-2.4.23/fs/jfs/jfs_extent.c
Next file: linux-2.4.23/fs/jfs/jfs_filsys.h
Previous file: linux-2.4.23/fs/jfs/jfs_dtree.c
Back to the patch index
Back to the overall index
- Lines: 130
- Date:
2003-11-28 10:26:21.000000000 -0800
- Orig file:
linux-2.4.22/fs/jfs/jfs_extent.c
- Orig date:
2003-06-13 07:51:37.000000000 -0700
diff -urN linux-2.4.22/fs/jfs/jfs_extent.c linux-2.4.23/fs/jfs/jfs_extent.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) International Business Machines Corp., 2000-2002
+ * Copyright (C) International Business Machines Corp., 2000-2003
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -18,6 +18,7 @@
#include <linux/fs.h>
#include "jfs_incore.h"
+#include "jfs_superblock.h"
#include "jfs_dmap.h"
#include "jfs_extent.h"
#include "jfs_debug.h"
@@ -83,8 +84,8 @@
*
* RETURN VALUES:
* 0 - success
- * EIO - i/o error.
- * ENOSPC - insufficient disk resources.
+ * -EIO - i/o error.
+ * -ENOSPC - insufficient disk resources.
*/
int
extAlloc(struct inode *ip, s64 xlen, s64 pno, xad_t * xp, boolean_t abnr)
@@ -208,8 +209,8 @@
*
* RETURN VALUES:
* 0 - success
- * EIO - i/o error.
- * ENOSPC - insufficient disk resources.
+ * -EIO - i/o error.
+ * -ENOSPC - insufficient disk resources.
*/
int extRealloc(struct inode *ip, s64 nxlen, xad_t * xp, boolean_t abnr)
{
@@ -351,7 +352,7 @@
*
* RETURN VALUES:
* 0 - success
- * EIO - i/o error.
+ * -EIO - i/o error.
*/
int extHint(struct inode *ip, s64 offset, xad_t * xp)
{
@@ -404,8 +405,10 @@
*/
xp->flag &= XAD_NOTRECORDED;
- assert(xadl.nxad == 1);
- assert(lengthXAD(xp) == nbperpage);
+ if(xadl.nxad != 1 || lengthXAD(xp) != nbperpage) {
+ jfs_error(ip->i_sb, "extHint: corrupt xtree");
+ return -EIO;
+ }
return (0);
}
@@ -422,8 +425,8 @@
*
* RETURN VALUES:
* 0 - success
- * EIO - i/o error.
- * ENOSPC - insufficient disk resources.
+ * -EIO - i/o error.
+ * -ENOSPC - insufficient disk resources.
*/
int extRecord(struct inode *ip, xad_t * xp)
{
@@ -437,7 +440,7 @@
rc = xtUpdate(0, ip, xp);
up(&JFS_IP(ip)->commit_sem);
- return (rc);
+ return rc;
}
@@ -454,8 +457,8 @@
*
* RETURN VALUES:
* 0 - success
- * EIO - i/o error.
- * ENOSPC - insufficient disk resources.
+ * -EIO - i/o error.
+ * -ENOSPC - insufficient disk resources.
*/
int extFill(struct inode *ip, xad_t * xp)
{
@@ -506,8 +509,8 @@
*
* RETURN VALUES:
* 0 - success
- * EIO - i/o error.
- * ENOSPC - insufficient disk resources.
+ * -EIO - i/o error.
+ * -ENOSPC - insufficient disk resources.
*/
static int
extBalloc(struct inode *ip, s64 hint, s64 * nblocks, s64 * blkno)
@@ -536,7 +539,7 @@
/* if something other than an out of space error,
* stop and return this error.
*/
- if (rc != ENOSPC)
+ if (rc != -ENOSPC)
return (rc);
/* decrease the allocation request size */
@@ -597,8 +600,8 @@
*
* RETURN VALUES:
* 0 - success
- * EIO - i/o error.
- * ENOSPC - insufficient disk resources.
+ * -EIO - i/o error.
+ * -ENOSPC - insufficient disk resources.
*/
static int
extBrealloc(struct inode *ip,
@@ -611,7 +614,7 @@
*newblkno = blkno;
return (0);
} else {
- if (rc != ENOSPC)
+ if (rc != -ENOSPC)
return (rc);
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)