reiserfs: get rid of AOP_FLAG_CONT_EXPAND flag
authorEdward Shishkin <edward.shishkin@gmail.com>
Sun, 20 Feb 2022 23:22:19 +0000 (00:22 +0100)
committerJan Kara <jack@suse.cz>
Tue, 22 Feb 2022 10:06:04 +0000 (11:06 +0100)
Remove usage of AOP_FLAG_CONT_EXPAND flag. Reiserfs is the only user of
it and it is easy to avoid.

Link: https://lore.kernel.org/r/20220220232219.1235-1-edward.shishkin@gmail.com
Signed-off-by: Edward Shishkin <edward.shishkin@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
fs/reiserfs/inode.c

index f49b72c..e943930 100644 (file)
@@ -2763,13 +2763,6 @@ static int reiserfs_write_begin(struct file *file,
        int old_ref = 0;
 
        inode = mapping->host;
-       *fsdata = NULL;
-       if (flags & AOP_FLAG_CONT_EXPAND &&
-           (pos & (inode->i_sb->s_blocksize - 1)) == 0) {
-               pos ++;
-               *fsdata = (void *)(unsigned long)flags;
-       }
-
        index = pos >> PAGE_SHIFT;
        page = grab_cache_page_write_begin(mapping, index, flags);
        if (!page)
@@ -2896,9 +2889,6 @@ static int reiserfs_write_end(struct file *file, struct address_space *mapping,
        unsigned start;
        bool locked = false;
 
-       if ((unsigned long)fsdata & AOP_FLAG_CONT_EXPAND)
-               pos ++;
-
        reiserfs_wait_on_write_block(inode->i_sb);
        if (reiserfs_transaction_running(inode->i_sb))
                th = current->journal_info;
@@ -3316,7 +3306,11 @@ int reiserfs_setattr(struct user_namespace *mnt_userns, struct dentry *dentry,
 
                /* fill in hole pointers in the expanding truncate case. */
                if (attr->ia_size > inode->i_size) {
-                       error = generic_cont_expand_simple(inode, attr->ia_size);
+                       loff_t pos = attr->ia_size;
+
+                       if ((pos & (inode->i_sb->s_blocksize - 1)) == 0)
+                               pos++;
+                       error = generic_cont_expand_simple(inode, pos);
                        if (REISERFS_I(inode)->i_prealloc_count > 0) {
                                int err;
                                struct reiserfs_transaction_handle th;