]> rtime.felk.cvut.cz Git - zynq/linux.git/blobdiff - fs/ntfs/aops.c
Apply preempt_rt patch-4.9-rt1.patch.xz
[zynq/linux.git] / fs / ntfs / aops.c
index fe251f187ff8ff2a4f88210517470a1c2a0426f8..e89da4fb14c23e4543a764fbe78ed3f3dcc4b083 100644 (file)
@@ -92,13 +92,13 @@ static void ntfs_end_buffer_async_read(struct buffer_head *bh, int uptodate)
                        ofs = 0;
                        if (file_ofs < init_size)
                                ofs = init_size - file_ofs;
-                       local_irq_save(flags);
+                       local_irq_save_nort(flags);
                        kaddr = kmap_atomic(page);
                        memset(kaddr + bh_offset(bh) + ofs, 0,
                                        bh->b_size - ofs);
                        flush_dcache_page(page);
                        kunmap_atomic(kaddr);
-                       local_irq_restore(flags);
+                       local_irq_restore_nort(flags);
                }
        } else {
                clear_buffer_uptodate(bh);
@@ -107,8 +107,7 @@ static void ntfs_end_buffer_async_read(struct buffer_head *bh, int uptodate)
                                "0x%llx.", (unsigned long long)bh->b_blocknr);
        }
        first = page_buffers(page);
-       local_irq_save(flags);
-       bit_spin_lock(BH_Uptodate_Lock, &first->b_state);
+       flags = bh_uptodate_lock_irqsave(first);
        clear_buffer_async_read(bh);
        unlock_buffer(bh);
        tmp = bh;
@@ -123,8 +122,7 @@ static void ntfs_end_buffer_async_read(struct buffer_head *bh, int uptodate)
                }
                tmp = tmp->b_this_page;
        } while (tmp != bh);
-       bit_spin_unlock(BH_Uptodate_Lock, &first->b_state);
-       local_irq_restore(flags);
+       bh_uptodate_unlock_irqrestore(first, flags);
        /*
         * If none of the buffers had errors then we can set the page uptodate,
         * but we first have to perform the post read mst fixups, if the
@@ -145,13 +143,13 @@ static void ntfs_end_buffer_async_read(struct buffer_head *bh, int uptodate)
                recs = PAGE_SIZE / rec_size;
                /* Should have been verified before we got here... */
                BUG_ON(!recs);
-               local_irq_save(flags);
+               local_irq_save_nort(flags);
                kaddr = kmap_atomic(page);
                for (i = 0; i < recs; i++)
                        post_read_mst_fixup((NTFS_RECORD*)(kaddr +
                                        i * rec_size), rec_size);
                kunmap_atomic(kaddr);
-               local_irq_restore(flags);
+               local_irq_restore_nort(flags);
                flush_dcache_page(page);
                if (likely(page_uptodate && !PageError(page)))
                        SetPageUptodate(page);
@@ -159,9 +157,7 @@ static void ntfs_end_buffer_async_read(struct buffer_head *bh, int uptodate)
        unlock_page(page);
        return;
 still_busy:
-       bit_spin_unlock(BH_Uptodate_Lock, &first->b_state);
-       local_irq_restore(flags);
-       return;
+       bh_uptodate_unlock_irqrestore(first, flags);
 }
 
 /**