Bug#983002: plocate: updatedb fails with "/var/lib/plocate/: Operation not supported"
Steinar, > Are you in a position to try latest git? Yes ... plocate - Debian Package Tracker: https://tracker.debian.org/pkg/plocate says: says "VCS: unknown". Could you add Vcs fields to the control file? I downloaded and built the following snapshots from git.sesse.net: * plocate-e60bf48 - Operation not supported * plocate-2ce489a - Good! * plocate-967b90d - Good! Thank you! Dan Urbana, Illinois
Bug#983002: plocate: updatedb fails with "/var/lib/plocate/: Operation not supported"
Steinar, > Aha. So overlayfs simply does not support O_TMPFILE? > I have a workaround for FreeBSD that can probably > be reused, but it has the usual concerns of not > going away if the process is forcibly interrupted. openat(2): https://manpages.debian.org/testing/manpages-dev/openat.2.en.html says: "O_TMPFILE requires support by the underlying filesystem; only a subset of Linux filesystems provide that support. In the initial implementation, support was provided in the ext2, ext3, ext4, UDF, Minix, and shmem filesystems. Support for other filesystems has subsequently been added as follows: XFS (Linux 3.15); Btrfs (Linux 3.16); F2FS (Linux 3.16); and ubifs (Linux 4.9)" Below is some more detail. The lowerdir is squashfs and the upperdir and workdir are tmpfs. Since writing to /tmp (tmpfs) works, I would expect that writing to /var/lib/plocate would too, since upper/work dir are tmpfs. Perhaps this is a bug in overlayfs? Thank you! Dan Urbana, Illinois --- $ df -hT /var/lib/plocate /tmp Filesystem Type Size Used Avail Use% Mounted on overlayoverlay 2.0G 316M 1.7G 17% / tmpfs tmpfs2.0G 72K 2.0G 1% /tmp $ findmnt -P / TARGET="/" SOURCE="overlay" FSTYPE="overlay" OPTIONS="rw,noatime, lowerdir=/run/live/rootfs/filesystem.squashfs/, upperdir=/run/live/overlay/rw, workdir=/run/live/overlay/work" ###
Bug#983002: plocate: updatedb fails with "/var/lib/plocate/: Operation not supported"
On Fri, Feb 19, 2021 at 08:28:25AM +0100, Steinar H. Gunderson wrote: > Aha. So overlayfs simply does not support O_TMPFILE? I have a workaround for > FreeBSD that can probably be reused, but it has the usual concerns of not > going away if the process is forcibly interrupted. Are you in a position to try latest git? /* Steinar */ -- Homepage: https://www.sesse.net/
Bug#983002: plocate: updatedb fails with "/var/lib/plocate/: Operation not supported"
retitle 983002 plocate: does not work with /var on overlayfs severity 983002 normal thanks On Fri, Feb 19, 2021 at 01:20:00AM -0600, Daniel Lewart wrote: >> Thanks for the bug report. Is there anything special about your >> /var/lib/plocate? Unusual filesystems? SELinux permissions? > Yes, it is a Debian Live image, so it is an Overlay filesystem > (debian-live-testing-amd64-standard.iso). Aha. So overlayfs simply does not support O_TMPFILE? I have a workaround for FreeBSD that can probably be reused, but it has the usual concerns of not going away if the process is forcibly interrupted. /* Steinar */ -- Homepage: https://www.sesse.net/
Bug#983002: plocate: updatedb fails with "/var/lib/plocate/: Operation not supported"
Steinar, > Thanks for the bug report. Is there anything special about your > /var/lib/plocate? Unusual filesystems? SELinux permissions? Yes, it is a Debian Live image, so it is an Overlay filesystem (debian-live-testing-amd64-standard.iso). > I assume this is the O_TMPFILE call somehow, but it would be nice > if you could verify by doing > sudo strace updatedb > and seeing which call is the failing one. Correct. Below is the tail of the output. Thank you! Daniel Lewart Urbana, Illinois --- umask(027) = 022 openat(AT_FDCWD, "/var/lib/plocate/", O_WRONLY|O_TMPFILE, 0640) = -1 EOPNOTSUPP (Operation not supported) dup(2) = 4 fcntl(4, F_GETFL) = 0x2 (flags O_RDWR) fstat(4, {st_mode=S_IFCHR|0620, st_rdev=makedev(0x88, 0x1), ...}) = 0 write(4, "/var/lib/plocate/: Operation not"..., 43/var/lib/plocate/: Operation not supported ) = 43 close(4)= 0 exit_group(1) = ? +++ exited with 1 +++
Bug#983002: plocate: updatedb fails with "/var/lib/plocate/: Operation not supported"
On Wed, Feb 17, 2021 at 09:30:00PM -0600, Daniel Lewart wrote: > updatedb fails with: > /var/lib/plocate/: Operation not supported > > However, writing to a database in a different directory works fine. Hi, Thanks for the bug report. Is there anything special about your /var/lib/plocate? Unusual filesystems? SELinux permissions? I assume this is the O_TMPFILE call somehow, but it would be nice if you could verify by doing sudo strace updatedb and seeing which call is the failing one. /* Steinar */ -- Homepage: https://www.sesse.net/
Bug#983002: plocate: updatedb fails with "/var/lib/plocate/: Operation not supported"
Package: plocate Version: 1.1.3-1 and 1.1.4-1 Severity: important Steinar, updatedb fails with: /var/lib/plocate/: Operation not supported However, writing to a database in a different directory works fine. Please see the transcript below. Thank you! Daniel Lewart Urbana, Illinois --- $ uname -a Linux debian 5.10.0-3-amd64 #1 SMP Debian 5.10.13-1 (2021-02-06) x86_64 GNU/Linux $ sudo updatedb /var/lib/plocate/: Operation not supported $ sudo updatedb -o /tmp/plocate.db $ ls -l /tmp/plocate.db -rw-r- 1 root plocate 4590032 Feb 17 21:00 /tmp/plocate.db $ sudo mv /tmp/plocate.db /var/lib/plocate/ $ locate plocate /etc/cron.daily/plocate /etc/systemd/system/timers.target.wants/plocate-updatedb.timer /usr/bin/plocate ...