OSDN Git Service

f2fs: enhance f2fs_is_checkpoint_ready()'s readability
[sagit-ice-cold/kernel_xiaomi_msm8998.git] / fs / read_write.c
index bfd1a5d..7b175b9 100644 (file)
@@ -363,8 +363,10 @@ ssize_t vfs_iter_write(struct file *file, struct iov_iter *iter, loff_t *ppos)
        iter->type |= WRITE;
        ret = file->f_op->write_iter(&kiocb, iter);
        BUG_ON(ret == -EIOCBQUEUED);
-       if (ret > 0)
+       if (ret > 0) {
                *ppos = kiocb.ki_pos;
+               fsnotify_modify(file);
+       }
        return ret;
 }
 EXPORT_SYMBOL(vfs_iter_write);
@@ -551,12 +553,13 @@ EXPORT_SYMBOL(vfs_write);
 
 static inline loff_t file_pos_read(struct file *file)
 {
-       return file->f_pos;
+       return file->f_mode & FMODE_STREAM ? 0 : file->f_pos;
 }
 
 static inline void file_pos_write(struct file *file, loff_t pos)
 {
-       file->f_pos = pos;
+       if ((file->f_mode & FMODE_STREAM) == 0)
+               file->f_pos = pos;
 }
 
 SYSCALL_DEFINE3(read, unsigned int, fd, char __user *, buf, size_t, count)