public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
* TAKE 972757 - Fix transaction overrun during writeback.
@ 2007-11-02  1:56 David Chinner
  0 siblings, 0 replies; only message in thread
From: David Chinner @ 2007-11-02  1:56 UTC (permalink / raw)
  To: sgi.bugs.xfs; +Cc: xfs

Fix transaction overrun during writeback.

Prevent transaction overrun in xfs_iomap_write_allocate() if we
race with a truncate that overlaps the delalloc range we were
planning to allocate.

If we race, we may allocate into a hole and that requires block
allocation. At this point in time we don't have a reservation for
block allocation (apart from metadata blocks) and so allocating
into a hole rather than a delalloc region results in overflowing
the transaction block reservation.

Fix it by only allowing a single extent to be allocated at a
time.


Date:  Fri Nov  2 12:56:36 AEDT 2007
Workarea:  chook.melbourne.sgi.com:/build/dgc/isms/2.6.x-xfs
Inspected by:  lachlan@sgi.com

The following file(s) were checked into:
  longdrop.melbourne.sgi.com:/isms/linux/2.6.x-xfs-melb


Modid:  xfs-linux-melb:xfs-kern:30005a
fs/xfs/xfs_iomap.c - 1.60 - changed
http://oss.sgi.com/cgi-bin/cvsweb.cgi/xfs-linux/xfs_iomap.c.diff?r1=text&tr1=1.60&r2=text&tr2=1.59&f=h
	- Only allow xfs_iomap_write_allocate to allocate a single extent at a
	  time to prevent races with truncate from causing unreserved allocation
	  and hence transaction overruns.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2007-11-02  1:57 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-02  1:56 TAKE 972757 - Fix transaction overrun during writeback David Chinner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox