From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751387AbcFXXIy (ORCPT ); Fri, 24 Jun 2016 19:08:54 -0400 Received: from mail-io0-f195.google.com ([209.85.223.195]:35441 "EHLO mail-io0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750996AbcFXXIw (ORCPT ); Fri, 24 Jun 2016 19:08:52 -0400 MIME-Version: 1.0 In-Reply-To: <14013437.bAvQTZLQL2@wuerfel> References: <1466382443-11063-1-git-send-email-deepa.kernel@gmail.com> <1466382443-11063-7-git-send-email-deepa.kernel@gmail.com> <14013437.bAvQTZLQL2@wuerfel> From: Deepa Dinamani Date: Fri, 24 Jun 2016 16:08:51 -0700 Message-ID: Subject: Re: [PATCH v2 06/24] fs: ext4: Use current_time() for inode timestamps To: Arnd Bergmann Cc: Linux FS-devel Mailing List , Linux Kernel Mailing List , Thomas Gleixner , Linus Torvalds , "Theodore Ts'o" , Alexander Viro , y2038 Mailman List , Andreas Dilger , linux-ext4@vger.kernel.org Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org >> @@ -3727,6 +3727,7 @@ static int ext4_cross_rename(struct inode *old_dir, struct dentry *old_dentry, >> }; >> u8 new_file_type; >> int retval; >> + struct timespec ctime; >> >> if ((ext4_encrypted_inode(old_dir) || >> ext4_encrypted_inode(new_dir)) && >> @@ -3829,8 +3830,9 @@ static int ext4_cross_rename(struct inode *old_dir, struct dentry *old_dentry, >> * Like most other Unix systems, set the ctime for inodes on a >> * rename. >> */ >> - old.inode->i_ctime = ext4_current_time(old.inode); >> - new.inode->i_ctime = ext4_current_time(new.inode); >> + ctime = current_time(old.inode); >> + old.inode->i_ctime = ctime; >> + new.inode->i_ctime = ctime; >> ext4_mark_inode_dirty(handle, old.inode); >> ext4_mark_inode_dirty(handle, new.inode); >> > > Adding a local variable here looks like it is going to cause us trouble when we > change the return type of current_time() to timespec64. > > I'd write this as > > new.inode->i_ctime = old.inode->i_ctime; > > instead. This should be fine. There are already instances that use local timespecs for inode time assignments. These can be changed this way: + ctime = vfs_time_to_timespec(current_time(old.inode)); + old.inode->i_ctime = timespec_to_vfs_time(ctime); + new.inode->i_ctime = timespec_to_vfs_time(ctime); This could be a little inefficient, but only temporary. The local variable can be changed to timespec64 when the macros are deleted. I'm trying to make minimal changes. -Deepa From mboxrd@z Thu Jan 1 00:00:00 1970 From: Deepa Dinamani Subject: Re: [PATCH v2 06/24] fs: ext4: Use current_time() for inode timestamps Date: Fri, 24 Jun 2016 16:08:51 -0700 Message-ID: References: <1466382443-11063-1-git-send-email-deepa.kernel@gmail.com> <1466382443-11063-7-git-send-email-deepa.kernel@gmail.com> <14013437.bAvQTZLQL2@wuerfel> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: Theodore Ts'o , y2038 Mailman List , Linux Kernel Mailing List , Andreas Dilger , Alexander Viro , Linux FS-devel Mailing List , Thomas Gleixner , linux-ext4@vger.kernel.org, Linus Torvalds To: Arnd Bergmann Return-path: In-Reply-To: <14013437.bAvQTZLQL2@wuerfel> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: y2038-bounces@lists.linaro.org Sender: "Y2038" List-Id: linux-ext4.vger.kernel.org Pj4gQEAgLTM3MjcsNiArMzcyNyw3IEBAIHN0YXRpYyBpbnQgZXh0NF9jcm9zc19yZW5hbWUoc3Ry dWN0IGlub2RlICpvbGRfZGlyLCBzdHJ1Y3QgZGVudHJ5ICpvbGRfZGVudHJ5LAo+PiAgICAgICAg IH07Cj4+ICAgICAgICAgdTggbmV3X2ZpbGVfdHlwZTsKPj4gICAgICAgICBpbnQgcmV0dmFsOwo+ PiArICAgICAgIHN0cnVjdCB0aW1lc3BlYyBjdGltZTsKPj4KPj4gICAgICAgICBpZiAoKGV4dDRf ZW5jcnlwdGVkX2lub2RlKG9sZF9kaXIpIHx8Cj4+ICAgICAgICAgICAgICBleHQ0X2VuY3J5cHRl ZF9pbm9kZShuZXdfZGlyKSkgJiYKPj4gQEAgLTM4MjksOCArMzgzMCw5IEBAIHN0YXRpYyBpbnQg ZXh0NF9jcm9zc19yZW5hbWUoc3RydWN0IGlub2RlICpvbGRfZGlyLCBzdHJ1Y3QgZGVudHJ5ICpv bGRfZGVudHJ5LAo+PiAgICAgICAgICAqIExpa2UgbW9zdCBvdGhlciBVbml4IHN5c3RlbXMsIHNl dCB0aGUgY3RpbWUgZm9yIGlub2RlcyBvbiBhCj4+ICAgICAgICAgICogcmVuYW1lLgo+PiAgICAg ICAgICAqLwo+PiAtICAgICAgIG9sZC5pbm9kZS0+aV9jdGltZSA9IGV4dDRfY3VycmVudF90aW1l KG9sZC5pbm9kZSk7Cj4+IC0gICAgICAgbmV3Lmlub2RlLT5pX2N0aW1lID0gZXh0NF9jdXJyZW50 X3RpbWUobmV3Lmlub2RlKTsKPj4gKyAgICAgICBjdGltZSA9IGN1cnJlbnRfdGltZShvbGQuaW5v ZGUpOwo+PiArICAgICAgIG9sZC5pbm9kZS0+aV9jdGltZSA9IGN0aW1lOwo+PiArICAgICAgIG5l dy5pbm9kZS0+aV9jdGltZSA9IGN0aW1lOwo+PiAgICAgICAgIGV4dDRfbWFya19pbm9kZV9kaXJ0 eShoYW5kbGUsIG9sZC5pbm9kZSk7Cj4+ICAgICAgICAgZXh0NF9tYXJrX2lub2RlX2RpcnR5KGhh bmRsZSwgbmV3Lmlub2RlKTsKPj4KPgo+IEFkZGluZyBhIGxvY2FsIHZhcmlhYmxlIGhlcmUgbG9v a3MgbGlrZSBpdCBpcyBnb2luZyB0byBjYXVzZSB1cyB0cm91YmxlIHdoZW4gd2UKPiBjaGFuZ2Ug dGhlIHJldHVybiB0eXBlIG9mIGN1cnJlbnRfdGltZSgpIHRvIHRpbWVzcGVjNjQuCj4KPiBJJ2Qg d3JpdGUgdGhpcyBhcwo+Cj4gICAgICAgICBuZXcuaW5vZGUtPmlfY3RpbWUgPSBvbGQuaW5vZGUt PmlfY3RpbWU7Cj4KPiBpbnN0ZWFkLgoKVGhpcyBzaG91bGQgYmUgZmluZS4KVGhlcmUgYXJlIGFs cmVhZHkgaW5zdGFuY2VzIHRoYXQgdXNlIGxvY2FsIHRpbWVzcGVjcyBmb3IgaW5vZGUgdGltZSBh c3NpZ25tZW50cy4KClRoZXNlIGNhbiBiZSBjaGFuZ2VkIHRoaXMgd2F5OgoKKyAgICAgICBjdGlt ZSA9IHZmc190aW1lX3RvX3RpbWVzcGVjKGN1cnJlbnRfdGltZShvbGQuaW5vZGUpKTsKKyAgICAg ICBvbGQuaW5vZGUtPmlfY3RpbWUgPSB0aW1lc3BlY190b192ZnNfdGltZShjdGltZSk7CisgICAg ICAgbmV3Lmlub2RlLT5pX2N0aW1lID0gdGltZXNwZWNfdG9fdmZzX3RpbWUoY3RpbWUpOwoKVGhp cyBjb3VsZCBiZSBhIGxpdHRsZSBpbmVmZmljaWVudCwgYnV0IG9ubHkgdGVtcG9yYXJ5LgpUaGUg bG9jYWwgdmFyaWFibGUgY2FuIGJlIGNoYW5nZWQgdG8gdGltZXNwZWM2NCB3aGVuIHRoZSBtYWNy b3MgYXJlIGRlbGV0ZWQuCgpJJ20gdHJ5aW5nIHRvIG1ha2UgbWluaW1hbCBjaGFuZ2VzLgoKLURl ZXBhCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClkyMDM4 IG1haWxpbmcgbGlzdApZMjAzOEBsaXN0cy5saW5hcm8ub3JnCmh0dHBzOi8vbGlzdHMubGluYXJv Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3kyMDM4Cg==