* 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