Fix xfs_da_node_split handling of dir/attr buffers for filesystems built
with a directory block size larger than the filesystem (and hence attr)
blocksize. This does not affect filesystems built with default mkfs.xfs
parameters, and only hits when a large number of attributes are set on
an inode.
Date: Thu Sep 19 22:03:21 PDT 2002
Workarea: snort.melbourne.sgi.com:/home/nathans/pagebuf
The following file(s) were checked into:
bonnie.engr.sgi.com:/isms/slinx/2.4.x-xfs
Modid: 2.4.x-xfs:slinx:127949a
linux/fs/xfs/xfsidbg.c - 1.197
linux/fs/xfs/xfs_macros.c - 1.44
linux/fs/xfs/xfs_da_btree.c - 1.132
linux/fs/xfs/xfs_da_btree.h - 1.48
linux/fs/xfs/xfs_dir.c - 1.140
linux/fs/xfs/xfs_mount.h - 1.156
linux/fs/xfs/xfs_dir2_node.c - 1.25
linux/fs/xfs/xfs_attr.c - 1.95
linux/fs/xfs/xfs_dir2.c - 1.37
- Fix a problem in the dabuf (dir/attr buffer) layer which deals with
calculating when a block should be split in two. Previously there was
only one constant used in the test. When V2 directories have a block
size larger than the fs block size, the constant is too large for
extended attributes. So, replace this constant with two, and make the
dabuf code use the correct one based upon being used for attributes or
directories.
|