[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

TAKE - push a lot of 2.4 changes into the 2.5 tree



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