From: Tsutomu Itoh Date: Wed, 17 Nov 2010 01:07:52 +0000 (+0900) Subject: btrfs-progs: setting of time to the root directory X-Git-Tag: upstream/0.20.rc1~120 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c55248003ca39fa5d102c795474029bf1cfec999;p=platform%2Fupstream%2Fbtrfs-progs.git btrfs-progs: setting of time to the root directory This patch adds the setting of time to the root directory to the mkfs.btrfs command. As a result, the time of the mount point not correctly displayed comes to be displayed correctly. [before] # mkfs.btrfs /dev/sdd10 # mount /dev/sdd10 /test1 # ls -ld /test1 dr-xr-xr-x 1 root root 0 Jan 1 1970 /test1 [after] # date Tue Nov 16 18:06:05 JST 2010 # mkfs.btrfs /dev/sdd10 # mount /dev/sdd10 /test1 # ls -ld /test1 dr-xr-xr-x 1 root root 0 Nov 16 18:06 /test1 Thanks, Tsutomu Signed-off-by: Tsutomu Itoh Signed-off-by: Hugo Mills --- diff --git a/utils.c b/utils.c index 17e5afe..74d2c59 100644 --- a/utils.c +++ b/utils.c @@ -587,6 +587,7 @@ int btrfs_make_root_dir(struct btrfs_trans_handle *trans, { int ret; struct btrfs_inode_item inode_item; + time_t now = time(NULL); memset(&inode_item, 0, sizeof(inode_item)); btrfs_set_stack_inode_generation(&inode_item, trans->transid); @@ -594,6 +595,14 @@ int btrfs_make_root_dir(struct btrfs_trans_handle *trans, btrfs_set_stack_inode_nlink(&inode_item, 1); btrfs_set_stack_inode_nbytes(&inode_item, root->leafsize); btrfs_set_stack_inode_mode(&inode_item, S_IFDIR | 0555); + btrfs_set_stack_timespec_sec(&inode_item.atime, now); + btrfs_set_stack_timespec_nsec(&inode_item.atime, 0); + btrfs_set_stack_timespec_sec(&inode_item.ctime, now); + btrfs_set_stack_timespec_nsec(&inode_item.ctime, 0); + btrfs_set_stack_timespec_sec(&inode_item.mtime, now); + btrfs_set_stack_timespec_nsec(&inode_item.mtime, 0); + btrfs_set_stack_timespec_sec(&inode_item.otime, 0); + btrfs_set_stack_timespec_nsec(&inode_item.otime, 0); if (root->fs_info->tree_root == root) btrfs_set_super_root_dir(&root->fs_info->super_copy, objectid);