diff options
author | Artem B. Bityutskiy <dedekind@infradead.org> | 2005-08-17 09:46:26 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@mtd.linutronix.de> | 2005-11-06 14:25:59 -0500 |
commit | 3a69e0cd22cf34920508a4032d53e41251925f53 (patch) | |
tree | f6f862aa743e3de98e348c20d84a26772da06195 /fs/jffs2/write.c | |
parent | 01d445f89d68187c9ada7b58ca939dbb987c9fbd (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.c | 11 |
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 | ||
535 | int jffs2_do_unlink(struct jffs2_sb_info *c, struct jffs2_inode_info *dir_f, | 535 | int 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 | ||
649 | int 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) | 650 | int 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; |