From: "Darrick J. Wong" <djwong@kernel.org>
To: Andrey Albershteyn <aalbersh@redhat.com>
Cc: cem@kernel.org, linux-xfs@vger.kernel.org
Subject: Re: [PATCH 5/5] xfs_fsr: convert fsrallfs to use time_t instead of int
Date: Tue, 16 Apr 2024 10:07:01 -0700 [thread overview]
Message-ID: <20240416170701.GQ11948@frogsfrogsfrogs> (raw)
In-Reply-To: <ay75niholqd2z7tlcgygzoyzc7qyt2zgkh76utoyvk3vayytq4@57qbfxilszhk>
On Tue, Apr 16, 2024 at 06:31:57PM +0200, Andrey Albershteyn wrote:
> On 2024-04-16 09:21:25, Darrick J. Wong wrote:
> > On Tue, Apr 16, 2024 at 02:34:27PM +0200, Andrey Albershteyn wrote:
> > > Convert howlong argument to a time_t as it's truncated to int, but in
> > > practice this is not an issue as duration will never be this big.
> > >
> > > Signed-off-by: Andrey Albershteyn <aalbersh@redhat.com>
> > > ---
> > > fsr/xfs_fsr.c | 4 ++--
> > > 1 file changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/fsr/xfs_fsr.c b/fsr/xfs_fsr.c
> > > index 3077d8f4ef46..07f3c8e23deb 100644
> > > --- a/fsr/xfs_fsr.c
> > > +++ b/fsr/xfs_fsr.c
> > > @@ -72,7 +72,7 @@ static int packfile(char *fname, char *tname, int fd,
> > > static void fsrdir(char *dirname);
> > > static int fsrfs(char *mntdir, xfs_ino_t ino, int targetrange);
> > > static void initallfs(char *mtab);
> > > -static void fsrallfs(char *mtab, int howlong, char *leftofffile);
> > > +static void fsrallfs(char *mtab, time_t howlong, char *leftofffile);
> > > static void fsrall_cleanup(int timeout);
> > > static int getnextents(int);
> > > int xfsrtextsize(int fd);
> > > @@ -387,7 +387,7 @@ initallfs(char *mtab)
> > > }
> > >
> > > static void
> > > -fsrallfs(char *mtab, int howlong, char *leftofffile)
> > > +fsrallfs(char *mtab, time_t howlong, char *leftofffile)
> >
> > Do you have to convert the printf format specifier too?
>
> is time_t always long?
There don't seem to be any guarantees at all.
The most portable strategy is to cast the value to an unsigned long long
and use %ll[ux]. Awkwardly, time_t seems to get used both for actual
timestamps and time deltas.
> >
> > Also what happens if there's a parsing error and atoi() fails? Right
> > now it looks like -t garbage gets you a zero run-time instead of a cli
> > parsing complaint?
>
> I suppose it the same as atoi() returns 0 on garbage
<nod> All those cli integer parsing things need better checking, though
that's its own cleanup series and not related to this patch.
--D
> >
> > --D
> >
> > > {
> > > int fd;
> > > int error;
> > > --
> > > 2.42.0
> > >
> > >
> >
>
> --
> - Andrey
>
>
next prev parent reply other threads:[~2024-04-16 17:07 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-16 12:34 [PATCH 0/5] xfsprogs random fixes found by Coverity scan Andrey Albershteyn
2024-04-16 12:34 ` [PATCH 1/5] xfs_db: fix leak in flist_find_ftyp() Andrey Albershteyn
2024-04-16 16:07 ` Darrick J. Wong
2024-04-16 16:32 ` Christoph Hellwig
2024-04-16 12:34 ` [PATCH 2/5] xfs_repair: make duration take time_t Andrey Albershteyn
2024-04-16 16:12 ` Darrick J. Wong
2024-04-16 16:20 ` Andrey Albershteyn
2024-04-16 16:45 ` Christoph Hellwig
2024-04-16 12:34 ` [PATCH 3/5] xfs_io: init count to stop loop from execution Andrey Albershteyn
2024-04-16 16:15 ` Darrick J. Wong
2024-04-16 16:22 ` Andrey Albershteyn
2024-04-16 12:34 ` [PATCH 4/5] xfs_scrub: don't call phase_end if phase_rusage was not initialized Andrey Albershteyn
2024-04-16 16:18 ` Darrick J. Wong
2024-04-16 12:34 ` [PATCH 5/5] xfs_fsr: convert fsrallfs to use time_t instead of int Andrey Albershteyn
2024-04-16 16:21 ` Darrick J. Wong
2024-04-16 16:31 ` Andrey Albershteyn
2024-04-16 17:07 ` Darrick J. Wong [this message]
2024-04-16 16:39 ` Eric Sandeen
2024-04-16 16:41 ` Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240416170701.GQ11948@frogsfrogsfrogs \
--to=djwong@kernel.org \
--cc=aalbersh@redhat.com \
--cc=cem@kernel.org \
--cc=linux-xfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).