|
@@ -849,8 +849,10 @@ retry:
|
|
|
|
|
|
ret = (*writepage)(page, wbc, data);
|
|
ret = (*writepage)(page, wbc, data);
|
|
|
|
|
|
- if (unlikely(ret == AOP_WRITEPAGE_ACTIVATE))
|
|
|
|
|
|
+ if (unlikely(ret == AOP_WRITEPAGE_ACTIVATE)) {
|
|
unlock_page(page);
|
|
unlock_page(page);
|
|
|
|
+ ret = 0;
|
|
|
|
+ }
|
|
if (ret || (--(wbc->nr_to_write) <= 0))
|
|
if (ret || (--(wbc->nr_to_write) <= 0))
|
|
done = 1;
|
|
done = 1;
|
|
if (wbc->nonblocking && bdi_write_congested(bdi)) {
|
|
if (wbc->nonblocking && bdi_write_congested(bdi)) {
|