Subject: bug#31184: tail -f on Network FS not refreshing as soon as the file is changed.

From: Jewsco Pius Jacquez <[email-masked]>
Date: Wed, 2 May 2018 13:39:23 +0000

I tried and the --follow=name doesn't refresh either. The stat output is changing.

[jjacquez@cmilsbtest03 ~]$ tail --follow=name /media/samba/test.file
append Wed May  2 08:35:54 CDT 2018
append Wed May  2 08:35:54 CDT 2018
append Wed May  2 08:35:54 CDT 2018
append Wed May  2 08:35:54 CDT 2018
append Wed May  2 08:35:54 CDT 2018
append Wed May  2 08:35:54 CDT 2018
append Wed May  2 08:35:54 CDT 2018
append Wed May  2 08:35:54 CDT 2018
append Wed May  2 08:35:54 CDT 2018
append Wed May  2 08:35:55 CDT 2018
^C
[jjacquez@cmilsbtest03 ~]$ tail --follow=name /media/samba/test.file
append Wed May  2 08:36:01 CDT 2018
append Wed May  2 08:36:01 CDT 2018
append Wed May  2 08:36:01 CDT 2018
append Wed May  2 08:36:02 CDT 2018
append Wed May  2 08:36:02 CDT 2018
append Wed May  2 08:36:02 CDT 2018
append Wed May  2 08:36:02 CDT 2018
append Wed May  2 08:36:02 CDT 2018
append Wed May  2 08:36:02 CDT 2018
append Wed May  2 08:36:02 CDT 2018
^C
[jjacquez@cmilsbtest03 ~]$ while :; do stat -c '%s' /media/samba/test.file; sleep 1; done
1649717
1650077
1650401
1650761
1651121
1651445
1651769
1652093
1652417

About the reverting the patch, so I need to download the source and patch it?

  cd coreutils-8.29 &&
  wget 'https://github.com/coreutils/coreutils/commit/7fc7206.patch' -O- |
  patch -R -p1 &&
  make

Thanks,
Jewsco

-----Original Message-----
From: Pádraig Brady [mailto:[email-masked]] 
Sent: Wednesday, May 2, 2018 2:46 AM
To: Jewsco Pius Jacquez <[email-masked]>; [email-masked]
Subject: Re: bug#31184: tail -f on Network FS not refreshing as soon as the file is changed.

On 19/04/18 07:43, Jewsco Pius Jacquez wrote:
> Pádraig, thanks for your response.
> 
> In my reproducer environment, it doesn't totally update. RHEL7 Samba server, RHEL6 Samba client.
> 
> Unless I provided the extra interval parameter. 

You said you used: tail --follow=name --max-unchanged-stats=1 --sleep-interval=1

The --sleep-interval=1 having a difference is confusing as that already defaults to one second.
Also --max-unchanged-stats=1 should only make things more responsive.
I would have expected only --follow=name to have a significant difference to the data that is eventually output.

Anyway there may be an issue with st_size updating on your system.
I.E. if stat() didn't update st_size on this remote file then a new change that protects against a related issue on glusterfs may be impacting here. One could check that by reverting the patch and rebuilding in your previous build dir like:

  cd coreutils-8.29 &&
  wget 'https://github.com/coreutils/coreutils/commit/7fc7206.patch' -O- |
  patch -R -p1 &&
  make

One might also check this externally to tail(1) by repeatedly running the following and seeing does the number correlate with remote changes:

  stat -c '%s' /media/samba/test.file

cheers,
Pádraig
This message and the information contained herein is proprietary and confidential and subject to the Amdocs policy statement,

you may review at https://www.amdocs.com/about/email-disclaimer <https://www.amdocs.com/about/email-disclaimer>