coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: stat: reading btime on linux via statx


From: Martin Bukatovic
Subject: Re: stat: reading btime on linux via statx
Date: Mon, 18 Feb 2019 23:58:41 +0100
User-agent: Mutt/1.10.1 (2018-07-13)

On Sun, Dec 23, 2018 at 09:30:39PM +0100, Martin Bukatovic wrote:
> Dear coreutils list,
> 
> I'm interested in seeing btime (birth time) in stat output on GNU Linux
> distributions. Since statx syscall is available since Linux 4.11 [1] and
> glibc wrapper is available since 2.28 [2], now it's finally possible to
> use statx in coreutils tools to display btime.
> 
> I checked the source code of stat and related parts in gnulib
> (stat-time.h) briefly and it seems to me that the current support for
> reporting birth time of a file works on BSD systems and Solaris only.
> To add support for reading btime with Linux, it seems that gnulib
> functions needs to be generalized to use statx when compiled on recent
> Linux kernel. Is anybody already working on this?
> 
> In the meantime, I tried to quickly hack the stat code to add support
> for reading btime via statx in a similar way how btime is read on
> Solaris via getattrat (patch attached). This way, I was able to play
> with this feature quickly:
> 
> ```
> $ touch ~/tmp/testfile
> $ ./stat ~/tmp/testfile
>   File: /home/martin/tmp/testfile
>   Size: 0               Blocks: 0          IO Block: 4096   regular empty file
> Device: fd07h/64775d    Inode: 7388546     Links: 1
> Access: (0664/-rw-rw-r--)  Uid: ( 1000/  martin)   Gid: ( 1000/  martin)
> Access: 2018-12-23 21:18:27.717535190 +0100
> Modify: 2018-12-23 21:18:27.717535190 +0100
> Change: 2018-12-23 21:18:27.717535190 +0100
>  Birth: 2018-12-23 21:18:27.717535190 +0100
> $ touch ~/tmp/testfile
> $ ./stat ~/tmp/testfile
>   File: /home/martin/tmp/testfile
>   Size: 0               Blocks: 0          IO Block: 4096   regular empty file
> Device: fd07h/64775d    Inode: 7388546     Links: 1
> Access: (0664/-rw-rw-r--)  Uid: ( 1000/  martin)   Gid: ( 1000/  martin)
> Access: 2018-12-23 21:18:34.822543416 +0100
> Modify: 2018-12-23 21:18:34.822543416 +0100
> Change: 2018-12-23 21:18:34.822543416 +0100
>  Birth: 2018-12-23 21:18:27.717535190 +0100
> ```
> 
> But as I said, this is rather quick hack, I don't expect you to want
> to merge this.
> 
> [1] 
> https://kernelnewbies.org/Linux_4.11#statx.282.29.2C_a_modern_stat.282.29_alternative
> [2] https://www.sourceware.org/ml/libc-alpha/2018-08/msg00003.html

ping

-- 
Martin Bukatovič



reply via email to

[Prev in Thread] Current Thread [Next in Thread]