diff options
Diffstat (limited to 'fs/nfs/write.c')
-rw-r--r-- | fs/nfs/write.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/fs/nfs/write.c b/fs/nfs/write.c index f1bdb7254776..d37e8ca9ab86 100644 --- a/fs/nfs/write.c +++ b/fs/nfs/write.c | |||
@@ -31,6 +31,8 @@ | |||
31 | #include "fscache.h" | 31 | #include "fscache.h" |
32 | #include "pnfs.h" | 32 | #include "pnfs.h" |
33 | 33 | ||
34 | #include "nfstrace.h" | ||
35 | |||
34 | #define NFSDBG_FACILITY NFSDBG_PAGECACHE | 36 | #define NFSDBG_FACILITY NFSDBG_PAGECACHE |
35 | 37 | ||
36 | #define MIN_POOL_WRITE (32) | 38 | #define MIN_POOL_WRITE (32) |
@@ -1732,8 +1734,14 @@ int nfs_wb_all(struct inode *inode) | |||
1732 | .range_start = 0, | 1734 | .range_start = 0, |
1733 | .range_end = LLONG_MAX, | 1735 | .range_end = LLONG_MAX, |
1734 | }; | 1736 | }; |
1737 | int ret; | ||
1738 | |||
1739 | trace_nfs_writeback_inode_enter(inode); | ||
1740 | |||
1741 | ret = sync_inode(inode, &wbc); | ||
1735 | 1742 | ||
1736 | return sync_inode(inode, &wbc); | 1743 | trace_nfs_writeback_inode_exit(inode, ret); |
1744 | return ret; | ||
1737 | } | 1745 | } |
1738 | EXPORT_SYMBOL_GPL(nfs_wb_all); | 1746 | EXPORT_SYMBOL_GPL(nfs_wb_all); |
1739 | 1747 | ||
@@ -1781,6 +1789,8 @@ int nfs_wb_page(struct inode *inode, struct page *page) | |||
1781 | }; | 1789 | }; |
1782 | int ret; | 1790 | int ret; |
1783 | 1791 | ||
1792 | trace_nfs_writeback_page_enter(inode); | ||
1793 | |||
1784 | for (;;) { | 1794 | for (;;) { |
1785 | wait_on_page_writeback(page); | 1795 | wait_on_page_writeback(page); |
1786 | if (clear_page_dirty_for_io(page)) { | 1796 | if (clear_page_dirty_for_io(page)) { |
@@ -1789,14 +1799,15 @@ int nfs_wb_page(struct inode *inode, struct page *page) | |||
1789 | goto out_error; | 1799 | goto out_error; |
1790 | continue; | 1800 | continue; |
1791 | } | 1801 | } |
1802 | ret = 0; | ||
1792 | if (!PagePrivate(page)) | 1803 | if (!PagePrivate(page)) |
1793 | break; | 1804 | break; |
1794 | ret = nfs_commit_inode(inode, FLUSH_SYNC); | 1805 | ret = nfs_commit_inode(inode, FLUSH_SYNC); |
1795 | if (ret < 0) | 1806 | if (ret < 0) |
1796 | goto out_error; | 1807 | goto out_error; |
1797 | } | 1808 | } |
1798 | return 0; | ||
1799 | out_error: | 1809 | out_error: |
1810 | trace_nfs_writeback_page_exit(inode, ret); | ||
1800 | return ret; | 1811 | return ret; |
1801 | } | 1812 | } |
1802 | 1813 | ||