[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re:
From: |
James Youngman |
Subject: |
Re: |
Date: |
Mon, 23 Jul 2018 11:28:48 +0100 |
On Mon, Jul 23, 2018 at 8:04 AM, Kamil Dudka <address@hidden> wrote:
>
>
> I am pretty sure this is caused by stat() returning st_ino==0. There is
> a (private) bug in Red Hat Bugzilla about find(1) crashing on the same
> assertion failure while traversing an Azure CIFS file system. In that
> case it was confirmed by strace that stat() returning st_ino==0 is the
> actual cause of the crash. However, I considered it to be rather a bug
> in the file system implementation, not in the find(1) utility.
I'd mostly agree. The POSIX spec requires that the (st_ino, st_dev)
combination be unique:-
> The st_ino and st_dev fields taken together uniquely identify the file within
> the system. The blkcnt_t, blksize_t, dev_t, ino_t, mode_t, nlink_t, uid_t,
> gid_t, off_t, and time_t types shall be defined as described in
> <sys/types.h>. The timespec structure may be defined as described in
> <time.h>. Times shall be given in seconds since the Epoch.
Find (for example in the -samefile test) relies on this behaviour.
However, if only one file on the whole system has st_ino==0, this
uniqueness condition still holds. So by itself, st_ino==0 may still
be standard-conforming.
James.
- [no subject], Jonathan M. Wilbur, 2018/07/12
- Re: find assertion failure with vboxsf, Bernhard Voelker, 2018/07/13
- Re:, James Youngman, 2018/07/22
- RE:, Jonathan M. Wilbur, 2018/07/22
- Re:, Kamil Dudka, 2018/07/23
- Re:,
James Youngman <=
- Re:, Dale R. Worley, 2018/07/30