This is most of the recent I/O path work, multiple blocksize is there
except for the metadata part. This is mostly so I can take a stab at
2.5.17.
Date: Tue May 21 12:57:45 PDT 2002
Workarea: jen.americas.sgi.com:/src/lord/xfs-linux.2.5
Merged by: lord
Merged mods:
2.4.x-xfs:slinx:117475a,2.4.x-xfs:slinx:117494a,2.4.x-xfs:slinx:117627a
2.4.x-xfs:slinx:117662a,2.4.x-xfs:slinx:117771a
2.4.x-xfs:slinx:117794a,2.4.x-xfs:slinx:117799a
2.4.x-xfs:slinx:118016a,2.4.x-xfs:slinx:118747a
2.4.x-xfs:slinx:119308a,2.4.x-xfs:slinx:119337a
2.4.x-xfs:slinx:119372a,2.4.x-xfs:slinx:119403a
2.4.x-xfs:slinx:119446a,2.4.x-xfs:slinx:119541a
2.4.x-xfs:slinx:119561a,2.4.x-xfs:slinx:119562a
The following file(s) were checked into:
bonnie.engr.sgi.com:/isms/slinx/2.5.x-xfs
Modid: 2.5.x-xfs:slinx:119753a
linux/mm/vmscan.c - 1.99
- Merge of 2.4.x-xfs:slinx:119308a originally by lord on 05/16/02
Remove xfs changes to this file
linux/mm/filemap.c - 1.118
- Merge of 2.4.x-xfs:slinx:119308a originally by lord on 05/16/02
Remove a BUG check for delalloc which is no longer needed, clear
PG_delalloc when unlocking a page.
Merge of 2.4.x-xfs:slinx:119337a originally by lord on 05/16/02
Use macro to clear PG_delalloc rather than doing it directly
linux/kernel/ksyms.c - 1.144
- Merge of 2.4.x-xfs:slinx:119308a originally by lord on 05/16/02
remove some exports no longer needed by xfs
linux/include/linux/mm.h - 1.87
- Merge of 2.4.x-xfs:slinx:119308a originally by lord on 05/16/02
define PageDelalloc differently
Merge of 2.4.x-xfs:slinx:119337a originally by lord on 05/16/02
Add macro to clear PG_delalloc
linux/fs/buffer.c - 1.120
- Merge of 2.4.x-xfs:slinx:119308a originally by lord on 05/16/02
Simplify delayed buffer handling, when flushing a delayed buffer,
set the delalloc flag on the page.
linux/fs/Config.in - 1.86
- Merge of 2.4.x-xfs:slinx:119561a originally by lord on 05/20/02
Fix up dmapi config flags
linux/fs/xfs/xfs_vnodeops.c - 1.526
- Merge of 2.4.x-xfs:slinx:119308a originally by lord on 05/16/02
remove some vops
Merge of 2.4.x-xfs:slinx:119562a originally by lord on 05/20/02
remove sethole vop
linux/fs/xfs/xfs_iocore.c - 1.29
- Merge of 2.4.x-xfs:slinx:119308a originally by lord on 05/16/02
Some inode size manipulation changes
linux/fs/xfs/xfs_mount.c - 1.283
- Merge of 2.4.x-xfs:slinx:119308a originally by lord on 05/16/02
Allow in filesystems with a blocksize of less than a page
linux/fs/xfs/xfs_attr.c - 1.90
- Merge of 2.4.x-xfs:slinx:118747a originally by lord on 05/09/02
fix space reservation calculation for out of line extended attributes.
linux/fs/xfs/linux/xfs_lrw.h - 1.20
- Merge of 2.4.x-xfs:slinx:119308a originally by lord on 05/16/02
remove prototypes for page VOPs, they are gone
linux/fs/xfs/linux/xfs_lrw.c - 1.135
- Merge of 2.4.x-xfs:slinx:119308a originally by lord on 05/16/02
Some fixups for multiple block size support, and always use the
generic
read path.
Merge of 2.4.x-xfs:slinx:119372a originally by nathans on 05/16/02
remove use of several xs_attr stats variables here - these crept in
during
the blocksize code merge, unintentionally.
Merge of 2.4.x-xfs:slinx:119446a originally by lord on 05/17/02
Pass info on the expected new file size down to the allocator
Merge of 2.4.x-xfs:slinx:119562a originally by lord on 05/20/02
remove a large chunk of dead code
linux/fs/xfs/linux/xfs_fs_subr.c - 1.29
- Merge of 2.4.x-xfs:slinx:119562a originally by lord on 05/20/02
remove fs_pages_sethole - we no longer have a way to call it anyway
linux/fs/xfs/linux/xfs_super.c - 1.178
- Merge of 2.4.x-xfs:slinx:119308a originally by lord on 05/16/02
Set s_blocksize based on filesystem blocksize, not always 512
linux/fs/xfs/linux/xfs_iops.c - 1.139
- Merge of 2.4.x-xfs:slinx:117799a originally by lord on 04/30/02
Fix writepage for the case of unmapped buffer heads from mmap write,
and
writepage and release page checks in the variable blocksize case.
Merge of 2.4.x-xfs:slinx:119308a originally by lord on 05/16/02
Move towards using the generic I/O path code more, add a getblock
function to pass to the generic prepare write and direct I/O code.
Merge of 2.4.x-xfs:slinx:119403a originally by nathans on 05/16/02
linvfs_get_block_core is STATIC; + play code consistency fairy.
Merge of 2.4.x-xfs:slinx:119446a originally by lord on 05/17/02
Add getblock case for passing O_SYNC information down to the
allocator,
don't just use 64K as the default preallocation size.
Merge of 2.4.x-xfs:slinx:119562a originally by lord on 05/20/02
Pay more attention to buffer_uptodate state.
linux/fs/xfs/linux/xfs_ioctl.c - 1.62
- Merge of 2.4.x-xfs:slinx:119308a originally by lord on 05/16/02
For direct I/O alignment, report the fs blocksize, not 512 bytes as
the
required alignment.
linux/kdb/modules/kdbm_pg.c - 1.58
- Merge of 2.4.x-xfs:slinx:119308a originally by lord on 05/16/02
fixup a few bugs
linux/fs/xfs/linux/xfs_vnode.h - 1.32
- Merge of 2.4.x-xfs:slinx:119308a originally by lord on 05/16/02
Remove some VOPs and fix VN_DIRTY test
Merge of 2.4.x-xfs:slinx:119562a originally by lord on 05/20/02
remove VOP_PAGES_SETHOLE - it is not used
linux/fs/xfs/linux/xfs_fs_subr.h - 1.5
- Merge of 2.4.x-xfs:slinx:119562a originally by lord on 05/20/02
remove fs_pages_sethole
linux/fs/xfs/pagebuf/page_buf_io.c - 1.29
- Merge of 2.4.x-xfs:slinx:117475a originally by lord on 04/25/02
put back a fix that went missing, and fix a small memory leak in
large (512K+) direct I/O.
Merge of 2.4.x-xfs:slinx:117494a originally by nathans on 04/25/02
last change dropped initialization of "head", add it back.
Merge of 2.4.x-xfs:slinx:117627a originally by nathans on 04/27/02
add a check to map match routine to ensure we don't attempt to match a
buffer before the map starts; deadlock fixup for multiple blocksizes
only; ensure map_page can propogate bmap errors back out; refined the
submit_page_io test to only skip non-dirty uptodate pages to get some
write performance back at Steve's suggestion.
Merge of 2.4.x-xfs:slinx:117794a originally by nathans on 04/29/02
ensure page index -> offset calculation done in 64 bits to prevent
falsely tripping __pb_match_offset_to_mapping BUG test with large
offsets.
Merge of 2.4.x-xfs:slinx:117799a originally by lord on 04/30/02
Add support for clustering pages written via mmap write - massive
speedup in the case of heavy mmap write pressure.
Merge of 2.4.x-xfs:slinx:118016a originally by nathans on 05/01/02
fix remaining issues in cluster_write for multiple blocksize support.
Merge of 2.4.x-xfs:slinx:119308a originally by lord on 05/16/02
major brain surgery, rework delalloc conversion for multiple blocksize
case again. Remove remainder of read path, and basically make the
write
path use the generic code for buffered - a copy of it for now.
Merge of 2.4.x-xfs:slinx:119372a originally by nathans on 05/16/02
add in several missing uses of STATIC; fix up a few comment typos or
now
out-of-date comments; make 1st 4/5 functions declarations consistent
with
the rest of the file.
Merge of 2.4.x-xfs:slinx:119446a originally by lord on 05/17/02
pass file pointer into prepare and commit write so they can get
O_SYNC information.
Merge of 2.4.x-xfs:slinx:119562a originally by lord on 05/20/02
If a buffer is not uptodate, then we are definitely not supposed to
put an extent underneath it.
linux/fs/xfs/pagebuf/page_buf.c - 1.20
- Merge of 2.4.x-xfs:slinx:117627a originally by nathans on 04/27/02
initial attempt at supporting multiple block sizes on the metadata
path.
lots of new code which is only executed for non-pagesized
filesystems, so
should be no change for pagesize case. had to move a few chunks of
code
around to allow some bit sharing, but shouldn't be any ill
side-effects.
Merge of 2.4.x-xfs:slinx:117662a originally by nathans on 04/28/02
move the block number calculation outside the loop for >pgize
blocksizes;
also fix up locking of buffer_heads in here.
Merge of 2.4.x-xfs:slinx:117771a originally by nathans on 04/29/02
tidy up some of the new multiple blocksize code paths, fix an
inconsistent
block number calculation along the way causing occasional log
corruption.
Merge of 2.4.x-xfs:slinx:119308a originally by lord on 05/16/02
Fixes for metadata ops on blocksize less than a pagesize.
Merge of 2.4.x-xfs:slinx:119541a originally by lord on 05/20/02
Use lock_page instead of a homebrew alternative
linux/fs/xfs/pagebuf/page_buf.h - 1.12
- Merge of 2.4.x-xfs:slinx:119308a originally by lord on 05/16/02
prototype removal for dead code
linux/fs/xfs/pagebuf/page_buf_internal.h - 1.4
- Merge of 2.4.x-xfs:slinx:117627a originally by nathans on 04/27/02
move page_buffers macros in here for sharing, recant on need for
offset
match/map routines on metadata path.
Merge of 2.4.x-xfs:slinx:119308a originally by lord on 05/16/02
remove unused defines
Modid: 2.5.x-xfs:slinx:119746a
linux/fs/xfs/linux/xfs_lrw.c - 1.136
- Merge of 2.4.x-xfs:slinx:119746a by lord.
Pass the pbtarget into the bmap structure rather than the dev_t
linux/fs/xfs/linux/xfs_iops.c - 1.140
- Merge of 2.4.x-xfs:slinx:119746a by lord.
Make XFS do more of direct I/O itself, we work with the kiobuf mapped
by the generic direct I/O path, but do not go via the bottom of
the generic direct code anymore - it cannot cope with a realtime
subvolume.
linux/fs/xfs/pagebuf/page_buf_io.c - 1.30
- Merge of 2.4.x-xfs:slinx:119746a by lord.
The bmap structure now contains a pb_target not a dev_t
linux/fs/xfs/pagebuf/page_buf.c - 1.21
linux/fs/xfs/pagebuf/page_buf.h - 1.13
- Merge of 2.4.x-xfs:slinx:119746a by lord.
make the pb_bmap contain a pb_target
|