]> Git Repo - linux.git/commitdiff
ntfs3: Call ntfs_write_begin() and ntfs_write_end() directly
authorMatthew Wilcox (Oracle) <[email protected]>
Thu, 3 Mar 2022 18:43:29 +0000 (13:43 -0500)
committerMatthew Wilcox (Oracle) <[email protected]>
Sun, 8 May 2022 18:28:56 +0000 (14:28 -0400)
There is only one kind of write_begin/write_end aops, so we don't need to
look up which aop it is, just make ntfs_write_begin() and ntfs_write_end()
available to this file and call them directly.

Signed-off-by: Matthew Wilcox (Oracle) <[email protected]>
Reviewed-by: Namjae Jeon <[email protected]>
Reviewed-by: Christoph Hellwig <[email protected]>
fs/ntfs3/file.c
fs/ntfs3/inode.c
fs/ntfs3/ntfs_fs.h

index 787b53b984ee17ae07aff29f2972319d437387b7..c2e7e561958a6657fb0cea197d5bae8afba0d9aa 100644 (file)
@@ -157,15 +157,14 @@ static int ntfs_extend_initialized_size(struct file *file,
                if (pos + len > new_valid)
                        len = new_valid - pos;
 
-               err = pagecache_write_begin(file, mapping, pos, len, 0, &page,
-                                           &fsdata);
+               err = ntfs_write_begin(file, mapping, pos, len, &page, &fsdata);
                if (err)
                        goto out;
 
                zero_user_segment(page, zerofrom, PAGE_SIZE);
 
                /* This function in any case puts page. */
-               err = pagecache_write_end(file, mapping, pos, len, len, page,
+               err = ntfs_write_end(file, mapping, pos, len, len, page,
                                          fsdata);
                if (err < 0)
                        goto out;
index 1364174cc6c93c3e3f05ef9fd163691035af271a..bfd71f384e210600a529b7f343736ea5d26ffe26 100644 (file)
@@ -861,9 +861,8 @@ static int ntfs_get_block_write_begin(struct inode *inode, sector_t vbn,
                                  bh_result, create, GET_BLOCK_WRITE_BEGIN);
 }
 
-static int ntfs_write_begin(struct file *file, struct address_space *mapping,
-                           loff_t pos, u32 len, struct page **pagep,
-                           void **fsdata)
+int ntfs_write_begin(struct file *file, struct address_space *mapping,
+                    loff_t pos, u32 len, struct page **pagep, void **fsdata)
 {
        int err;
        struct inode *inode = mapping->host;
@@ -904,10 +903,9 @@ out:
 /*
  * ntfs_write_end - Address_space_operations::write_end.
  */
-static int ntfs_write_end(struct file *file, struct address_space *mapping,
-                         loff_t pos, u32 len, u32 copied, struct page *page,
-                         void *fsdata)
-
+int ntfs_write_end(struct file *file, struct address_space *mapping,
+                  loff_t pos, u32 len, u32 copied, struct page *page,
+                  void *fsdata)
 {
        struct inode *inode = mapping->host;
        struct ntfs_inode *ni = ntfs_i(inode);
index fb825059d4886783c414d42bc4f46940c0cdb0ba..8de129a6419b5b338d69d2a2aa7d80d1f216a8ca 100644 (file)
@@ -689,6 +689,11 @@ int ntfs_set_size(struct inode *inode, u64 new_size);
 int reset_log_file(struct inode *inode);
 int ntfs_get_block(struct inode *inode, sector_t vbn,
                   struct buffer_head *bh_result, int create);
+int ntfs_write_begin(struct file *file, struct address_space *mapping,
+                    loff_t pos, u32 len, struct page **pagep, void **fsdata);
+int ntfs_write_end(struct file *file, struct address_space *mapping,
+                  loff_t pos, u32 len, u32 copied, struct page *page,
+                  void *fsdata);
 int ntfs3_write_inode(struct inode *inode, struct writeback_control *wbc);
 int ntfs_sync_inode(struct inode *inode);
 int ntfs_flush_inodes(struct super_block *sb, struct inode *i1,
This page took 0.06777 seconds and 4 git commands to generate.