[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH RFC PKS/PMEM 15/58] fs/ecryptfs: Utilize new kmap_thread()



From: Ira Weiny <ira.weiny@xxxxxxxxx>

The kmap() calls in this FS are localized to a single thread.  To avoid
the over head of global PKRS updates use the new kmap_thread() call.

Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Cc: Eric Biggers <ebiggers@xxxxxxxxxx>
Cc: Aditya Pakki <pakki001@xxxxxxx>
Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx>
---
 fs/ecryptfs/crypto.c     | 8 ++++----
 fs/ecryptfs/read_write.c | 8 ++++----
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/fs/ecryptfs/crypto.c b/fs/ecryptfs/crypto.c
index 0681540c48d9..e73e00994bee 100644
--- a/fs/ecryptfs/crypto.c
+++ b/fs/ecryptfs/crypto.c
@@ -469,10 +469,10 @@ int ecryptfs_encrypt_page(struct page *page)
        }
 
        lower_offset = lower_offset_for_page(crypt_stat, page);
-       enc_extent_virt = kmap(enc_extent_page);
+       enc_extent_virt = kmap_thread(enc_extent_page);
        rc = ecryptfs_write_lower(ecryptfs_inode, enc_extent_virt, lower_offset,
                                  PAGE_SIZE);
-       kunmap(enc_extent_page);
+       kunmap_thread(enc_extent_page);
        if (rc < 0) {
                ecryptfs_printk(KERN_ERR,
                        "Error attempting to write lower page; rc = [%d]\n",
@@ -518,10 +518,10 @@ int ecryptfs_decrypt_page(struct page *page)
        BUG_ON(!(crypt_stat->flags & ECRYPTFS_ENCRYPTED));
 
        lower_offset = lower_offset_for_page(crypt_stat, page);
-       page_virt = kmap(page);
+       page_virt = kmap_thread(page);
        rc = ecryptfs_read_lower(page_virt, lower_offset, PAGE_SIZE,
                                 ecryptfs_inode);
-       kunmap(page);
+       kunmap_thread(page);
        if (rc < 0) {
                ecryptfs_printk(KERN_ERR,
                        "Error attempting to read lower page; rc = [%d]\n",
diff --git a/fs/ecryptfs/read_write.c b/fs/ecryptfs/read_write.c
index 0438997ac9d8..5eca4330c0c0 100644
--- a/fs/ecryptfs/read_write.c
+++ b/fs/ecryptfs/read_write.c
@@ -64,11 +64,11 @@ int ecryptfs_write_lower_page_segment(struct inode 
*ecryptfs_inode,
 
        offset = ((((loff_t)page_for_lower->index) << PAGE_SHIFT)
                  + offset_in_page);
-       virt = kmap(page_for_lower);
+       virt = kmap_thread(page_for_lower);
        rc = ecryptfs_write_lower(ecryptfs_inode, virt, offset, size);
        if (rc > 0)
                rc = 0;
-       kunmap(page_for_lower);
+       kunmap_thread(page_for_lower);
        return rc;
 }
 
@@ -251,11 +251,11 @@ int ecryptfs_read_lower_page_segment(struct page 
*page_for_ecryptfs,
        int rc;
 
        offset = ((((loff_t)page_index) << PAGE_SHIFT) + offset_in_page);
-       virt = kmap(page_for_ecryptfs);
+       virt = kmap_thread(page_for_ecryptfs);
        rc = ecryptfs_read_lower(virt, offset, size, ecryptfs_inode);
        if (rc > 0)
                rc = 0;
-       kunmap(page_for_ecryptfs);
+       kunmap_thread(page_for_ecryptfs);
        flush_dcache_page(page_for_ecryptfs);
        return rc;
 }
-- 
2.28.0.rc0.12.gb6a658bd00c9




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.