[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKYAXd-4LeGC1o-VbhCWxHxefDV-9YVBoecBuan0Vh2gKS98Kw@mail.gmail.com>
Date: Fri, 16 Nov 2012 19:12:57 +0900
From: Namjae Jeon <linkinjeon@...il.com>
To: OGAWA Hirofumi <hirofumi@...l.parknet.co.jp>
Cc: akpm@...ux-foundation.org, linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org,
Amit Sahrawat <amit.sahrawat83@...il.com>
Subject: Re: [PATCH 2/3] fat: fix time updates for create and delete
2012/11/15, OGAWA Hirofumi <hirofumi@...l.parknet.co.jp>:
> Namjae Jeon <linkinjeon@...il.com> writes:
>
>> 1)If we consider the code for FAT and MSDOS to be same with respect to
>> timing updates - there there is difference in code as mentioned below:
>> a) For:vfat_rmdir()
>> inode->i_mtime = inode->i_atime = CURRENT_TIME_SEC;
>> For:msdos_rmdir()
>> inode->i_ctime = CURRENT_TIME_SEC;
>>
>> b) For: vfat_unlink()
>> inode->i_mtime = inode->i_atime = CURRENT_TIME_SEC;
>> For: msdos_unlink()
>> inode->i_ctime = CURRENT_TIME_SEC;
>>
>> So, atleast the uniformity in the code is missing for MSDOS and VFAT.
>
> MSDOS doesn't have atime.
>
>> 2) Regarding timings information
>> Original timings on VFAT:
>> #> mkdir parent
>> #> stat parent
>> File type: directory
>> I-node number: 30
>> Mode: 40755 (octal)
>> Link count: 2
>> Ownership: UID=0 GID=0
>> Preferred I/O block size: 4096 bytes
>> File size: 4096 bytes
>> Blocks allocated: 8
>> Last status change: Thu Jan 1 00:01:29 2012
>> Last file access: Thu Jan 1 00:01:29 2012
>> Last file modification: Thu Jan 1 00:01:29 2012
>
> [...]
>
>> As can be seen from the 'stat' information - the timing information
>> appears same for VFAT like EXT4/XFS after changes.
>> Please let me know your opinion.
>
> You have to think about compatibility with other FAT, not unix fs.
Agreed, ctime is creation time, and there are comptability issues with
the patch.
But there is confusion about 'ctime' usage in the default code. When
referring the code I found many instances except 'fat_fill_inode'
where 'ctime' is updated as if it is 'change time' instead of
'creation time' like in functions: fat_write_end(), fat_cont_expend(),
fat_free(), vfat_add_entry().
As a case when I check using a simple case:
dd if=/dev/zero of=./samplefile bs=4096 count=10
=> check file timings
wait for 2minutes
Now, append to this file
echo "this is simple string to be appended" >> samplefile
=> check file timings
I can see - it resulted in change in 'ctime' and 'mtime'.
Now, when Connecting this Drive to Windows - it shows the time of
'second write' as the CREATION time as well as "Modification time".
If you agree that this is a strange/problem. I can try to fix the
timestamp of linux FAT checking this compatability pattern to the
nearest.
Let me know your opinion.
Thanks.
> --
> OGAWA Hirofumi <hirofumi@...l.parknet.co.jp>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists