xfs
[Top] [All Lists]

TAKE - reduce XFS_DIR2_MAX_DATAPTR

To: unlisted-recipients:; (no To-header on input)
Subject: TAKE - reduce XFS_DIR2_MAX_DATAPTR
From: Eric Sandeen <eric@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 1 Nov 2000 18:47:19 -0600
Sender: owner-linux-xfs@xxxxxxxxxxx
On leaf directories, xfs_dir2_leaf_getdents() always returns
XFS_DIR2_MAX_DATAPTR (0xffffffff) as the last offset, and this 
overflows the signed 32 bit dp->d_off in newer glibc's with getdents64().

Changing XFS_DIR2_MAX_DATAPTR to 0x7fffffff (unsetting the sign bit)
solves this, if not elegantly.  It also reduces the maximum
directory size from ~4G to ~2G.

There may be a better way to fix this in glibc, rather than in XFS,
but this should suffice for now.

Date:  Mon Oct 30 17:30:52 PST 2000
Workarea:  eric1.austin.sgi.com:/home/eric/xfs/workarea-clean

The following file(s) were checked into:
  bonnie.engr.sgi.com:/isms/slinx/2.4.x-xfs


Modid:  2.4.x-xfs:slinx:77184a
linux/fs/xfs/xfs_dir2.c - 1.26
        - Removed unused reclen variable & assignment


Subject: TAKE - 

Date:  Wed Nov  1 16:38:12 PST 2000
Workarea:  eric1.austin.sgi.com:/home/eric/xfs/workarea-clean

The following file(s) were checked into:
  bonnie.engr.sgi.com:/isms/slinx/2.4.x-xfs


Modid:  2.4.x-xfs:slinx:77348a
linux/fs/xfs/xfs_dir2_leaf.h - 1.7
        - Change XFS_DIR2_MAX_DATAPTR to avoid glibc overflow in getdents64



<Prev in Thread] Current Thread [Next in Thread>
  • TAKE - reduce XFS_DIR2_MAX_DATAPTR, Eric Sandeen <=