Messages in this thread | | | Date | Mon, 12 May 2014 14:50:27 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH V5 1/2] FS: Add generic data flush to fsync |
| |
On Mon, 12 May 2014 07:20:27 +0200 Fabian Frederick <fabf@skynet.be> wrote:
> This patch issues a flush in generic_file_fsync. > (Modern filesystems already do it) > > Behaviour can be reversed using /sys/devices/.../cache_type > or by calling __generic_file_fsync
Well OK, but why? What effect does the patch have? Does it make the kernel better and if so, how?
> > +/** > + * generic_file_fsync - generic fsync implementation for simple filesystems > + * with flush > + * @file: file to synchronize > + * @start: start offset in bytes > + * @end: end offset in bytes (inclusive) > + * @datasync: only synchronize essential metadata if true > + * > + */ > + > +int generic_file_fsync(struct file *file, loff_t start, loff_t end, > + int datasync) > +{ > + struct inode *inode = file->f_mapping->host; > + int err; > + > + err = __generic_file_fsync(file, start, end, datasync); > + if (err) > + return err; > + > + return blkdev_issue_flush(inode->i_sb->s_bdev, GFP_KERNEL, NULL); > + > +}
Documentation/SubmitChecklist, section 2b ;)
| |