X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Fqnx4%2Finode.c;h=664bb14649aeb4d98b386d0ae8144b22d8fa8558;hb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;hp=19b7d5a053e1968963333f1bc315226744b2ce89;hpb=a2c21200f1c81b08cb55e417b68150bba439b646;p=linux-2.6.git diff --git a/fs/qnx4/inode.c b/fs/qnx4/inode.c index 19b7d5a05..664bb1464 100644 --- a/fs/qnx4/inode.c +++ b/fs/qnx4/inode.c @@ -78,7 +78,7 @@ static void qnx4_write_super(struct super_block *sb) unlock_kernel(); } -static void qnx4_write_inode(struct inode *inode, int unused) +static int qnx4_write_inode(struct inode *inode, int unused) { struct qnx4_inode_entry *raw_inode; int block, ino; @@ -87,12 +87,12 @@ static void qnx4_write_inode(struct inode *inode, int unused) QNX4DEBUG(("qnx4: write inode 1.\n")); if (inode->i_nlink == 0) { - return; + return 0; } if (!ino) { printk("qnx4: bad inode number on dev %s: %d is out of range\n", inode->i_sb->s_id, ino); - return; + return -EIO; } QNX4DEBUG(("qnx4: write inode 2.\n")); block = ino / QNX4_INODES_PER_BLOCK; @@ -101,7 +101,7 @@ static void qnx4_write_inode(struct inode *inode, int unused) printk("qnx4: major problem: unable to read inode from dev " "%s\n", inode->i_sb->s_id); unlock_kernel(); - return; + return -EIO; } raw_inode = ((struct qnx4_inode_entry *) bh->b_data) + (ino % QNX4_INODES_PER_BLOCK); @@ -117,6 +117,7 @@ static void qnx4_write_inode(struct inode *inode, int unused) mark_buffer_dirty(bh); brelse(bh); unlock_kernel(); + return 0; } #endif @@ -544,7 +545,7 @@ static int init_inodecache(void) { qnx4_inode_cachep = kmem_cache_create("qnx4_inode_cache", sizeof(struct qnx4_inode_info), - 0, SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT, + 0, SLAB_RECLAIM_ACCOUNT, init_once, NULL); if (qnx4_inode_cachep == NULL) return -ENOMEM;