Christoph Hellwig 28e211700a xfs: fix getbmap vs mmap deadlock
xfs_getbmap (or rather the formatters called by it) copy out the getbmap
structures under the ilock, which can deadlock against mmap.  This has
been reported via bugzilla a while ago (#717) and has recently also
shown up via lockdep.

So allocate a temporary buffer to format the kernel getbmap structures
into and then copy them out after dropping the locks.

A little problem with this is that we limit the number of extents we
can copy out by the maximum allocation size, but I see no real way
around that.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Felix Blyakher <felixb@sgi.com>
Signed-off-by: Felix Blyakher <felixb@sgi.com>
2009-04-30 00:29:02 -05:00
..
2009-04-01 08:59:23 -07:00
2009-01-22 13:15:57 +03:00
2009-01-22 13:15:57 +03:00
2009-01-22 13:15:58 +03:00
2009-04-01 08:59:23 -07:00
2009-01-22 13:15:57 +03:00
2009-03-27 14:44:01 -04:00
2009-01-22 13:15:58 +03:00
2008-11-14 10:39:25 +11:00
2009-03-27 17:20:40 -04:00
2009-03-22 11:28:37 -07:00
2009-04-01 13:28:15 -04:00
2009-04-01 13:28:15 -04:00
2008-10-17 02:38:36 +11:00
2009-03-27 14:44:05 -04:00
2009-01-22 13:15:58 +03:00
2009-01-22 13:15:59 +03:00
2009-01-22 13:15:59 +03:00
2009-04-30 00:29:02 -05:00
2009-03-27 14:44:03 -04:00
2008-12-31 18:07:43 -05:00
2009-01-03 11:45:54 -08:00
2009-02-06 17:34:07 -08:00
2009-03-27 14:44:03 -04:00
2009-03-28 17:30:00 -07:00
2009-03-27 14:43:57 -04:00
2009-03-27 14:44:05 -04:00
2009-03-28 17:30:00 -07:00
2009-03-28 17:30:00 -07:00
2009-03-16 08:34:35 -06:00
2009-02-18 15:37:53 -08:00