[bug #54913] find: "-type"-test wrong on bind-mounted char device

2018-11-01 Thread Bernhard Voelker
Follow-up Comment #4, bug #54913 (project findutils): What a pity: that code - to use the D_TYPE returned from gnulib's FTS - has been added to avoid an extra stat() when getdents() already returns it: https://git.sv.gnu.org/cgit/findutils.git/commit/?id=acb82fe [adding Jim as the patch author]

[bug #54913] find: "-type"-test wrong on bind-mounted char device

2018-11-01 Thread Bernhard Voelker
Follow-up Comment #3, bug #54913 (project findutils): yes, getdents returns d_type=DT_REG, while the later newfstatat - needed for the -ls action - returns st_mode=S_IFCHR: getdents(4, [ {d_ino=319425, d_off=1, d_reclen=24, d_name=".", d_type=DT_DIR}, {d_ino=13363, d_off=2, d_reclen=24, d_n

Re: [PATCH] find -samedev NAME: true for files on the same device as NAME

2018-11-01 Thread Eric Blake
On 11/1/18 10:56 AM, Kamil Dudka wrote: There is no easy way to exclude mount points from the output of `find`. The options -xdev or -mount prevent `find` from traversing over the mount points but do not exclude the mount points themselves. It could be scripted by AWK on Linux as in the followin

[PATCH] find -samedev NAME: true for files on the same device as NAME

2018-11-01 Thread Kamil Dudka
There is no easy way to exclude mount points from the output of `find`. The options -xdev or -mount prevent `find` from traversing over the mount points but do not exclude the mount points themselves. It could be scripted by AWK on Linux as in the following example: $ find / -xdev -maxdepth 1 $(a