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

From: Jewsco Pius Jacquez <[email-masked]>
Date: Tue, 12 Jun 2018 15:10:35 +0000

Padraig, thanks a lot for your help on this.

We found a workaround combined with cache=none mount option and it works for our customer. You can close this case.

tail --follow=name --max-unchanged-stats=1 --sleep-interval=.01 <filename>

thanks,
jewsco

-----Original Message-----
From: Pádraig Brady [mailto:[email-masked]] 
Sent: Wednesday, May 23, 2018 12:10 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 22/05/18 14:23, Jewsco Pius Jacquez wrote:
> Any more ideas?
> 
> Thanks,
> Jewsco
> 
> -----Original Message-----
> From: Jewsco Pius Jacquez
> Sent: Tuesday, May 8, 2018 8:56 AM
> To: 'Pádraig Brady' <[email-masked]>; [email-masked]
> Subject: RE: bug#31184: tail -f on Network FS not refreshing as soon as the file is changed.
> 
> Thanks
> 
> Still the same, the -f doesn't refresh. it applies to CIFS and NFS filesystem. Is it something related on how the network filesystem was designed?
> 
> Thanks,
> Jewsco
> 
> -----Original Message-----
> From: Pádraig Brady [mailto:[email-masked]]
> Sent: Saturday, May 5, 2018 5:52 PM
> 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 04/05/18 08:12, Jewsco Pius Jacquez wrote:
>> Thanks, did I missed anything?
>>
>> [jjacquez@cmilsbtest02 ~]$ wget --quiet 
>> https://ftpmirror.gnu.org/coreutils/coreutils-8.29.tar.xz
>> [jjacquez@cmilsbtest02 ~]$ cksum coreutils-8.29.tar.xz
>> 926393761 5286588 coreutils-8.29.tar.xz
>> [jjacquez@cmilsbtest02 ~]$ tar -xf coreutils-8.29.tar.xz
>> [jjacquez@cmilsbtest02 ~]$ cd coreutils-8.29/
>> [jjacquez@cmilsbtest02 coreutils-8.29]$ wget --quiet 
>> 'https://github.com/coreutils/coreutils/commit/7fc7206.patch' -O- | 
>> patch -R -p1 && make patching file NEWS Unreversed patch detected!
>> Ignore -R? [n] Apply anyway? [n] Skipping patch.
>> 1 out of 1 hunk ignored -- saving rejects to file NEWS.rej patching 
>> file src/tail.c Hunk #1 FAILED at 1220.
>> 1 out of 1 hunk FAILED -- saving rejects to file src/tail.c.rej
>> [jjacquez@cmilsbtest02 coreutils-8.29]$
>>
>>
>>
>> Thanks,
>> Jewsco
>>
>>
>>
>>
>>
>> -----Original Message-----
>> From: Pádraig Brady [mailto:[email-masked]]
>> Sent: Thursday, May 3, 2018 8:47 PM
>> 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 02/05/18 06:39, Jewsco Pius Jacquez wrote:
>>> 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
>>
>> You'd done that previously, for for completeness yes you need to download the source first like:
>>
>>   wget https://ftpmirror.gnu.org/coreutils/coreutils-8.29.tar.xz
>>   tar -xf coreutils-8.29.tar.xz
> 
> Drats sorry. There were conflicting patches in the meantime.
> You can tweak it like:
> 
>  cd coreutils-8.29 &&
>  wget 'https://github.com/coreutils/coreutils/commit/7fc7206.patch' 
> -O- |  sed 's/name,/false, name,/' |  patch -p1 -R -t &&  make
> 
> cheers,
> Pádraig
> This message and the information contained herein is proprietary and 
> confidential and subject to the Amdocs policy statement,

Well I can't repro with 8.29 on nfs here.
Perhaps the read() is blocking or something.
It would be useful to get the output of:

  strace -o tail.strace tail -f /media/samba/test.file

Also for completeness, it would be good to give the command used to write to the file on the remote end.

thanks,
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>