Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
[firefly-linux-kernel-4.4.55.git] / fs / jbd / journal.c
index 59c09f9541b5923c08ad1d227120dca764f8facf..0971e9217808829a67f5fd340a1972a63a982930 100644 (file)
@@ -129,6 +129,8 @@ static int kjournald(void *arg)
        setup_timer(&journal->j_commit_timer, commit_timeout,
                        (unsigned long)current);
 
+       set_freezable();
+
        /* Record that the journal thread is running */
        journal->j_task = current;
        wake_up(&journal->j_wait_done_commit);
@@ -328,7 +330,7 @@ repeat:
                new_offset = offset_in_page(jh2bh(jh_in)->b_data);
        }
 
-       mapped_data = kmap_atomic(new_page, KM_USER0);
+       mapped_data = kmap_atomic(new_page);
        /*
         * Check for escaping
         */
@@ -337,7 +339,7 @@ repeat:
                need_copy_out = 1;
                do_escape = 1;
        }
-       kunmap_atomic(mapped_data, KM_USER0);
+       kunmap_atomic(mapped_data);
 
        /*
         * Do we need to do a data copy?
@@ -354,9 +356,9 @@ repeat:
                }
 
                jh_in->b_frozen_data = tmp;
-               mapped_data = kmap_atomic(new_page, KM_USER0);
+               mapped_data = kmap_atomic(new_page);
                memcpy(tmp, mapped_data + new_offset, jh2bh(jh_in)->b_size);
-               kunmap_atomic(mapped_data, KM_USER0);
+               kunmap_atomic(mapped_data);
 
                new_page = virt_to_page(tmp);
                new_offset = offset_in_page(tmp);
@@ -368,9 +370,9 @@ repeat:
         * copying, we can finally do so.
         */
        if (do_escape) {
-               mapped_data = kmap_atomic(new_page, KM_USER0);
+               mapped_data = kmap_atomic(new_page);
                *((unsigned int *)(mapped_data + new_offset)) = 0;
-               kunmap_atomic(mapped_data, KM_USER0);
+               kunmap_atomic(mapped_data);
        }
 
        set_bh_page(new_bh, new_page, new_offset);