btrfs: introduce btrfs_subpage for data inodes
[linux-2.6-microblaze.git] / fs / btrfs / ioctl.c
index 7f2935e..e6a63f6 100644 (file)
@@ -1314,6 +1314,13 @@ again:
                if (!page)
                        break;
 
+               ret = set_page_extent_mapped(page);
+               if (ret < 0) {
+                       unlock_page(page);
+                       put_page(page);
+                       break;
+               }
+
                page_start = page_offset(page);
                page_end = page_start + PAGE_SIZE - 1;
                while (1) {
@@ -1435,7 +1442,6 @@ again:
        for (i = 0; i < i_done; i++) {
                clear_page_dirty_for_io(pages[i]);
                ClearPageChecked(pages[i]);
-               set_page_extent_mapped(pages[i]);
                set_page_dirty(pages[i]);
                unlock_page(pages[i]);
                put_page(pages[i]);