patch-2.4.23 linux-2.4.23/fs/jfs/xattr.c
Next file: linux-2.4.23/fs/lockd/svc4proc.c
Previous file: linux-2.4.23/fs/jfs/super.c
Back to the patch index
Back to the overall index
- Lines: 68
- Date:
2003-11-28 10:26:21.000000000 -0800
- Orig file:
linux-2.4.22/fs/jfs/xattr.c
- Orig date:
2002-11-28 15:53:15.000000000 -0800
diff -urN linux-2.4.22/fs/jfs/xattr.c linux-2.4.23/fs/jfs/xattr.c
@@ -1,6 +1,6 @@
/*
- * Copyright (c) International Business Machines Corp., 2000-2002
- * Copyright (c) Christoph Hellwig, 2002
+ * Copyright (C) International Business Machines Corp., 2000-2003
+ * Copyright (C) Christoph Hellwig, 2002
*
* 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
@@ -20,6 +20,7 @@
#include <linux/fs.h>
#include <linux/xattr.h>
#include "jfs_incore.h"
+#include "jfs_superblock.h"
#include "jfs_dmap.h"
#include "jfs_debug.h"
#include "jfs_dinode.h"
@@ -182,7 +183,7 @@
* used for an inline EA.
*/
if (!(ji->mode2 & INLINEEA) && !(ji->ea.flag & DXD_INLINE))
- return -1;
+ return -EPERM;
DXDsize(ea, size);
DXDlength(ea, 0);
@@ -252,7 +253,7 @@
rc = dbAlloc(ip, INOHINT(ip), nblocks, &blkno);
if (rc)
- return -rc;
+ return rc;
/*
* Now have nblocks worth of storage to stuff into the FEALIST.
@@ -381,7 +382,10 @@
return ea_read_inline(ip, ealist);
nbytes = sizeDXD(&ji->ea);
- assert(nbytes);
+ if (!nbytes) {
+ jfs_error(sb, "ea_read: nbytes is 0");
+ return -EIO;
+ }
/*
* Figure out how many blocks were allocated when this EA list was
@@ -477,7 +481,10 @@
}
current_blocks = 0;
} else {
- assert(ji->ea.flag & DXD_EXTENT);
+ if (!(ji->ea.flag & DXD_EXTENT)) {
+ jfs_error(sb, "ea_get: invalid ea.flag)");
+ return -EIO;
+ }
current_blocks = (ea_size + sb->s_blocksize - 1) >>
sb->s_blocksize_bits;
}
@@ -513,7 +520,7 @@
rc = dbAlloc(inode, INOHINT(inode), (s64) blocks_needed,
&blkno);
if (rc)
- return -rc;
+ return rc;
DXDlength(&ea_buf->new_ea, blocks_needed);
DXDaddress(&ea_buf->new_ea, blkno);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)