seq_file: reset iterator to first record for zero offset
authorTomasz Majchrzak <tomasz.majchrzak@intel.com>
Tue, 29 Nov 2016 14:18:20 +0000 (15:18 +0100)
committerAl Viro <viro@zeniv.linux.org.uk>
Fri, 23 Dec 2016 04:03:06 +0000 (23:03 -0500)
commite522751d605d99a81508e58390a8f51ee96fb662
tree0369ee45c1983b85350a85be34de5e7304dc1d03
parent22725ce4e4a00fbc37694e25dc5c8acef8ad1c28
seq_file: reset iterator to first record for zero offset

If kernfs file is empty on a first read, successive read operations
using the same file descriptor will return no data, even when data is
available. Default kernfs 'seq_next' implementation advances iterator
position even when next object is not there. Kernfs 'seq_start' for
following requests will not return iterator as position is already on
the second object.

This defect doesn't allow to monitor badblocks sysfs files from MD raid.
They are initially empty but if data appears at some stage, userspace is
not able to read it.

Signed-off-by: Tomasz Majchrzak <tomasz.majchrzak@intel.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/seq_file.c