On Wednesday 15 January 2020 17:24:38 Namjae Jeon wrote: > This adds the implementation of file operations for exfat. > > Reviewed-by: Christoph Hellwig <hch@xxxxxx> > Signed-off-by: Namjae Jeon <namjae.jeon@xxxxxxxxxxx> > Signed-off-by: Sungjong Seo <sj1557.seo@xxxxxxxxxxx> > --- > fs/exfat/file.c | 355 ++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 355 insertions(+) > create mode 100644 fs/exfat/file.c > > diff --git a/fs/exfat/file.c b/fs/exfat/file.c > new file mode 100644 > index 000000000000..b4b8af0cae0a > --- /dev/null > +++ b/fs/exfat/file.c ... > +/* resize the file length */ > +int __exfat_truncate(struct inode *inode, loff_t new_size) > +{ ... > + > + ktime_get_real_ts64(&ts); > + exfat_set_entry_time(sbi, &ts, > + &ep->dentry.file.modify_time, > + &ep->dentry.file.modify_date, > + &ep->dentry.file.modify_tz); Hello! Now I spotted that you forgot to update "modify_time_ms" entry. To prevent this problem, maybe function modify_time_ms() could take another (optional) parameter for specifying time_ms? > + ep->dentry.file.attr = cpu_to_le16(ei->attr); > + > + /* File size should be zero if there is no cluster allocated */ > + if (ei->start_clu == EXFAT_EOF_CLUSTER) { > + ep->dentry.stream.valid_size = 0; > + ep->dentry.stream.size = 0; > + } else { > + ep->dentry.stream.valid_size = cpu_to_le64(new_size); > + ep->dentry.stream.size = ep->dentry.stream.valid_size; > + } > + -- Pali Rohár pali.rohar@xxxxxxxxx