* 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.