[10/14] HPFS: Implement fsync for hpfs
diff mbox series

Message ID alpine.DEB.2.00.1105082029340.7013@artax.karlin.mff.cuni.cz
State New, archived
Headers show
Series
  • Fix HPFS
Related show

Commit Message

Mikulas Patocka May 8, 2011, 6:44 p.m. UTC
Implement fsync for hpfs.

Signed-off-by: Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>

---
 fs/hpfs/file.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Comments

Christoph Hellwig May 10, 2011, 8:03 a.m. UTC | #1
On Sun, May 08, 2011 at 08:44:19PM +0200, Mikulas Patocka wrote:
> Index: linux-2.6.39-rc5-fast/fs/hpfs/file.c
> ===================================================================
> --- linux-2.6.39-rc5-fast.orig/fs/hpfs/file.c	2011-05-05 01:02:43.000000000 +0200
> +++ linux-2.6.39-rc5-fast/fs/hpfs/file.c	2011-05-05 01:02:56.000000000 +0200
> @@ -20,8 +20,8 @@ static int hpfs_file_release(struct inod
>  
>  int hpfs_file_fsync(struct file *file, int datasync)
>  {
> -	/*return file_fsync(file, datasync);*/
> -	return 0; /* Don't fsync :-) */
> +	struct inode *inode = file->f_mapping->host;
> +	return sync_blockdev(inode->i_sb->s_bdev);

So you push all dirty data into buffers immediately and don't have
anything else to write back?

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
Mikulas Patocka May 11, 2011, 1:03 p.m. UTC | #2
On Tue, 10 May 2011, Christoph Hellwig wrote:

> On Sun, May 08, 2011 at 08:44:19PM +0200, Mikulas Patocka wrote:
> > Index: linux-2.6.39-rc5-fast/fs/hpfs/file.c
> > ===================================================================
> > --- linux-2.6.39-rc5-fast.orig/fs/hpfs/file.c	2011-05-05 01:02:43.000000000 +0200
> > +++ linux-2.6.39-rc5-fast/fs/hpfs/file.c	2011-05-05 01:02:56.000000000 +0200
> > @@ -20,8 +20,8 @@ static int hpfs_file_release(struct inod
> >  
> >  int hpfs_file_fsync(struct file *file, int datasync)
> >  {
> > -	/*return file_fsync(file, datasync);*/
> > -	return 0; /* Don't fsync :-) */
> > +	struct inode *inode = file->f_mapping->host;
> > +	return sync_blockdev(inode->i_sb->s_bdev);
> 
> So you push all dirty data into buffers immediately and don't have
> anything else to write back?

Data are written in vfs_fsync_range ... so fsync should write just 
metadata. I write all metadata, HPFS is not performance-sensitive anyway, 
so there is no need to differentiate metadata for a specific file.

Mikulas
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Patch
diff mbox series

Index: linux-2.6.39-rc5-fast/fs/hpfs/file.c
===================================================================
--- linux-2.6.39-rc5-fast.orig/fs/hpfs/file.c	2011-05-05 01:02:43.000000000 +0200
+++ linux-2.6.39-rc5-fast/fs/hpfs/file.c	2011-05-05 01:02:56.000000000 +0200
@@ -20,8 +20,8 @@  static int hpfs_file_release(struct inod
 
 int hpfs_file_fsync(struct file *file, int datasync)
 {
-	/*return file_fsync(file, datasync);*/
-	return 0; /* Don't fsync :-) */
+	struct inode *inode = file->f_mapping->host;
+	return sync_blockdev(inode->i_sb->s_bdev);
 }
 
 /*