[PATCH 15/15] mkfs: don't treat files as though they are block devices

Dave Chinner david at fromorbit.com
Mon Dec 2 17:21:43 CST 2013


On Mon, Dec 02, 2013 at 09:24:41AM -0800, Christoph Hellwig wrote:
> >  void
> >  platform_flush_device(int fd, dev_t device)
> >  {
> > -	if (major(device) != RAMDISK_MAJOR)
> > +	struct stat64	st;
> > +	if (major(device) == RAMDISK_MAJOR)
> > +		return;
> > +
> > +	if (fstat64(fd, &st) < 0)
> > +		return;
> > +
> > +	if (S_ISREG(st.st_mode))
> > +		fsync(fd);
> > +	else
> >  		ioctl(fd, BLKFLSBUF, 0);
> >  }
> 
> Given that fsync does the right thing for device on Linux aswell
> I'd suggest we make this function call it all the time and get rid
> of all the ramdisk magic.
> 
> Should probabbly be a a separate patch.

Yeah, I just shovelled all the fixes to problems I found into this
patch, so it needs to be split up a bit more....

Cheers,

Dave.
-- 
Dave Chinner
david at fromorbit.com



More information about the xfs mailing list