linux/fs/exofs
Idan Kedar af402ab2b0 exofs: clean up the correct page collection on write error
if ore_write() fails, we would unlock the pages of pcol, which is now
empty, rather than pcol_copy which owns the pages when ore_write() is
called. this means that no pages will actually be unlocked
(pcol.nr_pages == 0) and the writing process (more accurately, the
syncing process) will hang waiting for a writeback notification that
never comes.

moreover, if ore_write() fails, pcol_free() is called for pcol, whereas
pcol_copy is the object owning the ore_io_state, thus leaking the
ore_io_state.

[Boaz]
I have simplified Idan's original patch a bit, everything else still
holds

Signed-off-by: Idan Kedar <idank@tonian.com>
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
2012-12-11 18:56:18 +02:00
..
BUGS exofs: Documentation 2009-03-31 19:44:38 +03:00
common.h Fix common misspellings 2011-03-31 11:26:23 -03:00
dir.c exofs: remove the second argument of k[un]map_atomic() 2012-03-20 21:48:22 +08:00
exofs.h exofs: Add SYSFS info for autologin/pNFS export 2012-05-21 12:24:01 +03:00
file.c fs: push i_mutex and filemap_write_and_wait down into ->fsync() handlers 2011-07-20 20:47:59 -04:00
inode.c exofs: clean up the correct page collection on write error 2012-12-11 18:56:18 +02:00
Kbuild exofs: Add SYSFS info for autologin/pNFS export 2012-05-21 12:24:01 +03:00
Kconfig ore: FIX breakage when MISC_FILESYSTEMS is not set 2012-01-06 16:48:14 +02:00
Kconfig.ore ore: FIX breakage when MISC_FILESYSTEMS is not set 2012-01-06 16:48:14 +02:00
namei.c don't pass nameidata to ->create() 2012-07-14 16:34:47 +04:00
ore.c block: Add bio_clone_bioset(), bio_clone_kmalloc() 2012-09-09 10:35:39 +02:00
ore_raid.c ore: signedness bug in _sp2d_min_pg() 2012-10-03 13:51:51 -07:00
ore_raid.h ore: RAID5 Write 2011-10-24 17:15:33 -07:00
super.c exofs: drop lock/unlock super 2012-10-09 23:33:38 -04:00
symlink.c exofs: Remove IBM copyrights 2009-06-21 17:53:47 +03:00
sys.c exofs: check for allocation failure in uri_store() 2012-08-12 21:54:44 +03:00