Wrapfs: leave placeholders for updating upper inode after AIO
authorErez Zadok <ezk@cs.sunysb.edu>
Mon, 11 Aug 2014 22:10:35 +0000 (18:10 -0400)
committerErez Zadok <ezk@cs.sunysb.edu>
Tue, 27 Dec 2016 19:05:22 +0000 (14:05 -0500)
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
fs/wrapfs/file.c

index e8242a80844c27491fa52c9f3c53b8e66ad6f208..ce3377b63b47fbc9d3ded0607352b385b39afc10 100644 (file)
@@ -284,6 +284,7 @@ static ssize_t wrapfs_aio_read(struct kiocb *iocb, const struct iovec *iov,
        err = lower_file->f_op->aio_read(iocb, iov, nr_segs, pos);
        iocb->ki_filp = file;
        fput(lower_file);
+       /* XXX: need to update upper inode atime as needed */
 out:
        return err;
 }
@@ -307,6 +308,7 @@ static ssize_t wrapfs_aio_write(struct kiocb *iocb, const struct iovec *iov,
        err = lower_file->f_op->aio_write(iocb, iov, nr_segs, pos);
        iocb->ki_filp = file;
        fput(lower_file);
+       /* XXX: need to update upper inode times/sizes as needed */
 out:
        return err;
 }
@@ -351,9 +353,9 @@ wrapfs_read_iter(struct kiocb *iocb, struct iov_iter *iter)
        get_file(lower_file); /* prevent lower_file from being released */
        iocb->ki_filp = lower_file;
        err = lower_file->f_op->read_iter(iocb, iter);
-       /* ? wait IO finish to update atime as ecryptfs ? */
        iocb->ki_filp = file;
        fput(lower_file);
+       /* XXX: need to update upper inode atime as needed */
 out:
        return err;
 }
@@ -378,6 +380,7 @@ wrapfs_write_iter(struct kiocb *iocb, struct iov_iter *iter)
        err = lower_file->f_op->write_iter(iocb, iter);
        iocb->ki_filp = file;
        fput(lower_file);
+       /* XXX: need to update upper inode times/sizes as needed */
 out:
        return err;
 }