-
- Downloads
ocfs2: Make ocfs2_extent_tree the first-class representation of a tree.
We now have three different kinds of extent trees in ocfs2: inode data (dinode), extended attributes (xattr_tree), and extended attribute values (xattr_value). There is a nice abstraction for them, ocfs2_extent_tree, but it is hidden in alloc.c. All the calling functions have to pick amongst a varied API and pass in type bits and often extraneous pointers. A better way is to make ocfs2_extent_tree a first-class object. Everyone converts their object to an ocfs2_extent_tree() via the ocfs2_get_*_extent_tree() calls, then uses the ocfs2_extent_tree for all tree calls to alloc.c. This simplifies a lot of callers, making for readability. It also provides an easy way to add additional extent tree types, as they only need to be defined in alloc.c with a ocfs2_get_<new>_extent_tree() function. Signed-off-by:Joel Becker <joel.becker@oracle.com> Signed-off-by:
Mark Fasheh <mfasheh@suse.com>
Showing
- fs/ocfs2/alloc.c 90 additions, 210 deletionsfs/ocfs2/alloc.c
- fs/ocfs2/alloc.h 62 additions, 49 deletionsfs/ocfs2/alloc.h
- fs/ocfs2/aops.c 10 additions, 6 deletionsfs/ocfs2/aops.c
- fs/ocfs2/dir.c 12 additions, 8 deletionsfs/ocfs2/dir.c
- fs/ocfs2/file.c 22 additions, 14 deletionsfs/ocfs2/file.c
- fs/ocfs2/suballoc.c 5 additions, 7 deletionsfs/ocfs2/suballoc.c
- fs/ocfs2/suballoc.h 2 additions, 4 deletionsfs/ocfs2/suballoc.h
- fs/ocfs2/xattr.c 37 additions, 34 deletionsfs/ocfs2/xattr.c
Loading
Please register or sign in to comment