git://git.camperquake.de
/
zfs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'linux-3.6'
[zfs.git]
/
module
/
zfs
/
zfs_vnops.c
diff --git
a/module/zfs/zfs_vnops.c
b/module/zfs/zfs_vnops.c
index
3003302
..
89f0f60
100644
(file)
--- a/
module/zfs/zfs_vnops.c
+++ b/
module/zfs/zfs_vnops.c
@@
-3848,7
+3848,16
@@
zfs_putpage(struct inode *ip, struct page *pp, struct writeback_control *wbc)
if (err == ERESTART)
dmu_tx_wait(tx);
if (err == ERESTART)
dmu_tx_wait(tx);
+ /* Will call all registered commit callbacks */
dmu_tx_abort(tx);
dmu_tx_abort(tx);
+
+ /*
+ * For the synchronous case the commit callback must be
+ * explicitly called because there is no registered callback.
+ */
+ if (sync)
+ zfs_putpage_commit_cb(pp, ECANCELED);
+
return (err);
}
return (err);
}