Date: Tue, 5 Oct 2010 07:52:10 -0700 From: Garrett Cooper <gcooper@FreeBSD.org> To: Daichi GOTO <daichi@ongs.co.jp> Cc: freebsd-fs@freebsd.org, freebsd-current@freebsd.org Subject: Re: fcntl always fails to delete lock file, and PID is always -6464 Message-ID: <AANLkTine%2B7_vqNjS4ztu6tSVEqaWLEAu%2B9PS-07z26PU@mail.gmail.com> In-Reply-To: <20101005175536.a67998ae.daichi@ongs.co.jp> References: <20101004123725.65d09b9e.daichi@ongs.co.jp> <AANLkTinZg3n3wDUzQFPv_Gq1o2hswGL3%2B4o0brmTi0-h@mail.gmail.com> <20101004144927.36822f07.daichi@ongs.co.jp> <AANLkTimVcLVdULyAAJD-_TaC5OLj%2BaZVNa=%2BSaiN6PKv@mail.gmail.com> <20101005093826.17432b1e.daichi@ongs.co.jp> <AANLkTi=w5ZAfRymSYbL6X37uyYX17J2dW8LHVcPXZ_%2Bb@mail.gmail.com> <20101005153410.598e4484.daichi@ongs.co.jp> <AANLkTin=9MKZGf7RREfcReamdJpCQ56BMn_RKy8eOU0-@mail.gmail.com> <20101005175536.a67998ae.daichi@ongs.co.jp>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Oct 5, 2010 at 1:55 AM, Daichi GOTO <daichi@ongs.co.jp> wrote: > On Tue, 5 Oct 2010 01:23:02 -0700 > Garrett Cooper <gcooper@FreeBSD.org> wrote: >> 2010/10/4 Daichi GOTO <daichi@ongs.co.jp>: >> > Thanks nice test tool :) =C2=A0And at last I got it excepting one myst= ery! >> > >> > On Mon, 4 Oct 2010 20:17:08 -0700 >> > Garrett Cooper <gcooper@FreeBSD.org> wrote: >> >> Following through the same process on FreeBSD... >> >> >> >> Window 1: >> >> $ ls -l /tmp/lockfile >> >> ls: /tmp/lockfile: No such file or directory >> >> $ ./test_fcntl >> >> >> >> Window 2: >> >> >> >> $ ls -l /tmp/lockfile >> >> -rwsr-x--- =C2=A01 garrcoop =C2=A0wheel =C2=A00 Oct =C2=A04 20:14 /tm= p/lockfile >> >> $ ./test_fcntl >> >> test_fcntl: fcntl: Resource temporarily unavailable >> > >> > Just my mystery is as follow: >> > >> > Windows 1: >> > % ./test_fcntl >> > My pid: 43490 >> > >> > Windows 2: >> > % ls -l /tmp/lockfile >> > -r-sr-x--- =C2=A01 daichi =C2=A0wheel =C2=A00 10=E6=9C=88 =C2=A05 15:0= 2 /tmp/lockfile =C2=A0 =C2=A0<--- is it weird, isn't it? >> > % ./test_fcntl >> > test_fcntl: open: Permission denied >> > % >> > >> > Oops... What's wrong... /tmp is as follow: >> > >> > % mount | grep tmp >> > /dev/ada0s1f on /tmp (ufs, local, noatime, soft-updates) >> > % dumpfs /tmp | grep journal >> > flags =C2=A0 soft-updates+journal >> > % >> > >> > And working scene: >> > >> > Windows 2: >> > % chmod u+w /tmp/lockfile >> > % ls -l /tmp/lockfile >> > -rwsr-x--- =C2=A01 daichi =C2=A0wheel =C2=A00 10=E6=9C=88 =C2=A05 15:2= 2 /tmp/lockfile >> > % ./test_fcntl >> > My pid: 43646 >> > test_fcntl: fcntl[1]: Resource temporarily unavailable >> > PID=3D43490 has the lock >> > % >> >> What's your umask and what are the permissions on /tmp? > > % ll / | grep tmp > drwxrwxrwt =C2=A014 root =C2=A0wheel =C2=A0 =C2=A0 =C2=A01024 10=E6=9C=88= =C2=A05 17:19 tmp > % umask > 022 > % rm -f test > % touch test > % ll | grep test > -rw-r--r-- =C2=A0 1 daichi =C2=A0wheel =C2=A0 =C2=A0 0 10=E6=9C=88 =C2=A0= 5 17:52 test > % The permissions look ok from my perspective, but the umask is different, so you might want to try my umask to make sure that your results match mine (and we need to check the requirements to determine whether or not the behavior for FreeBSD's umask syscall is correct): $ ls -la /tmp/ | head -n 2 total 462686 drwxrwxrwt 51 root wheel 11776 Oct 5 03:11 . $ umask 0022 Where and how is /tmp mounted (is it a real partition, what filesystem, etc)? BTW, when I change my umask to match your's I don't get the same results you do on my home machine: Window 1: $ umask 022 $ ./test_fcntl My pid: 17353 Window 2: $ ./test_fcntl My pid: 17356 test_fcntl: fcntl[1]: Resource temporarily unavailable PID=3D17353 has the lock $ ls -l /tmp/lockfile -rwSr----- 1 gcooper wheel 0 Oct 5 07:49 /tmp/lockfile Just to note, the tests before were run on the RHEL 4.8 box with the following info, and the FreeBSD box with the following info: Red Hat Enterprise Linux AS release 4 (Nahant Update 8) Linux sjc-lds-102 2.6.9-89.0.11.ELsmp #1 SMP Mon Aug 31 11:00:34 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux FreeBSD bioshock.cisco.com 9.0-CURRENT FreeBSD 9.0-CURRENT #1 r211767M: Sat Aug 28 00:28:45 PDT 2010 garrcoop@bioshock.cisco.com:/usr/obj/usr/src/sys/BIOSHOCK amd64 The tests above were run on a FreeBSD box with the following info: FreeBSD bayonetta.local 9.0-CURRENT FreeBSD 9.0-CURRENT #9 r211309M: Thu Aug 19 22:50:36 PDT 2010 root@bayonetta.local:/usr/obj/usr/src/sys/BAYONETTA amd64 On bayonetta /tmp is SUJ backed (probably should change that though), and on bioshock it's not SUJ backed. Thanks! -Garrett
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTine%2B7_vqNjS4ztu6tSVEqaWLEAu%2B9PS-07z26PU>