A hole in the logic for dealing with holes in the file when we write
beyond end of file was causing an ld command in the middle of building
libc to generate a bad file. With this change I have been able to build
the glibc rpms from the source rpm with all the directories (including
/var/tmp) within XFS.
Just for grins here are the xfs statistics after doing that:
XFS Statistics
Extent Allocation Tail-Pushing Stats
xs_allocx............ 17758 xs_sleep_logspace..... 0
xs_allocb............ 122120 xs_try_logspace....... 244726
xs_freex............. 32745 xs_push_ail........... 780
xs_freeb............. 225239 xs_push_ail_success... 7166
Allocation Btree xs_push_ail_pushbuf... 1481463
xs_abt_lookup........ 150422 xs_push_ail_pinned.... 0
xs_abt_compare....... 745883 xs_push_ail_locked.... 82
xs_abt_insrec........ 58848 xs_push_ail_flushing.. 0
xs_abt_delrec........ 58214 xs_push_ail_restarts.. 194
Block Mapping xs_push_ail_flush..... 0
xs_blk_mapr.......... 976136 IoMap Write Convert
xs_blk_mapw.......... 49261 xs_xstrat_bytes....... 71086080
xs_blk_unmap......... 50270 xs_xstrat_quick....... 17355
xs_add_exlist........ 49259 xs_xstrat_split....... 0
xs_del_exlist........ 50413 Read/Write Stats
xs_look_exlist....... 1076236 xs_write_calls........ 98214
xs_cmp_exlist........ 764010 xs_write_bytes........ 465316212
Block Map Btree xs_read_calls......... 678025
xs_bmbt_lookup....... 212 xs_read_bytes......... 9041857539
xs_bmbt_compare...... 1222 Attribute Operations
xs_bmbt_insrec....... 34 xs_attr_get........... 0
xs_bmbt_delrec....... 171 xs_attr_set........... 0
Directory Operations xs_attr_remove........ 0
xs_dir_lookup........ 98153 xs_attr_list.......... 0
xs_dir_create........ 21707 Quota Operations
xs_dir_remove........ 37030 xs_qm_dqreclaims...... 0
xs_dir_getdents...... 68763 xs_qm_dqreclaim_misses 0
Transactions xs_qm_dquot_dups...... 0
xs_trans_sync........ 32355 xs_qm_dqcachemisses... 0
xs_trans_async....... 187736 xs_qm_dqcachehit...... 0
xs_trans_empty....... 24640 xs_qm_dqwants......... 0
Inode Operations xs_qm_dqshake_reclaims 0
xs_ig_attempts....... 56632 xs_qm_dqinact_reclaims 0
xs_ig_found.......... 9068 Inode Clustering
xs_ig_frecycle....... 0 xs_iflush_count....... 58801
xs_ig_missed......... 47564 xs_icluster_flushcnt.. 15414
xs_ig_dup............ 0 xs_icluster_flushinode 94357
xs_ig_reclaims....... 37692 Vnode Statistics
xs_ig_attrchg........ 38018 vn_active............. 15
Log Operations vn_alloc.............. 47850
xs_log_writes........ 35702 vn_get................ 8782
xs_log_blocks........ 692042 vn_hold............... 146480
xs_log_noiclogs...... 167 vn_rele............... 149138
xs_log_force......... 32929 vn_reclaim............ 47835
xs_log_force_sleep... 32369 vn_remove............. 47835
vn_free............... 0
Date: Wed Jun 7 12:27:32 PDT 2000
Workarea: jen.cray.com:/src/lord/xfs-linux
The following file(s) were checked into:
bonnie.engr.sgi.com:/isms/slinx/2.3.99pre2-xfs
Modid: 2.3.99pre2-xfs:slinx:63584a
linux/fs/page_buf.c - 1.107
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/fs/page_buf.c.diff?r1=text&tr1=1.107&r2=text&tr2=1.106&f=h
- expand pagebuf_iozero to update page flags and pagebuf flags
as it modifies things.
linux/fs/xfs/linux/xfs_lrw.c - 1.49
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/fs/xfs/linux/xfs_lrw.c.diff?r1=text&tr1=1.49&r2=text&tr2=1.48&f=h
- Turn back on xfs_zero_eof for delwri extents - we need to cover delwri
extents before the end of the file with pages.
|