[Ocfs2-tools-commits] zab commits r897 - trunk/libocfs2
svn-commits at oss.oracle.com
svn-commits at oss.oracle.com
Wed May 18 17:15:03 CDT 2005
Author: zab
Date: 2005-05-18 17:15:01 -0500 (Wed, 18 May 2005)
New Revision: 897
Modified:
trunk/libocfs2/alloc.c
Log:
o teach ocfs2_delete_inode() to understand the magically delicious -1
di->i_suballoc_node which directs it to the global system allocator.
Modified: trunk/libocfs2/alloc.c
===================================================================
--- trunk/libocfs2/alloc.c 2005-05-18 04:08:42 UTC (rev 896)
+++ trunk/libocfs2/alloc.c 2005-05-18 22:15:01 UTC (rev 897)
@@ -277,6 +277,7 @@
char *buf;
ocfs2_dinode *di;
int node;
+ ocfs2_cached_inode **inode_alloc;
ret = ocfs2_malloc_block(fs->fs_io, &buf);
if (ret)
@@ -288,14 +289,17 @@
di = (ocfs2_dinode *)buf;
node = di->i_suballoc_node;
- ret = ocfs2_load_allocator(fs, INODE_ALLOC_SYSTEM_INODE,
- node,
- &fs->fs_inode_allocs[node]);
+ if (node == -1)
+ inode_alloc = &fs->fs_system_inode_alloc;
+ else
+ inode_alloc = &fs->fs_inode_allocs[node];
+
+ ret = ocfs2_load_allocator(fs, INODE_ALLOC_SYSTEM_INODE, node,
+ inode_alloc);
if (ret)
goto out;
- ret = ocfs2_chain_free_with_io(fs, fs->fs_inode_allocs[node],
- ino);
+ ret = ocfs2_chain_free_with_io(fs, *inode_alloc, ino);
if (ret)
goto out;
More information about the Ocfs2-tools-commits
mailing list