* [patch] reiser4: fix handling ENOSPC cryptcompress
@ 2008-04-25 18:17 Edward Shishkin
0 siblings, 0 replies; only message in thread
From: Edward Shishkin @ 2008-04-25 18:17 UTC (permalink / raw)
To: Andrew Morton; +Cc: ReiserFS Mailing List
[-- Attachment #1: Type: text/plain, Size: 106 bytes --]
Andrew, these bugs were caught when testing
reiser4 on a small partition. Please, apply.
Thanks,
Edward.
[-- Attachment #2: reiser4-fix-handling-enospc-cryptcompress.patch --]
[-- Type: text/x-patch, Size: 984 bytes --]
Problem:
Processes fall into infinite loop
when running in no-space-left-on-device situation.
Fixup:
Fixed leak of checkin_mutex in do_write_cryptcompress();
---
linux-2.6.25-mm1/fs/reiser4/plugin/file/cryptcompress.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
--- linux-2.6.25-mm1/fs/reiser4/plugin/file/cryptcompress.c.orig
+++ linux-2.6.25-mm1/fs/reiser4/plugin/file/cryptcompress.c
@@ -2707,7 +2707,8 @@
if (result)
goto out;
if (cont->state == PSCHED_ASSIGNED_NEW)
- goto out_no_release;
+ /* done_lh was called in write_pschedule_hook */
+ goto out_no_longterm_lock;
result = prepare_logical_cluster(inode, pos, count, &clust,
LC_APPOV);
@@ -2779,9 +2780,9 @@
} while (count);
out:
done_lh(&hint->lh);
- mutex_unlock(&info->checkin_mutex);
save_file_hint(file, hint);
- out_no_release:
+ out_no_longterm_lock:
+ mutex_unlock(&info->checkin_mutex);
kfree(hint);
put_cluster_handle(&clust);
assert("edward-195",
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2008-04-25 18:17 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-25 18:17 [patch] reiser4: fix handling ENOSPC cryptcompress Edward Shishkin
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.