aboutsummaryrefslogtreecommitdiffstats
path: root/fs/jffs2/write.c
diff options
context:
space:
mode:
authorArtem B. Bityutskiy <dedekind@infradead.org>2005-08-17 09:46:26 -0400
committerThomas Gleixner <tglx@mtd.linutronix.de>2005-11-06 14:25:59 -0500
commit3a69e0cd22cf34920508a4032d53e41251925f53 (patch)
treef6f862aa743e3de98e348c20d84a26772da06195 /fs/jffs2/write.c
parent01d445f89d68187c9ada7b58ca939dbb987c9fbd (diff)
[JFFS2] Fix JFFS2 [mc]time handling
From: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Artem B. Bityutskiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'fs/jffs2/write.c')
-rw-r--r--fs/jffs2/write.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/fs/jffs2/write.c b/fs/jffs2/write.c
index 4c418e69cfc6..0a194759bbbd 100644
--- a/fs/jffs2/write.c
+++ b/fs/jffs2/write.c
@@ -7,7 +7,7 @@
7 * 7 *
8 * For licensing information, see the file 'LICENCE' in this directory. 8 * For licensing information, see the file 'LICENCE' in this directory.
9 * 9 *
10 * $Id: write.c,v 1.94 2005/07/20 15:50:51 dedekind Exp $ 10 * $Id: write.c,v 1.95 2005/08/17 13:46:23 dedekind Exp $
11 * 11 *
12 */ 12 */
13 13
@@ -533,7 +533,8 @@ int jffs2_do_create(struct jffs2_sb_info *c, struct jffs2_inode_info *dir_f, str
533 533
534 534
535int jffs2_do_unlink(struct jffs2_sb_info *c, struct jffs2_inode_info *dir_f, 535int jffs2_do_unlink(struct jffs2_sb_info *c, struct jffs2_inode_info *dir_f,
536 const char *name, int namelen, struct jffs2_inode_info *dead_f) 536 const char *name, int namelen, struct jffs2_inode_info *dead_f,
537 uint32_t time)
537{ 538{
538 struct jffs2_raw_dirent *rd; 539 struct jffs2_raw_dirent *rd;
539 struct jffs2_full_dirent *fd; 540 struct jffs2_full_dirent *fd;
@@ -565,7 +566,7 @@ int jffs2_do_unlink(struct jffs2_sb_info *c, struct jffs2_inode_info *dir_f,
565 rd->pino = cpu_to_je32(dir_f->inocache->ino); 566 rd->pino = cpu_to_je32(dir_f->inocache->ino);
566 rd->version = cpu_to_je32(++dir_f->highest_version); 567 rd->version = cpu_to_je32(++dir_f->highest_version);
567 rd->ino = cpu_to_je32(0); 568 rd->ino = cpu_to_je32(0);
568 rd->mctime = cpu_to_je32(get_seconds()); 569 rd->mctime = cpu_to_je32(time);
569 rd->nsize = namelen; 570 rd->nsize = namelen;
570 rd->type = DT_UNKNOWN; 571 rd->type = DT_UNKNOWN;
571 rd->node_crc = cpu_to_je32(crc32(0, rd, sizeof(*rd)-8)); 572 rd->node_crc = cpu_to_je32(crc32(0, rd, sizeof(*rd)-8));
@@ -646,7 +647,7 @@ int jffs2_do_unlink(struct jffs2_sb_info *c, struct jffs2_inode_info *dir_f,
646} 647}
647 648
648 649
649int jffs2_do_link (struct jffs2_sb_info *c, struct jffs2_inode_info *dir_f, uint32_t ino, uint8_t type, const char *name, int namelen) 650int jffs2_do_link (struct jffs2_sb_info *c, struct jffs2_inode_info *dir_f, uint32_t ino, uint8_t type, const char *name, int namelen, uint32_t time)
650{ 651{
651 struct jffs2_raw_dirent *rd; 652 struct jffs2_raw_dirent *rd;
652 struct jffs2_full_dirent *fd; 653 struct jffs2_full_dirent *fd;
@@ -674,7 +675,7 @@ int jffs2_do_link (struct jffs2_sb_info *c, struct jffs2_inode_info *dir_f, uint
674 rd->pino = cpu_to_je32(dir_f->inocache->ino); 675 rd->pino = cpu_to_je32(dir_f->inocache->ino);
675 rd->version = cpu_to_je32(++dir_f->highest_version); 676 rd->version = cpu_to_je32(++dir_f->highest_version);
676 rd->ino = cpu_to_je32(ino); 677 rd->ino = cpu_to_je32(ino);
677 rd->mctime = cpu_to_je32(get_seconds()); 678 rd->mctime = cpu_to_je32(time);
678 rd->nsize = namelen; 679 rd->nsize = namelen;
679 680
680 rd->type = type; 681 rd->type = type;