All of lore.kernel.org
 help / color / mirror / Atom feed
* ctime/mtime update in affs and hpfs write path
@ 2005-10-31 23:53 Christoph Hellwig
  2005-11-01  1:03 ` Roman Zippel
  2005-11-03  0:29 ` ctime/mtime update in affs and hpfs write path Mikulas Patocka
  0 siblings, 2 replies; 5+ messages in thread
From: Christoph Hellwig @ 2005-10-31 23:53 UTC (permalink / raw)
  To: linux-fsdevel, mikulas, zippel

Both AFFS and HPFS update the ctime and mtime in the write path, after
generic_file_write returned and mark the inode dirty.  Anyone's got an
idea why these two filesystems aren't happy with the ctime/mtime updates
vi generic_file_write before we copied the data into the pagecache?

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: ctime/mtime update in affs and hpfs write path
  2005-10-31 23:53 ctime/mtime update in affs and hpfs write path Christoph Hellwig
@ 2005-11-01  1:03 ` Roman Zippel
  2005-11-01  1:07   ` [PATCH] remove superflous ctime/mtime updates in affs Christoph Hellwig
  2005-11-03  0:29 ` ctime/mtime update in affs and hpfs write path Mikulas Patocka
  1 sibling, 1 reply; 5+ messages in thread
From: Roman Zippel @ 2005-11-01  1:03 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: linux-fsdevel, mikulas

Hi,

On Tue, 1 Nov 2005, Christoph Hellwig wrote:

> Both AFFS and HPFS update the ctime and mtime in the write path, after
> generic_file_write returned and mark the inode dirty.  Anyone's got an
> idea why these two filesystems aren't happy with the ctime/mtime updates
> vi generic_file_write before we copied the data into the pagecache?

For affs I don't really know, my best guess is it has been there forever 
and there never was a reason to remove it.

bye, Roman

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH] remove superflous ctime/mtime updates in affs
  2005-11-01  1:03 ` Roman Zippel
@ 2005-11-01  1:07   ` Christoph Hellwig
  2005-11-01  1:20     ` Roman Zippel
  0 siblings, 1 reply; 5+ messages in thread
From: Christoph Hellwig @ 2005-11-01  1:07 UTC (permalink / raw)
  To: akpm, Roman Zippel; +Cc: linux-fsdevel, mikulas

On Tue, Nov 01, 2005 at 02:03:29AM +0100, Roman Zippel wrote:
> > Both AFFS and HPFS update the ctime and mtime in the write path, after
> > generic_file_write returned and mark the inode dirty.  Anyone's got an
> > idea why these two filesystems aren't happy with the ctime/mtime updates
> > vi generic_file_write before we copied the data into the pagecache?
> 
> For affs I don't really know, my best guess is it has been there forever 
> and there never was a reason to remove it.

Ok, what about the following patch?


Signed-off-by: Christoph Hellwig <hch@lst.de>

Index: linux-2.6/fs/affs/file.c
===================================================================
--- linux-2.6.orig/fs/affs/file.c	2005-10-31 15:44:42.000000000 +0100
+++ linux-2.6/fs/affs/file.c	2005-10-31 17:25:26.000000000 +0100
@@ -22,14 +22,13 @@
 static struct buffer_head *affs_alloc_extblock(struct inode *inode, struct buffer_head *bh, u32 ext);
 static inline struct buffer_head *affs_get_extblock(struct inode *inode, u32 ext);
 static struct buffer_head *affs_get_extblock_slow(struct inode *inode, u32 ext);
-static ssize_t affs_file_write(struct file *filp, const char __user *buf, size_t count, loff_t *ppos);
 static int affs_file_open(struct inode *inode, struct file *filp);
 static int affs_file_release(struct inode *inode, struct file *filp);
 
 struct file_operations affs_file_operations = {
 	.llseek		= generic_file_llseek,
 	.read		= generic_file_read,
-	.write		= affs_file_write,
+	.write		= generic_file_write,
 	.mmap		= generic_file_mmap,
 	.open		= affs_file_open,
 	.release	= affs_file_release,
@@ -473,21 +472,6 @@
 	return ERR_PTR(err);
 }
 
-static ssize_t
-affs_file_write(struct file *file, const char __user *buf,
-		size_t count, loff_t *ppos)
-{
-	ssize_t retval;
-
-	retval = generic_file_write (file, buf, count, ppos);
-	if (retval >0) {
-		struct inode *inode = file->f_dentry->d_inode;
-		inode->i_ctime = inode->i_mtime = CURRENT_TIME_SEC;
-		mark_inode_dirty(inode);
-	}
-	return retval;
-}
-
 static int
 affs_do_readpage_ofs(struct file *file, struct page *page, unsigned from, unsigned to)
 {

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] remove superflous ctime/mtime updates in affs
  2005-11-01  1:07   ` [PATCH] remove superflous ctime/mtime updates in affs Christoph Hellwig
@ 2005-11-01  1:20     ` Roman Zippel
  0 siblings, 0 replies; 5+ messages in thread
From: Roman Zippel @ 2005-11-01  1:20 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: akpm, linux-fsdevel, mikulas

Hi,

On Tue, 1 Nov 2005, Christoph Hellwig wrote:

> > For affs I don't really know, my best guess is it has been there forever 
> > and there never was a reason to remove it.
> 
> Ok, what about the following patch?
> 
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>

Acked-by: Roman Zippel <zippel@linux-m68k.org>

bye, Roman

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: ctime/mtime update in affs and hpfs write path
  2005-10-31 23:53 ctime/mtime update in affs and hpfs write path Christoph Hellwig
  2005-11-01  1:03 ` Roman Zippel
@ 2005-11-03  0:29 ` Mikulas Patocka
  1 sibling, 0 replies; 5+ messages in thread
From: Mikulas Patocka @ 2005-11-03  0:29 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: linux-fsdevel, zippel



On Tue, 1 Nov 2005, Christoph Hellwig wrote:

> Both AFFS and HPFS update the ctime and mtime in the write path, after
> generic_file_write returned and mark the inode dirty.  Anyone's got an
> idea why these two filesystems aren't happy with the ctime/mtime updates
> vi generic_file_write before we copied the data into the pagecache?

In HPFS, there's no reason for mtime update --- just that it was left when 
porting code from older kernels. If generic_file_write updates it, you can 
remove update in HPFS.

As for inode dirty --- HPFS has its own dirty mechanism different from the 
kernel to avoid deadlocks (writing inode on HPFS needs to lock parent 
directory and you can't do it from ->write_inode method) --- let it be, it 
may be slower, but it's stable.

Mikulas

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2005-11-03  0:29 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-10-31 23:53 ctime/mtime update in affs and hpfs write path Christoph Hellwig
2005-11-01  1:03 ` Roman Zippel
2005-11-01  1:07   ` [PATCH] remove superflous ctime/mtime updates in affs Christoph Hellwig
2005-11-01  1:20     ` Roman Zippel
2005-11-03  0:29 ` ctime/mtime update in affs and hpfs write path Mikulas Patocka

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.