From owner-freebsd-current@freebsd.org Fri Dec 7 10:21:00 2018 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 44CD21333511 for ; Fri, 7 Dec 2018 10:21:00 +0000 (UTC) (envelope-from melounmichal@gmail.com) Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com [IPv6:2a00:1450:4864:20::330]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 749A88399E for ; Fri, 7 Dec 2018 10:20:58 +0000 (UTC) (envelope-from melounmichal@gmail.com) Received: by mail-wm1-x330.google.com with SMTP id r11-v6so3795021wmb.2 for ; Fri, 07 Dec 2018 02:20:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:reply-to:subject:to:cc:references:openpgp:autocrypt:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=KZLDi4HtH0ZQN2El5osDG5SW5jFDqE4XODMbKMg3HnE=; b=CZ+MPQn5wHhIDPvU3DQ5d0QqM99wAIdcvhFK8nx/ajpT5NKncJ57EVCV7wto72V49E 33+ngcOJJ7QnB2una1AzU9MHuIuXBiZpyxaa3V6um/sxxkmuHYxwv4WL3qNblUdAE+HY jCCgBOJLD6rZqlWbANaAE0K5TTvLHvQ0GyO/lDW2s5PPXhcr5RKAn1XQ/txItpudBmuI FRa7SC2SuOsn/vNVqivIf7v3tNwbhuc7bAvBkDiNa/RpBZIbAl/saXpJ4JWavjaYD8vx EjJLC36RVG4OLGntW4hlddIxfwkFhY41427HljOaaeC7hUjjYOyQlB5P3qFWmU61RPei I1yA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:reply-to:subject:to:cc:references:openpgp :autocrypt:message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=KZLDi4HtH0ZQN2El5osDG5SW5jFDqE4XODMbKMg3HnE=; b=NlXCPWImRYBpTYKF6RohLIHhG/OlEtr7ADlPAiZcQNNojaeqEve3kreznTN41fBEE2 lwiP00kvrWuVvhsksFbkAOharjHkWZ8wHdToA3auajopy4dPeDuDkDPtYOApGEO2aMGq xMkUoQsd/09FHK1PnVfQEstthp5EseugR95zyJ9hF1bV5QyQb5Tm8PehFNl1v62M50qS nMRy32ij/+85c+8VWuWt5RkIuY2W1RF206HyjhJElk8v7+nVj4agIxTT+fR/HeXqOqiI 1ubaPq+SDhrGyhWoeOWq+ZtCACq2YxpbeTY2RYcAxAgrTen1rvrfCd+9S7/K1CYbQaX/ o7CA== X-Gm-Message-State: AA+aEWYHqlfU8pXDi6oPoj6424PY0JNIiyUbxtAqV/5kVnW2iXcP6P2b 0zMnpWJd39q87VzKEHZsPi4H64M8 X-Google-Smtp-Source: AFSGD/UoJ6b7/BHlxl+IHW+3AU4odEAiQtEsZTWUParPyDk2uiMz5ZPoU8Cf+TQQltx4udt4PUU9Lw== X-Received: by 2002:a1c:8c05:: with SMTP id o5mr1585504wmd.29.1544178056222; Fri, 07 Dec 2018 02:20:56 -0800 (PST) Received: from [88.208.79.100] (halouny.humusoft.cz. [88.208.79.100]) by smtp.gmail.com with ESMTPSA id s3sm2873975wmj.23.2018.12.07.02.20.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 07 Dec 2018 02:20:55 -0800 (PST) From: Michal Meloun X-Google-Original-From: Michal Meloun Reply-To: mmel@freebsd.org Subject: Re: rm cannot recursively delete directory on tmpfs on RPi2 To: Mateusz Guzik Cc: freebsd-current@freebsd.org References: <16c12239-031e-14fd-e82a-450b242338c5@freebsd.org> Openpgp: preference=signencrypt Autocrypt: addr=mmel@freebsd.org; prefer-encrypt=mutual; keydata= xsBNBFYuVRkBCADZiwLCCne3wG9b9k+R2Neo5zVo2bLaZRfNNY/v9kg283i0sb1Da4EdEiNT 15El5UyozhphUIbIR/zrVpxF1TvvFdoCyzx6a68bNY2d9dBrDcNDZC+XnyDdHQoobN87DWT1 mRVkmbg9LHZ/SVUOkGYuWyE+8UYeDAcUizuXwSK5zFWmeTyIoWNa68ifrWLfQe0p4x5jC/AI VURCi17p360vU4fhgwoMvEEhrRBWCr4DYHToFjIt2WdBy3GR1qoO0+Xkd6G+OoBULo+XDfgu L2WdPvh0K69F9/LgHkMmG5Il7SCe62QGpG2vaCgRV7BQhLX+kxlvM+WrdRatWRml4Y/3ABEB AAHNIE1pY2hhbCBNZWxvdW4gPG1tZWxAZnJlZWJzZC5vcmc+wsCABBMBCgAqAhsDBQsJCAcD BRUKCQgLBRYDAgEAAh4BAheAAhkBBQJZjBHDBQkHICOqAAoJEGkesmtexaqqIKMIAJ9xTp1w ge86ns2ZYOac5++mAgpFatohSlxYUR3gwud3Y3Ej0eumavpv/C26N6dsLnspwRenKdLbIPKe 0N8lI7CcDBIJGiFyY3c4H79QjIkYpRgbWFyCM85zEyVJpB+U7BhsgXE2uwVjE9RNhEP0KBoj sp357uqq1B1+VUO4GJ+RjdmYSOcNrjR8tTfy02456qovGjJ4JcJBlhyK6GzBKvnZSoA0s+QP OMn3gd8gdomMLEJdS3kTsfhLh2rQPZa9EmzafIyjXrirWq4+4fVFgd8SiMZyyTM+Kz30ZSUe 6SmfaQTQ/WLRIl5jku2uYQWlrRIKT9xaQzRWtZO9UgtXFRHOwE0EVi5VGQEIALqgRkfS21D/ OqWE9mXfh2bIjrp9uC8T0MCuimbsrAdLKNNorGu2nE+rebgX8n5nYM377HOnalPGyOuXvCbQ 8MFVRdWOHxenJjXJialNdBsOf2wLva3vSSVsdoPzibWDIcJqhBOQ3EuhsILyWSPvYYKEiy95 mfhrDtuTTOAYVR9aNQBOENztB2TDJyMx/qZmtGroGV3N0Hqde/znHPtQO8RG5/FQGMfHMI5G FMuycr1ceHnLo/ovrqAl4TYV+UHSHJ+FDE9dt9wXHclWbWbC0yNugchZq6rho5Jjfv4a2v7P pyn3HoDinh1lWP7hYA0ZNExGHekLnXWVqO/lzGS6bMEAEQEAAcLAZQQYAQoADwIbDAUCWYwR wwUJByAjqgAKCRBpHrJrXsWqqrsrB/4g4ESK5TLxUxi8pLWcLPyvwtN4Fmf7VsCVefkhakaG rDPmfvfnG+OFwN60Xqoni7GBeakl01xwT4RINfvVfShDy6cHpLS7QL/M8pzfulVX38MkVkOD yGZhwjE+jyT/kZNA1Olaw3N3IefHq3brskQ7G4d9oPep2DDbw7C4Q76uOBjxy34JVB0WOsB6 NyMQB9h6LGljQtdEddyUqwnRZzzHiGvp0hPtdYQHQZlqbj4FV9lTRK7a8Ega+y7MgmeMiztG zeXyjNP02r3PRHCPagwa57bPxH2aAh4Q7UzBBZ0GTMm7DLKNtCP58WDxblrrhZ+7kHqGK8Fs bdeUpDdEYLVd Message-ID: <87905c6e-5722-1d05-e8b4-4457ebfa38af@freebsd.org> Date: Fri, 7 Dec 2018 11:21:30 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.3.2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 749A88399E X-Spamd-Result: default: False [-4.45 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; HAS_REPLYTO(0.00)[mmel@freebsd.org]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36]; FREEMAIL_FROM(0.00)[gmail.com]; RCVD_COUNT_THREE(0.00)[3]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; DKIM_TRACE(0.00)[gmail.com:+]; RCPT_COUNT_TWO(0.00)[2]; NEURAL_HAM_SHORT(-0.86)[-0.857,0]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; FREEMAIL_TO(0.00)[gmail.com]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; IP_SCORE(-0.58)[ipnet: 2a00:1450::/32(-1.52), asn: 15169(-1.30), country: US(-0.09)]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[gmail.com]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-current@freebsd.org]; REPLYTO_DOM_NEQ_FROM_DOM(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[0.3.3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.5.4.1.0.0.a.2.list.dnswl.org : 127.0.5.0] X-Rspamd-Server: mx1.freebsd.org X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Dec 2018 10:21:00 -0000 On 07.12.2018 10:59, Mateusz Guzik wrote: > On 12/7/18, Michal Meloun wrote: >> >> >> On 07.12.2018 7:25, Mateusz Guzik wrote: >>> On 12/7/18, Jia-Shiun Li wrote: >>>> On Fri, Dec 7, 2018 at 12:36 AM Alan Somers wrote: >>>> >>>>> On Wed, Dec 5, 2018 at 10:18 PM Jia-Shiun Li >>>>> 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. > Ahh, right. atomic_fetchadd_64() is clearly broken. Give me a few minutes for fix and test. ---------- diff --git a/sys/arm/include/atomic-v6.h b/sys/arm/include/atomic-v6.h index 8f63554c701..40d2b94f4cf 100644 --- a/sys/arm/include/atomic-v6.h +++ b/sys/arm/include/atomic-v6.h @@ -435,7 +435,7 @@ atomic_fetchadd_64(volatile uint64_t *p, uint64_t val) __asm __volatile( "1: \n" - " ldrexd %Q[tmp], %R[tmp], [%[ptr]] \n" + " ldrexd %Q[ret], %R[ret], [%[ptr]] \n" " adds %Q[tmp], %Q[ret], %Q[val] \n" " adc %R[tmp], %R[ret], %R[val] \n" " strexd %[exf], %Q[tmp], %R[tmp], [%[ptr]] \n"