Inconsistent/potentially incorrect behavior with relative lookups via chdir(2) on UFS/ZFS
Garrett Cooper
yanegomi at gmail.com
Sat Nov 3 20:56:06 UTC 2012
On Sat, Nov 3, 2012 at 3:38 AM, Peter Jeremy <peter at rulingia.com> wrote:
> On 2012-Nov-01 15:25:05 -0700, Garrett Cooper <yanegomi at gmail.com> wrote:
> > Just doing some interop testing on UFS/ZFS to develop a baseline for
> >filesystem behavior, and I noticed some inconsistencies with the ENOENT
> >requirement in chdir(2) when dealing with relative ".." paths (dot-dot
> >lookups). In particular...
> > 1. I would have expected chdir('.') to have failed in UFS/ZFS with
> >ENOENT if '.' wasn't present, but it didn't.
> > 2. I would have expected chdir('..') to have failed in ZFS with ENOENT
> >if '..' wasn't present, but it didn't.
> > Sidenote: python doesn't do any special handling with os.chdir, per
> >Modules/posixmodule.c (I checked).
> > The full test I ran is included below.
>
> Whilst playing with the above, I've found some wierd timing issues
> with UFS+SU:
>
> $ mkdir -p ~/p/q/r;sync
> $ cd p/q/r
> $ rm -r ~/p; while date; do sleep 3 ; ls -al;done
> Sat 3 Nov 2012 21:29:19 EST
> total 2
> drwxr-xr-x 0 peter jeremy 512 3 Nov 21:28 .
> drwxr-xr-x 0 peter jeremy 0 3 Nov 21:29 ..
> Sat 3 Nov 2012 21:29:22 EST
> total 2
> drwxr-xr-x 0 peter jeremy 512 3 Nov 21:28 .
> drwxr-xr-x 0 peter jeremy 0 3 Nov 21:29 ..
> Sat 3 Nov 2012 21:29:25 EST
> total 2
> drwxr-xr-x 0 peter jeremy 512 3 Nov 21:28 .
> drwxr-xr-x 0 peter jeremy 0 3 Nov 21:29 ..
> Sat 3 Nov 2012 21:29:28 EST
> total 2
> drwxr-xr-x 0 peter jeremy 512 3 Nov 21:28 .
> drwxr-xr-x 0 peter jeremy 0 3 Nov 21:29 ..
> Sat 3 Nov 2012 21:29:31 EST
> total 2
> drwxr-xr-x 0 peter jeremy 512 3 Nov 21:28 .
> drwxr-xr-x 0 peter jeremy 0 3 Nov 21:29 ..
> Sat 3 Nov 2012 21:29:34 EST
> total 2
> drwxr-xr-x 0 peter jeremy 512 3 Nov 21:28 .
> drwxr-xr-x 0 peter jeremy 0 3 Nov 21:29 ..
> Sat 3 Nov 2012 21:29:37 EST
> total 2
> drwxr-xr-x 0 peter jeremy 512 3 Nov 21:28 .
> drwxr-xr-x 0 peter jeremy 0 3 Nov 21:29 ..
> Sat 3 Nov 2012 21:29:40 EST
> total 2
> drwxr-xr-x 0 peter jeremy 512 3 Nov 21:28 .
> drwxr-xr-x 0 peter jeremy 0 3 Nov 21:29 ..
> Sat 3 Nov 2012 21:29:43 EST
> total 2
> drwxr-xr-x 0 peter jeremy 512 3 Nov 21:28 .
> drwxr-xr-x 0 peter jeremy 0 3 Nov 21:29 ..
> Sat 3 Nov 2012 21:29:46 EST
> total 0
> Sat 3 Nov 2012 21:29:49 EST
>
Interesting; with SU-J or SUJ (my testing was with the default: SUJ)?
Thanks!
-Garrett
More information about the freebsd-fs
mailing list