fs/ntfs3: Add file_modified
authorKonstantin Komarov <almaz.alexandrovich@paragon-software.com>
Fri, 24 Nov 2023 09:16:49 +0000 (12:16 +0300)
committerKonstantin Komarov <almaz.alexandrovich@paragon-software.com>
Wed, 6 Dec 2023 14:46:12 +0000 (17:46 +0300)
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
fs/ntfs3/file.c

index 5691f04e6751a76427a576512f391abdb409ee11..bb80ce2eec2f7dbd8cd945d2b2084606b3ecb1ba 100644 (file)
@@ -632,11 +632,17 @@ static long ntfs_fallocate(struct file *file, int mode, loff_t vbo, loff_t len)
                                            &ni->file.run, i_size, &ni->i_valid,
                                            true, NULL);
                        ni_unlock(ni);
+                       if (err)
+                               goto out;
                } else if (new_size > i_size) {
                        inode->i_size = new_size;
                }
        }
 
+       err = file_modified(file);
+       if (err)
+               goto out;
+
 out:
        if (map_locked)
                filemap_invalidate_unlock(mapping);
@@ -1040,6 +1046,7 @@ static ssize_t ntfs_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
        struct address_space *mapping = file->f_mapping;
        struct inode *inode = mapping->host;
        ssize_t ret;
+       int err;
        struct ntfs_inode *ni = ntfs_i(inode);
 
        if (is_encrypted(ni)) {
@@ -1067,6 +1074,12 @@ static ssize_t ntfs_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
        if (ret <= 0)
                goto out;
 
+       err = file_modified(iocb->ki_filp);
+       if (err) {
+               ret = err;
+               goto out;
+       }
+
        if (WARN_ON(ni->ni_flags & NI_FLAG_COMPRESSED_MASK)) {
                /* Should never be here, see ntfs_file_open(). */
                ret = -EOPNOTSUPP;