diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index b7373b1..ee90466 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -2657,7 +2657,7 @@
 
 /* scrub.c */
 int btrfs_scrub_dev(struct btrfs_root *root, u64 devid, u64 start, u64 end,
-		    struct btrfs_scrub_progress *progress);
+		    struct btrfs_scrub_progress *progress, int readonly);
 int btrfs_scrub_pause(struct btrfs_root *root);
 int btrfs_scrub_pause_super(struct btrfs_root *root);
 int btrfs_scrub_continue(struct btrfs_root *root);
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index 205cd01..f0a74f0 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -2547,7 +2547,7 @@
 		return PTR_ERR(sa);
 
 	ret = btrfs_scrub_dev(root, sa->devid, sa->start, sa->end,
-			      &sa->progress);
+			      &sa->progress, sa->flags & BTRFS_SCRUB_READONLY);
 
 	if (copy_to_user(arg, sa, sizeof(*sa)))
 		ret = -EFAULT;
diff --git a/fs/btrfs/ioctl.h b/fs/btrfs/ioctl.h
index 1a638ce..e5e0ee2 100644
--- a/fs/btrfs/ioctl.h
+++ b/fs/btrfs/ioctl.h
@@ -81,6 +81,7 @@
 					 * Intermittent error. */
 };
 
+#define BTRFS_SCRUB_READONLY	1
 struct btrfs_ioctl_scrub_args {
 	__u64 devid;				/* in */
 	__u64 start;				/* in */
diff --git a/fs/btrfs/scrub.c b/fs/btrfs/scrub.c
index 6a50801..a31f2a9 100644
--- a/fs/btrfs/scrub.c
+++ b/fs/btrfs/scrub.c
@@ -42,7 +42,6 @@
  *  - In case of a read error on files with nodatasum, map the file and read
  *    the extent to trigger a writeback of the good copy
  *  - track and record media errors, throw out bad devices
- *  - add a readonly mode
  *  - add a mode to also read unallocated space
  *  - make the prefetch cancellable
  */
@@ -99,6 +98,7 @@
 	u16			csum_size;
 	struct list_head	csum_list;
 	atomic_t		cancel_req;
+	int			readonly;
 	/*
 	 * statistics
 	 */
@@ -329,14 +329,16 @@
 	if (i == multi->num_stripes)
 		goto uncorrectable;
 
-	/*
-	 * bi_io_vec[ix].bv_page now contains good data, write it back
-	 */
-	if (scrub_fixup_io(WRITE, sdev->dev->bdev,
-			   (sbio->physical + ix * PAGE_SIZE) >> 9,
-			   sbio->bio->bi_io_vec[ix].bv_page)) {
-		/* I/O-error, writeback failed, give up */
-		goto uncorrectable;
+	if (!sdev->readonly) {
+		/*
+		 * bi_io_vec[ix].bv_page now contains good data, write it back
+		 */
+		if (scrub_fixup_io(WRITE, sdev->dev->bdev,
+				   (sbio->physical + ix * PAGE_SIZE) >> 9,
+				   sbio->bio->bi_io_vec[ix].bv_page)) {
+			/* I/O-error, writeback failed, give up */
+			goto uncorrectable;
+		}
 	}
 
 	kfree(multi);
@@ -1156,7 +1158,7 @@
 
 
 int btrfs_scrub_dev(struct btrfs_root *root, u64 devid, u64 start, u64 end,
-		    struct btrfs_scrub_progress *progress)
+		    struct btrfs_scrub_progress *progress, int readonly)
 {
 	struct scrub_dev *sdev;
 	struct btrfs_fs_info *fs_info = root->fs_info;
@@ -1209,6 +1211,7 @@
 		scrub_workers_put(root);
 		return PTR_ERR(sdev);
 	}
+	sdev->readonly = readonly;
 	dev->scrub_device = sdev;
 
 	atomic_inc(&fs_info->scrubs_running);
