lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-id: <A1BDA448-5948-4D2E-B456-5AF6F87149DF@sun.com>
Date:	Wed, 14 Oct 2009 11:10:57 -0700
From:	Andreas Dilger <adilger@....com>
To:	Kazuya Mio <k-mio@...jp.nec.com>
Cc:	linux-ext4@...r.kernel.org, Theodore Tso <tytso@....edu>
Subject: Re: [PATCH 2/2] ext4: update donor file's ctime/mtime

On 13-Oct-09, at 18:49, Kazuya Mio wrote:
> 2009/10/10 2:20, Andreas Dilger wrote::
>>
>> On 8-Oct-09, at 02:04, Kazuya Mio wrote:
>>
>>> EXT4_IOC_MOVE_EXT changes donor file data, but doesn't update
>>> ctime/mtime.  This patch fixes this problem.
>>
>> I would argue that just migrating the file data shouldn't update the
>> ctime/mtime.  Those are used to determine if the file has changed  
>> in some way, usually for the purpose of backup.  Migrating the data  
>> does not change anything from user-space POV and shouldn't force a  
>> new backup of the file.
>
> EXT4_IOC_MOVE_EXT always changes the original actual contents of  
> donor file
> if orig file and donor file aren't the same. It may be that some of
> user-space implementations hide such a changing. For example, e4defrag
> unlinks the donor file, and removes it by decreasing reference count  
> after
> calling EXT4_IOC_MOVE_EXT. But from the ioctl point of view,
> EXT4_IOC_MOVE_EXT doesn't know whether donor file will be removed or  
> not,
> so I think we should update ctime/mtime.

Maybe I am confused.  Is EXT4_IOC_MOVE_EXT used for file  
defragmentation?
I thought the goal of this ioctl was to copy the data from the donor  
inode
to the target inode (using a new allocation in the target inode), and  
then
once the whole donor file had been copied (defragmented) the target  
extents
replace the entire donor file's extents?

In this model it would be OK to change the mtime/ctime of the _target_  
file,
but when these extents move back to the donor file the mtime/ctime of  
the donor
file should not be changed, I think, so that it does not force a full  
backup.

If the caller has done something to change the actual data in the  
donor file
it can always use utimes() to update the ctime/mtime, but it is not  
possible
for userspace to revert the ctime after it has changed.

Cheers, Andreas
--
Andreas Dilger
Sr. Staff Engineer, Lustre Group
Sun Microsystems of Canada, Inc.

--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ