On 12/7/18, Michal Meloun <melounmic...@gmail.com> wrote: > > > On 07.12.2018 7:25, Mateusz Guzik wrote: >> On 12/7/18, Jia-Shiun Li <jiash...@gmail.com> wrote: >>> On Fri, Dec 7, 2018 at 12:36 AM Alan Somers <asom...@freebsd.org> wrote: >>> >>>> On Wed, Dec 5, 2018 at 10:18 PM Jia-Shiun Li <jiash...@gmail.com> >>>> wrote: >>>>> >>>>> amd64 and RPi3 do not have this issue. >>>>> >>>>> jsli@rpi2:/home/jsli 13:04 # uname -a >>>>> FreeBSD rpi2 13.0-CURRENT FreeBSD 13.0-CURRENT r341419 GENERIC-NODEBUG >>>> arm >>>>> jsli@rpi2:/home/jsli 13:05 # mount -t tmpfs tmpfs /mnt >>>>> jsli@rpi2:/home/jsli 13:05 # cd /mnt >>>>> jsli@rpi2:/mnt 13:05 # tar xf >>>>> /usr/ports/distfiles/sqlite-autoconf-3260000.tar.gz >>>>> jsli@rpi2:/mnt 13:05 # rm -rf sqlite-autoconf-3260000/ >>>>> rm: sqlite-autoconf-3260000/tea: Operation not permitted >>>>> rm: sqlite-autoconf-3260000/: Directory not empty >>>>> jsli@rpi2:/mnt 13:05 # >>>>> >>>>> -Jia-Shiun >>>> >>>> Did you check for file flags? Do "ls -lod >>>> sqlite-autoconf-3260000/tea". >>>> >>>> >>> Unlikely caused by flags I think. >>> >>> jsli@rpi2:/home/jsli # mount -t tmpfs tmpfs /mnt >>> jsli@rpi2:/home/jsli # cd /mnt >>> jsli@rpi2:/mnt # ls -R >>> jsli@rpi2:/mnt # mkdir dir >>> jsli@rpi2:/mnt # ls -R >>> dir/ >>> ls: dir: directory causes a cycle >>> jsli@rpi2:/mnt # >>> >>> >>> looks inode no for directories are wrong >>> >>> jsli@rpi2:/mnt # ll -ia >>> total 4 >>> 2 drwxr-xr-x 3 root wheel 36 Dec 7 09:55 ./ >>> 2 drwxr-xr-x 23 root wheel 512 Dec 3 17:04 ../ >>> 2 drwxr-xr-x 2 root wheel 0 Dec 7 09:55 dir/ >>> jsli@rpi2:/mnt # ll -ia dir >>> total 0 >>> 2 drwxr-xr-x 2 root wheel 0 Dec 7 09:55 ./ >>> 2 drwxr-xr-x 3 root wheel 36 Dec 7 09:55 ../ >>> jsli@rpi2:/mnt # >>> >> >> Ouch. >> >> Looks like 64-bit atomic on 32-bit arm don't work as advertised. >> >> While they should be fixed, I have been meaning to commit the following >> which will have a side effect of taking care of the bug you ran into: >> > > Mateusz, > where you see problem with 64-bit atomic on arm? I'm not aware of any > problem in this area.
inode allocation for tmpfs (and other places) was recently changed to use 64-bit atomics (excluding mips and powerpc). So far atomic_fetchadd_64 failing to bump the number on 32-bit arm (at least for the variant used by whatever is put on rpi2) looks like a decent explanation. The code definitely works on amd64. -- Mateusz Guzik <mjguzik gmail.com> _______________________________________________ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"