Re: xfsprogs: fix utcnow deprecation warning in xfs_scrub_all.py

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

 



On Tue, Aug 26, 2025 at 03:15:42PM +0200, Christian Kujau wrote:
> Running xfs_scrub_all under Python 3.13.5 prints the following warning:
> 
> ----------------------------------------------
> $ /usr/sbin/xfs_scrub_all --auto-media-scan-stamp \
>    /var/lib/xfsprogs/xfs_scrub_all_media.stamp \
>    --auto-media-scan-interval 1d
> /usr/sbin/xfs_scrub_all:489: DeprecationWarning: 
> datetime.datetime.utcnow() is deprecated and scheduled for removal in a 
> future version. Use timezone-aware objects to represent datetimes in UTC: 
> datetime.datetime.now(datetime.UTC).
>   dt = datetime.utcnow()
> Automatically enabling file data scrub.
> ----------------------------------------------
> 
> Python documentation for context: 
> https://docs.python.org/3/library/datetime.html#datetime.datetime.utcnow
> 
> Fix this by using datetime.now() instead.
> 
> NB: Debian/13 ships Python 3.13.5 and has a xfs_scrub_all.timer active, 
> I'd assume that many systems will have that warning now in their logs :-)
> 
> Signed-off-by: Christian Kujau <lists@xxxxxxxxxxxxxxx>

Heh heh heh.  That old code was for compatibility with RHEL6(?) back
when I started writing online fsck.  That's indeed no longer needed
because even RHEL7 supports datetime.now, so thank you for the update!

Reviewed-by: "Darrick J. Wong" <djwong@xxxxxxxxxx>

--D

> 
> diff --git a/scrub/xfs_scrub_all.py.in b/scrub/xfs_scrub_all.py.in
> index 515cc144..a94b1b71 100644
> --- a/scrub/xfs_scrub_all.py.in
> +++ b/scrub/xfs_scrub_all.py.in
> @@ -496,8 +496,7 @@ def scan_interval(string):
>  def utcnow():
>  	'''Create a representation of the time right now, in UTC.'''
>  
> -	dt = datetime.utcnow()
> -	return dt.replace(tzinfo = timezone.utc)
> +	return datetime.now(timezone.utc)
>  
>  def enable_automatic_media_scan(args):
>  	'''Decide if we enable media scanning automatically.'''
> 
> 
> -- 
> BOFH excuse #360:
> 
> Your parity check is overdrawn and you're out of cache.
> 




[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux