Re: Unionmount and overlayfs testsuite

From: Sedat Dilek
Date: Tue Jun 03 2014 - 10:26:19 EST


On Tue, Jun 3, 2014 at 3:21 PM, Miklos Szeredi <miklos@xxxxxxxxxx> wrote:
> On Tue, Jun 03, 2014 at 11:33:54AM +0100, David Howells wrote:
>> Miklos Szeredi <miklos@xxxxxxxxxx> wrote:
>>
>> > Fix now pushed to overlayfs.v22/overlayfs.current.
>>
>> I ran my testscript, which leaves a clean set up and mounted overlay fs
>> behind. I then ran:
>>
>> for ((i=100; i<=129; i++)); do mv /mnt/a/foo$i /mnt/a/bar$i; done
>> for ((i=100; i<=129; i++)); do mv /mnt/a/dir$i /mnt/a/dir2$i; done
>>
>> leading to:
>>
>> =============================================
>> [ INFO: possible recursive locking detected ]
>> 3.15.0-rc6-fsdevel+ #382 Tainted: G W
>> ---------------------------------------------
>> mv/27935 is trying to acquire lock:
>> (&sb->s_type->i_mutex_key#9){+.+.+.}, at: [<ffffffff8111e555>] vfs_rmdir+0x59/0xe8
>>
>> but task is already holding lock:
>> (&sb->s_type->i_mutex_key#9){+.+.+.}, at: [<ffffffff811e12a9>] ovl_clear_empty+0x175/0x1eb
>
> And this one is a missing annotation in overlayfs. Tested patch pushed to the
> usual branches.
>
> Thanks,
> Miklos
>
> ---
> fs/overlayfs/dir.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- a/fs/overlayfs/dir.c
> +++ b/fs/overlayfs/dir.c
> @@ -253,7 +253,7 @@ static struct dentry *ovl_clear_empty(st
>
> unlock_rename(workdir, upperdir);
> ovl_cleanup_whiteouts(upper, list);
> - mutex_lock(&wdir->i_mutex);
> + mutex_lock_nested(&wdir->i_mutex, I_MUTEX_PARENT);
> ovl_cleanup(wdir, upper);
> mutex_unlock(&wdir->i_mutex);
>

I have tested the latest overlayfs.current up to...

commit 17eb601eb5dbc8a2e200872380c03400813d4f1a
"overlayfs: annotate mutex in ovl_clear_empty()".

It looks good here.

- Sedat -
INFO: creating /opt/ltp/results directory
Checking for required user/group ids

'nobody' user id and group found.
'bin' user id and group found.
'daemon' user id and group found.
Users group found.
Sys group found.
Required users/groups exist.
If some fields are empty or look unusual you may have an old version.
Compare to the current minimal requirements in Documentation/Changes.

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.4 LTS"
NAME="Ubuntu"
VERSION="12.04.4 LTS, Precise Pangolin"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu precise (12.04.4 LTS)"
VERSION_ID="12.04"
Linux fambox 3.15.0-rc8-3-iniza-lockdep #1 SMP Tue Jun 3 16:12:32 CEST 2014 x86_64 x86_64 x86_64 GNU/Linux

Gnu C gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
Gnu make 3.81
util-linux linux 2.20.1
mount linux 2.20.1 (with libblkid and selinux support)
modutils 6
e2fsprogs 1.42
PPP 2.4.5
Linux C Library > libc.2.15
Dynamic linker (ldd) 2.15
Procps 3.2.8
Net-tools 1.60
iproute2 iproute2-ss121211
Kbd 1.15.2
Sh-utils 8.13
Modules Loaded overlayfs snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic arc4 snd_hda_intel iwldvm snd_hda_controller snd_hda_codec i915 mac80211 snd_hwdep snd_pcm joydev uvcvideo snd_seq_midi snd_seq_midi_event snd_rawmidi videobuf2_vmalloc iwlwifi videobuf2_memops snd_seq parport_pc i2c_algo_bit videobuf2_core btusb snd_timer ppdev bnep rfcomm drm_kms_helper videodev snd_seq_device samsung_laptop wmi psmouse drm bluetooth video snd cfg80211 mac_hid serio_raw soundcore lp lpc_ich parport hid_generic usbhid hid usb_storage r8169 mii

free reports:
total used free shared buffers cached
Mem: 3936304 3332780 603524 0 1281008 1355888
-/+ buffers/cache: 695884 3240420
Swap: 262140 0 262140

/proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 42
model name : Intel(R) Core(TM) i5-2467M CPU @ 1.60GHz
stepping : 7
microcode : 0x28
cpu MHz : 2016.000
cache size : 3072 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid
bogomips : 3192.77
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 42
model name : Intel(R) Core(TM) i5-2467M CPU @ 1.60GHz
stepping : 7
microcode : 0x28
cpu MHz : 2066.000
cache size : 3072 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 2
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid
bogomips : 3192.77
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

processor : 2
vendor_id : GenuineIntel
cpu family : 6
model : 42
model name : Intel(R) Core(TM) i5-2467M CPU @ 1.60GHz
stepping : 7
microcode : 0x28
cpu MHz : 2016.000
cache size : 3072 KB
physical id : 0
siblings : 4
core id : 1
cpu cores : 2
apicid : 2
initial apicid : 2
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid
bogomips : 3192.77
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 42
model name : Intel(R) Core(TM) i5-2467M CPU @ 1.60GHz
stepping : 7
microcode : 0x28
cpu MHz : 2016.000
cache size : 3072 KB
physical id : 0
siblings : 4
core id : 1
cpu cores : 2
apicid : 3
initial apicid : 3
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid
bogomips : 3192.77
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

no big block device was specified on commandline.
Tests which require a big block device are disabled.
You can specify it with option -z
COMMAND: /opt/ltp/bin/ltp-pan -e -S -a 14789 -n 14789 -p -f /tmp/ltp-IINfKefyls/alltests -l /opt/ltp/results/LTP_RUN_ON-2014_06_03-16h_20m_38s.log -C /opt/ltp/output/LTP_RUN_ON-2014_06_03-16h_20m_38s.failed
LOG File: /opt/ltp/results/LTP_RUN_ON-2014_06_03-16h_20m_38s.log
FAILED COMMAND File: /opt/ltp/output/LTP_RUN_ON-2014_06_03-16h_20m_38s.failed
Running tests.......
<<<test_start>>>
tag=pipeio_1 stime=1401805238
cmdline="pipeio -T pipeio_1 -c 5 -s 4090 -i 100 -b -f x80"
contacts=""
analysis=exit
<<<test_output>>>
pipeio_1 1 TPASS : 501 pipe reads complete, read size = 4090, named pipe, blking,
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=0 corefile=no
cutime=0 cstime=2
<<<test_end>>>
<<<test_start>>>
tag=pipeio_3 stime=1401805238
cmdline="pipeio -T pipeio_3 -c 5 -s 4090 -i 100 -u -b -f x80"
contacts=""
analysis=exit
<<<test_output>>>
pipeio_3 1 TPASS : 501 pipe reads complete, read size = 4090, sys pipe,
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=0 corefile=no
cutime=1 cstime=2
<<<test_end>>>
<<<test_start>>>
tag=pipeio_4 stime=1401805238
cmdline="pipeio -T pipeio_4 -c 5 -s 4090 -i 100 -u -f x80"
contacts=""
analysis=exit
<<<test_output>>>
pipeio_4 1 TPASS : 501 pipe reads complete, read size = 4090, sys pipe,
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=0 corefile=no
cutime=1 cstime=4
<<<test_end>>>
<<<test_start>>>
tag=pipeio_5 stime=1401805238
cmdline="pipeio -T pipeio_5 -c 5 -s 5000 -i 10 -b -f x80"
contacts=""
analysis=exit
<<<test_output>>>
pipeio_5 0 TINFO : adjusting i/o size to 4096, and # of writes to 13
pipeio_5 1 TPASS : 66 pipe reads complete, read size = 4096, named pipe, blking,
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=0 corefile=no
cutime=1 cstime=1
<<<test_end>>>
<<<test_start>>>
tag=pipeio_6 stime=1401805238
cmdline="pipeio -T pipeio_6 -c 5 -s 5000 -i 10 -b -u -f x80"
contacts=""
analysis=exit
<<<test_output>>>
pipeio_6 0 TINFO : adjusting i/o size to 4096, and # of writes to 13
pipeio_6 1 TPASS : 66 pipe reads complete, read size = 4096, sys pipe,
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=0 corefile=no
cutime=0 cstime=1
<<<test_end>>>
<<<test_start>>>
tag=pipeio_8 stime=1401805238
cmdline="pipeio -T pipeio_8 -c 5 -s 5000 -i 10 -u -f x80"
contacts=""
analysis=exit
<<<test_output>>>
pipeio_8 0 TINFO : adjusting i/o size to 4096, and # of writes to 13
pipeio_8 1 TPASS : 66 pipe reads complete, read size = 4096, sys pipe,
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=0 corefile=no
cutime=0 cstime=1
<<<test_end>>>
<<<test_start>>>
tag=sem01 stime=1401805238
cmdline="sem01"
contacts=""
analysis=exit
<<<test_output>>>
PASS: error count is 0
<<<execution_status>>>
initiation_status="ok"
duration=1 termination_type=exited termination_id=0 corefile=no
cutime=1 cstime=1
<<<test_end>>>
<<<test_start>>>
tag=sem02 stime=1401805239
cmdline="sem02"
contacts=""
analysis=exit
<<<test_output>>>
sem02 0 TINFO : Poster, pid = 14947, posting
sem02 0 TINFO : Poster posted
sem02 0 TINFO : Waiter, pid = 14947
sem02 0 TINFO : Poster exiting
sem02 0 TINFO : Waiter waiting, pid = 14947
sem02 0 TINFO : Waiter done waiting
sem02 1 TPASS : passed
<<<execution_status>>>
initiation_status="ok"
duration=20 termination_type=exited termination_id=0 corefile=no
cutime=0 cstime=1
<<<test_end>>>
<<<test_start>>>
tag=message_queue_test_01 stime=1401805259
cmdline=" message_queue_test_01"
contacts=""
analysis=exit
<<<test_output>>>
message_queue_test_01: IPC Message Queue TestSuite program

Create message queue, id: 0x00000000

Child: received message queue id: 0

Child: sending message: "message queue transmission test...."

Parent: received message: "message queue transmission test...."

Remove the message queue

successful!
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=0 corefile=no
cutime=0 cstime=0
<<<test_end>>>
<<<test_start>>>
tag=message_queue_test_02_get stime=1401805259
cmdline="message_queue_test_02_get"
contacts=""
analysis=exit
<<<test_output>>>
32768
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=0 corefile=no
cutime=0 cstime=0
<<<test_end>>>
<<<test_start>>>
tag=message_queue_test_02_snd stime=1401805259
cmdline="message_queue_test_02_snd"
contacts=""
analysis=exit
<<<test_output>>>
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=0 corefile=no
cutime=0 cstime=0
<<<test_end>>>
<<<test_start>>>
tag=message_queue_test_02_rcv stime=1401805259
cmdline="message_queue_test_02_rcv"
contacts=""
analysis=exit
<<<test_output>>>
<< Message Queue test default message >>
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=0 corefile=no
cutime=0 cstime=0
<<<test_end>>>
<<<test_start>>>
tag=message_queue_test_02_ctl stime=1401805259
cmdline="message_queue_test_02_ctl -r"
contacts=""
analysis=exit
<<<test_output>>>
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=0 corefile=no
cutime=0 cstime=1
<<<test_end>>>
<<<test_start>>>
tag=message_queue_test_04 stime=1401805259
cmdline=" message_queue_test_04"
contacts=""
analysis=exit
<<<test_output>>>
message_queue_test_04: IPC Message Queue TestSuite program


successful!
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=0 corefile=no
cutime=0 cstime=1
<<<test_end>>>
<<<test_start>>>
tag=message_queue_test_05 stime=1401805259
cmdline=" message_queue_test_05"
contacts=""
analysis=exit
<<<test_output>>>
message_queue_test_05: IPC Message Queue TestSuite program

Creating 10 message queues ...

All message queues created successfully

successful!
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=0 corefile=no
cutime=1 cstime=0
<<<test_end>>>
<<<test_start>>>
tag=pipe_test_01 stime=1401805259
cmdline=" pipe_test_01"
contacts=""
analysis=exit
<<<test_output>>>
cat: /etc/inittab: No such file or directory
0
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=0 corefile=no
cutime=0 cstime=1
<<<test_end>>>
<<<test_start>>>
tag=pipe_test_02 stime=1401805259
cmdline=" pipe_test_02"
contacts=""
analysis=exit
<<<test_output>>>
pipe_test_02: IPC Pipe TestSuite program

Creating pipes...

Spawning 1 child processes ...
Child: pid [14963] received 1024 packets from parent

Parent: sending 1024 packets (40960 bytes) to child processes ...

Parent: done sending packets & waiting for children to complete!

Parent: children received all packets & exited successfully

successful!
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=0 corefile=no
cutime=0 cstime=1
<<<test_end>>>
<<<test_start>>>
tag=semaphore_test_01 stime=1401805259
cmdline=" run_semaphore_test_01.sh"
contacts=""
analysis=exit
<<<test_output>>>
semaphore_test_01 0 TINFO : Created semaphore ID: 262144
semaphore_test_01 1 TPASS : semaphore ID comparing passed.
semaphore_test_01 0 TINFO : CLOSE: exit.
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=0 corefile=no
cutime=0 cstime=1
<<<test_end>>>
<<<test_start>>>
tag=semaphore_test_02 stime=1401805259
cmdline=" semaphore_test_02"
contacts=""
analysis=exit
<<<test_output>>>
semaphore_test_02: IPC Semaphore TestSuite program

Testing semctl (IPC_SET) command operation

Testing semctl (IPC_SET) command operation

Testing semctl (IPC_STAT) command operation

Testing semctl (SETVAL) command operation

Testing semctl (GETVAL) command operation

Testing semop (signal and wait) operations

Testing semctl (GETPID) command operation

Testing semctl (GETNCNT) command operation

Testing semctl (GETZCNT) command operation

Testing semctl (SETALL) command operation

Testing semctl (GETALL) command operation

Testing semctl (IPC_RMID) command operation

successful!
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=0 corefile=no
cutime=0 cstime=1
<<<test_end>>>
<<<test_start>>>
tag=semaphore_test_03 stime=1401805259
cmdline=" semaphore_test_03"
contacts=""
analysis=exit
<<<test_output>>>
semaphore_test_03: IPC Semaphore TestSuite program

Creating 16 semaphores ...

Setting semaphore uid, gid and mode ... semid = 327680

Verifying semaphore info ...

Testing semop() with all Semaphore values, options and flags

Semval Semop Semflag Description
2 -1 0 Obtain resource
1 -1 0 Obtain resource
0 0 0 Semop function returns immediately
5 1 0 Return resource
6 -7 IPC_NOWAIT Semop function returns immediately
6 0 IPC_NOWAIT Semop function returns immediately
6 1 0 Return resource
7 -8 0 Sleep (until resource becomes available)

Creating 16 semaphores ...

Setting semaphore uid, gid and mode ... semid = 327680

Verifying semaphore info ...

Testing semop() with all Semaphore values, options and flags

Semval Semop Semflag Description
2 -1 0 Obtain resource
1 -1 0 Obtain resource
0 0 0 Semop function returns immediately
5 1 0 Return resource
6 -7 IPC_NOWAIT Semop function returns immediately
6 0 IPC_NOWAIT Semop function returns immediately
6 1 0 Return resource
7 -8 0 Sleep (until resource becomes available)
7 -8 0 Sleep (until signaled)

Creating 16 semaphores ...

Setting semaphore uid, gid and mode ... semid = 327680

Verifying semaphore info ...

Testing semop() with all Semaphore values, options and flags

Semval Semop Semflag Description
2 -1 0 Obtain resource
1 -1 0 Obtain resource
0 0 0 Semop function returns immediately
5 1 0 Return resource
6 -7 IPC_NOWAIT Semop function returns immediately
6 0 IPC_NOWAIT Semop function returns immediately
6 1 0 Return resource
7 -8 0 Sleep (until resource becomes available)
7 -8 0 Sleep (until signaled)
1 5 SEM_UNDO Sleep (until resource becomes available)

Creating 16 semaphores ...

Setting semaphore uid, gid and mode ... semid = 327680

Verifying semaphore info ...

Testing semop() with all Semaphore values, options and flags

Semval Semop Semflag Description
2 -1 0 Obtain resource
1 -1 0 Obtain resource
0 0 0 Semop function returns immediately
5 1 0 Return resource
6 -7 IPC_NOWAIT Semop function returns immediately
6 0 IPC_NOWAIT Semop function returns immediately
6 1 0 Return resource
7 -8 0 Sleep (until resource becomes available)
7 -8 0 Sleep (until signaled)
1 5 SEM_UNDO Sleep (until resource becomes available)
7 -8 0 Sleep (until semaphores are removed)

Creating 16 semaphores ...

Setting semaphore uid, gid and mode ... semid = 327680

Verifying semaphore info ...

Testing semop() with all Semaphore values, options and flags

Semval Semop Semflag Description
2 -1 0 Obtain resource
1 -1 0 Obtain resource
0 0 0 Semop function returns immediately
5 1 0 Return resource
6 -7 IPC_NOWAIT Semop function returns immediately
6 0 IPC_NOWAIT Semop function returns immediately
6 1 0 Return resource
7 -8 0 Sleep (until resource becomes available)
7 -8 0 Sleep (until signaled)
1 5 SEM_UNDO Sleep (until resource becomes available)
7 -8 0 Sleep (until semaphores are removed)
9 -1 SEM_UNDO Obtain resource
8 -8 SEM_UNDO Obtain resource
9 0 0 Sleep (until signaled)

Creating 16 semaphores ...

Setting semaphore uid, gid and mode ... semid = 327680

Verifying semaphore info ...

Testing semop() with all Semaphore values, options and flags

Semval Semop Semflag Description
2 -1 0 Obtain resource
1 -1 0 Obtain resource
0 0 0 Semop function returns immediately
5 1 0 Return resource
6 -7 IPC_NOWAIT Semop function returns immediately
6 0 IPC_NOWAIT Semop function returns immediately
6 1 0 Return resource
7 -8 0 Sleep (until resource becomes available)
7 -8 0 Sleep (until signaled)
1 5 SEM_UNDO Sleep (until resource becomes available)
7 -8 0 Sleep (until semaphores are removed)
9 -1 SEM_UNDO Obtain resource
8 -8 SEM_UNDO Obtain resource
9 0 0 Sleep (until signaled)
9 0 0 Sleep (until resource becomes available)

Creating 16 semaphores ...

Setting semaphore uid, gid and mode ... semid = 327680

Verifying semaphore info ...

Testing semop() with all Semaphore values, options and flags

Semval Semop Semflag Description
2 -1 0 Obtain resource
1 -1 0 Obtain resource
0 0 0 Semop function returns immediately
5 1 0 Return resource
6 -7 IPC_NOWAIT Semop function returns immediately
6 0 IPC_NOWAIT Semop function returns immediately
6 1 0 Return resource
7 -8 0 Sleep (until resource becomes available)
7 -8 0 Sleep (until signaled)
1 5 SEM_UNDO Sleep (until resource becomes available)
7 -8 0 Sleep (until semaphores are removed)
9 -1 SEM_UNDO Obtain resource
8 -8 SEM_UNDO Obtain resource
9 0 0 Sleep (until signaled)
9 0 0 Sleep (until resource becomes available)
4 0 0 Sleep (until semaphores are removed)

Creating 16 semaphores ...

Setting semaphore uid, gid and mode ... semid = 327680

Verifying semaphore info ...

Testing semop() with all Semaphore values, options and flags

Semval Semop Semflag Description
2 -1 0 Obtain resource
1 -1 0 Obtain resource
0 0 0 Semop function returns immediately
5 1 0 Return resource
6 -7 IPC_NOWAIT Semop function returns immediately
6 0 IPC_NOWAIT Semop function returns immediately
6 1 0 Return resource
7 -8 0 Sleep (until resource becomes available)
7 -8 0 Sleep (until signaled)
1 5 SEM_UNDO Sleep (until resource becomes available)
7 -8 0 Sleep (until semaphores are removed)
9 -1 SEM_UNDO Obtain resource
8 -8 SEM_UNDO Obtain resource
9 0 0 Sleep (until signaled)
9 0 0 Sleep (until resource becomes available)
4 0 0 Sleep (until semaphores are removed)

successful!
<<<execution_status>>>
initiation_status="ok"
duration=7 termination_type=exited termination_id=0 corefile=no
cutime=1 cstime=0
<<<test_end>>>
<<<test_start>>>
tag=shmem_test_01 stime=1401805266
cmdline=" shmem_test_01"
contacts=""
analysis=exit
<<<test_output>>>
shmem_test_01: IPC Shared Memory TestSuite program

Get shared memory segment (1048576 bytes)

Attach shared memory segment to process

Index through shared memory segment ...

Release shared memory

successful!
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=0 corefile=no
cutime=0 cstime=1
<<<test_end>>>
<<<test_start>>>
tag=shmem_test_02 stime=1401805266
cmdline=" shmem_test_02"
contacts=""
analysis=exit
<<<test_output>>>
shmem_test_02: IPC Shared Memory TestSuite program

Get shared memory segment (100000 bytes)

Parent: calculate shared memory segment checksum
shared memory checksum 00c26eb0

Spawning 2 child processes ...
child (00): checksum 00c26eb0
shmem_test_02: IPC Shared Memory TestSuite program

Get shared memory segment (100000 bytes)

Parent: calculate shared memory segment checksum
shared memory checksum 00c26eb0

Spawning 2 child processes ...
child (01): checksum 00c26eb0
shmem_test_02: IPC Shared Memory TestSuite program

Get shared memory segment (100000 bytes)

Parent: calculate shared memory segment checksum
shared memory checksum 00c26eb0

Spawning 2 child processes ...

Parent: children calculated segment successfully

successful!
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=0 corefile=no
cutime=0 cstime=0
<<<test_end>>>
<<<test_start>>>
tag=shmem_test_03 stime=1401805266
cmdline=" shmem_test_03"
contacts=""
analysis=exit
<<<test_output>>>
shmem_test_03: IPC Shared Memory TestSuite program

Get shared memory segment (100000 bytes)

Spawning 2 child processes ...
child (00): checksum 00c26eb0
shmem_test_03: IPC Shared Memory TestSuite program

Get shared memory segment (100000 bytes)

Spawning 2 child processes ...
child (01): checksum 00c26eb0
shmem_test_03: IPC Shared Memory TestSuite program

Get shared memory segment (100000 bytes)

Spawning 2 child processes ...

Parent: calculate shared memory segment checksum
shared memory checksum 00c26eb0

Parent: children calculated segment successfully

successful!
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=0 corefile=no
cutime=0 cstime=1
<<<test_end>>>
<<<test_start>>>
tag=shmem_test_04 stime=1401805266
cmdline=" shmem_test_04"
contacts=""
analysis=exit
<<<test_output>>>
shmem_test_04: IPC Shared Memory TestSuite program

Object type to map = Anonymous memory
Number of loops = 1
Number of procs = 1
Bytes per process = 16777216 (16MB)

successful!
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=0 corefile=no
cutime=2 cstime=2
<<<test_end>>>
<<<test_start>>>
tag=shmem_test_05 stime=1401805266
cmdline=" shmem_test_05"
contacts=""
analysis=exit
<<<test_output>>>
shmem_test_05: IPC Shared Memory TestSuite program

mykey to uniquely identify the shared memory segment 0x33050405

Get shared memory segment (1048576 bytes)

Attach shared memory segment to process

offset of the shared memory segment 0x30000000

Index through shared memory segment ...

mykey to uniquely identify the shared memory segment 0x34050405

Get shared memory segment (1048576 bytes)

Attach shared memory segment to process

offset of the shared memory segment 0x30200000

Index through shared memory segment ...

mykey to uniquely identify the shared memory segment 0x35050405

Get shared memory segment (1048576 bytes)

Attach shared memory segment to process

offset of the shared memory segment 0x30400000

Index through shared memory segment ...

mykey to uniquely identify the shared memory segment 0x36050405

Get shared memory segment (1048576 bytes)

Attach shared memory segment to process

offset of the shared memory segment 0x30600000

Index through shared memory segment ...

mykey to uniquely identify the shared memory segment 0x37050405

Get shared memory segment (1048576 bytes)

Attach shared memory segment to process

offset of the shared memory segment 0x30800000

Index through shared memory segment ...

mykey to uniquely identify the shared memory segment 0x38050405

Get shared memory segment (1048576 bytes)

Attach shared memory segment to process

offset of the shared memory segment 0x30a00000

Index through shared memory segment ...

mykey to uniquely identify the shared memory segment 0x39050405

Get shared memory segment (1048576 bytes)

Attach shared memory segment to process

offset of the shared memory segment 0x30c00000

Index through shared memory segment ...

mykey to uniquely identify the shared memory segment 0x41050405

Get shared memory segment (1048576 bytes)

Attach shared memory segment to process

offset of the shared memory segment 0x30d00000

Index through shared memory segment ...

mykey to uniquely identify the shared memory segment 0x42050405

Get shared memory segment (1048576 bytes)

Attach shared memory segment to process

offset of the shared memory segment 0x30f00000

Index through shared memory segment ...

mykey to uniquely identify the shared memory segment 0x43050405

Get shared memory segment (1048576 bytes)

Attach shared memory segment to process

offset of the shared memory segment 0x31000000

Index through shared memory segment ...

mykey to uniquely identify the shared memory segment 0x45050405

Get shared memory segment (1048576 bytes)

Attach shared memory segment to process

offset of the shared memory segment 0x32000000

Index through shared memory segment ...

Detach from the segment using the shmdt subroutine

Release shared memory

successful!
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=0 corefile=no
cutime=1 cstime=2
<<<test_end>>>
<<<test_start>>>
tag=shmem_test_06 stime=1401805266
cmdline=" shmem_test_06"
contacts=""
analysis=exit
<<<test_output>>>
shmem_test_06: IPC Shared Memory TestSuite program

mykey to uniquely identify the shared memory segment 0x33050405

Get shared memory segment (1048576 bytes)

Attach shared memory segment to process

Shared memory segment address : 0x7f4cdcc01000

Index through shared memory segment ...

mykey to uniquely identify the shared memory segment 0x34050405

Get shared memory segment (1048576 bytes)

Attach shared memory segment to process

Shared memory segment address : 0x7f4cdc420000

Index through shared memory segment ...

mykey to uniquely identify the shared memory segment 0x35050405

Get shared memory segment (1048576 bytes)

Attach shared memory segment to process

Shared memory segment address : 0x7f4cdc320000

Index through shared memory segment ...

mykey to uniquely identify the shared memory segment 0x36050405

Get shared memory segment (1048576 bytes)

Attach shared memory segment to process

Shared memory segment address : 0x7f4cdc220000

Index through shared memory segment ...

mykey to uniquely identify the shared memory segment 0x37050405

Get shared memory segment (1048576 bytes)

Attach shared memory segment to process

Shared memory segment address : 0x7f4cdc120000

Index through shared memory segment ...

mykey to uniquely identify the shared memory segment 0x38050405

Get shared memory segment (1048576 bytes)

Attach shared memory segment to process

Shared memory segment address : 0x7f4cdc020000

Index through shared memory segment ...

mykey to uniquely identify the shared memory segment 0x39050405

Get shared memory segment (1048576 bytes)

Attach shared memory segment to process

Shared memory segment address : 0x7f4cdbf20000

Index through shared memory segment ...

mykey to uniquely identify the shared memory segment 0x41050405

Get shared memory segment (1048576 bytes)

Attach shared memory segment to process

Shared memory segment address : 0x7f4cdbe20000

Index through shared memory segment ...

mykey to uniquely identify the shared memory segment 0x42050405

Get shared memory segment (1048576 bytes)

Attach shared memory segment to process

Shared memory segment address : 0x7f4cdbd20000

Index through shared memory segment ...

mykey to uniquely identify the shared memory segment 0x43050405

Get shared memory segment (1048576 bytes)

Attach shared memory segment to process

Shared memory segment address : 0x7f4cdbc20000

Index through shared memory segment ...

mykey to uniquely identify the shared memory segment 0x45050405

Get shared memory segment (1048576 bytes)

Attach shared memory segment to process

Shared memory segment address : 0x7f4cdbb20000

Index through shared memory segment ...

Detach from the segment using the shmdt subroutine

Release shared memory

successful!
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=0 corefile=no
cutime=1 cstime=1
<<<test_end>>>
<<<test_start>>>
tag=shmem_test_07 stime=1401805266
cmdline=" shmem_test_07"
contacts=""
analysis=exit
<<<test_output>>>
shmem_test_07: IPC Shared Memory TestSuite program
Number of writers = 2
Number of readers = 2
Bytes per writer = 200000
writer (001): shared memory checksum 018501a0
reader (000) of writer (001): checksum 018501a0
reader (001) of writer (001): checksum 018501a0
writer (000): shared memory checksum 01850160
reader (001) of writer (000): checksum 01850160
reader (000) of writer (000): checksum 01850160

Main: readers calculated segment successfully

successful!
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=0 corefile=no
cutime=1 cstime=1
<<<test_end>>>
<<<test_start>>>
tag=signal_test_01 stime=1401805266
cmdline=" signal_test_01"
contacts=""
analysis=exit
<<<test_output>>>
signal_test_01: IPC Signals TestSuite program

Send SIGILL, SIGALRM, SIGIOT signals to process
received signal: (SIGILL)
received signal: (SIGALRM)
received signal: (SIGIOT/SIGABRT)

Block SIGILL, SIGALRM, SIGIOT signals, and resend signals + others
received signal: (SIGFPE)
received signal: (SIGTERM)
received signal: (SIGINT)

Block rest of signals

Change signal mask & wait until signal interrupts process
received signal: (SIGINT)

successful!
<<<execution_status>>>
initiation_status="ok"
duration=2 termination_type=exited termination_id=0 corefile=no
cutime=0 cstime=0
<<<test_end>>>
<<<test_start>>>
tag=signal_test_02 stime=1401805268
cmdline=" signal_test_02"
contacts=""
analysis=exit
<<<test_output>>>
signal_test_02: IPC TestSuite program

Send SIGILL, SIGALRM, SIGIOT signals to process
received signal: (SIGILL)
received signal: (SIGALRM)
received signal: (SIGIOT/SIGABRT)

Block SIGILL, SIGALRM, SIGIOT signals, and resend signals + others
received signal: (SIGFPE)
received signal: (SIGTERM)
received signal: (SIGINT)

Block rest of signals

Change signal mask & wait until signal interrupts process
received signal: (SIGINT)

successful!
<<<execution_status>>>
initiation_status="ok"
duration=2 termination_type=exited termination_id=0 corefile=no
cutime=0 cstime=0
<<<test_end>>>
<<<test_start>>>
tag=signal_test_03 stime=1401805270
cmdline=" signal_test_03"
contacts=""
analysis=exit
<<<test_output>>>
signal_test_03: IPC Signals TestSuite program

(BEGIN) Critial section

(END) Critial section
received signal: (SIGILL)

successful!
<<<execution_status>>>
initiation_status="ok"
duration=1 termination_type=exited termination_id=0 corefile=no
cutime=0 cstime=0
<<<test_end>>>
<<<test_start>>>
tag=signal_test_04 stime=1401805271
cmdline=" signal_test_04"
contacts=""
analysis=exit
<<<test_output>>>
signal_test_04: IPC TestSuite program

Wait for SIGUSR1 signal from child process
Received SIGUSR1 (30)

Stop the child process

Wait for SIGCHLD signal from stopped child process
Received SIGCHLD (20)

Resume child process & wait for it to send SIGUSR1 signal
Received SIGUSR1 (20)

Now kill the child process with SIGUSR2 signal

Wait for SIGCHLD signal from killed child process
Received SIGCHLD (30)

successful!
<<<execution_status>>>
initiation_status="ok"
duration=4 termination_type=exited termination_id=0 corefile=no
cutime=399 cstime=1
<<<test_end>>>
<<<test_start>>>
tag=signal_test_05 stime=1401805275
cmdline=" signal_test_05"
contacts=""
analysis=exit
<<<test_output>>>
signal_test_05: IPC TestSuite program


Spawning child process

Child: sending ALL signals to parent!
Sending (1)
Sending (2)
Sending (3)
Sending (4)
Sending (5)
Sending (6)
Sending (7)
Sending (8)
Sending (10)
Sending (11)
Sending (12)
Sending (13)
Sending (14)
Sending (15)
Sending (16)
Sending (18)
Sending (20)
Sending (21)
Sending (22)
Sending (23)
Sending (24)
Sending (25)
Sending (26)
Sending (27)
Sending (28)
Sending (29)
Sending (30)
Sending (31)
Sending (35)
Sending (36)
Sending (37)
Sending (38)
Sending (39)
Sending (40)
Sending (41)
Sending (42)
Sending (43)
Sending (44)
Sending (45)
Sending (46)
Sending (47)
Sending (48)
Sending (49)
Sending (50)
Sending (51)
Sending (52)
Sending (53)
Sending (54)
Sending (55)
Sending (56)
Sending (57)
Sending (58)
Sending (59)
Sending (60)
Sending (61)
Sending (62)
Sending (63)
Sending (64)
signal_test_05: IPC TestSuite program


Spawning child process
caught SIGCHLD(17) signal

Child process exited successfully

successful!
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=0 corefile=no
cutime=0 cstime=0
<<<test_end>>>
<<<test_start>>>
tag=signal_test_06 stime=1401805275
cmdline=" signal_test_06"
contacts=""
analysis=exit
<<<test_output>>>
signal_test_06: IPC TestSuite program

Block all signals from interrupting the process

Send MAX (1048576) SIGUSR1 signals to the process...

Ensure at least one SIGUSR1 signal is pending

Change signal mask & wait for SIGUSR1 signal
caught SIGUSR1 (10) signal

successful!
<<<execution_status>>>
initiation_status="ok"
duration=4 termination_type=exited termination_id=0 corefile=no
cutime=86 cstime=142
<<<test_end>>>
<<<test_start>>>
tag=signal_test_07 stime=1401805279
cmdline=" signal_test_07"
contacts=""
analysis=exit
<<<test_output>>>
signal_test_07: IPC TestSuite program

Send MAX (1048576) signals to the process...

Received EVERY signal!

successful!
incrementing stop
<<<execution_status>>>
initiation_status="ok"
duration=8 termination_type=exited termination_id=0 corefile=no
cutime=239 cstime=525
<<<test_end>>>
INFO: ltp-pan reported all tests PASS
LTP Version: 20140422-134-gd458410

###############################################################

Done executing testcases.
LTP Version: 20140422-134-gd458410
###############################################################

***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh open-plain.test
***
TEST100: Open O_RDONLY
- open_file -r /mnt/a/foo100/ -R :xxx:yyy:zzz -E ENOTDIR
- open_file -r /mnt/a/foo100/ -R :xxx:yyy:zzz -E ENOTDIR
TEST101: Open O_WRONLY
- open_file -w /mnt/a/foo101/ -W q -E ENOTDIR
- open_file -r /mnt/a/foo101/ -R qxxx:yyy:zzz -E ENOTDIR
- open_file -w /mnt/a/foo101/ -W p -E ENOTDIR
- open_file -r /mnt/a/foo101/ -R pxxx:yyy:zzz -E ENOTDIR
TEST102: Open O_APPEND|O_WRONLY
- open_file -a /mnt/a/foo102/ -W q -E ENOTDIR
- open_file -r /mnt/a/foo102/ -R :xxx:yyy:zzzq -E ENOTDIR
- open_file -a /mnt/a/foo102/ -W p -E ENOTDIR
- open_file -r /mnt/a/foo102/ -R :xxx:yyy:zzzqp -E ENOTDIR
TEST103: Open O_RDWR
- open_file -r -w /mnt/a/foo103/ -W q -E ENOTDIR
- open_file -r /mnt/a/foo103/ -R qxxx:yyy:zzz -E ENOTDIR
- open_file -r -w /mnt/a/foo103/ -W p -E ENOTDIR
- open_file -r /mnt/a/foo103/ -R pxxx:yyy:zzz -E ENOTDIR
TEST104: Open O_APPEND|O_RDWR
- open_file -r -a /mnt/a/foo104/ -W q -E ENOTDIR
- open_file -r /mnt/a/foo104/ -R :xxx:yyy:zzzq -E ENOTDIR
- open_file -r -a /mnt/a/foo104/ -W p -E ENOTDIR
- open_file -r /mnt/a/foo104/ -R :xxx:yyy:zzzqp -E ENOTDIR
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh open-trunc.test
***
TEST100: Open O_TRUNC|O_RDONLY
- open_file -t -r /mnt/a/foo100/ -R -E ENOTDIR
- open_file -t -r /mnt/a/foo100/ -R -E ENOTDIR
TEST101: Open O_TRUNC|O_WRONLY
- open_file -t -w /mnt/a/foo101/ -W q -E ENOTDIR
- open_file -r /mnt/a/foo101/ -R q -E ENOTDIR
- open_file -t -w /mnt/a/foo101/ -W p -E ENOTDIR
- open_file -r /mnt/a/foo101/ -R p -E ENOTDIR
TEST102: Open O_TRUNC|O_APPEND|O_WRONLY
- open_file -t -a /mnt/a/foo102/ -W q -E ENOTDIR
- open_file -r /mnt/a/foo102/ -R q -E ENOTDIR
- open_file -t -a /mnt/a/foo102/ -W p -E ENOTDIR
- open_file -r /mnt/a/foo102/ -R p -E ENOTDIR
TEST103: Open O_TRUNC|O_RDWR
- open_file -t -r -w /mnt/a/foo103/ -W q -E ENOTDIR
- open_file -r /mnt/a/foo103/ -R q -E ENOTDIR
- open_file -t -r -w /mnt/a/foo103/ -W p -E ENOTDIR
- open_file -r /mnt/a/foo103/ -R p -E ENOTDIR
TEST104: Open O_TRUNC|O_APPEND|O_RDWR
- open_file -t -r -a /mnt/a/foo104/ -W q -E ENOTDIR
- open_file -r /mnt/a/foo104/ -R q -E ENOTDIR
- open_file -t -r -a /mnt/a/foo104/ -W p -E ENOTDIR
- open_file -r /mnt/a/foo104/ -R p -E ENOTDIR
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh open-creat.test
***
TEST100: Open O_CREAT|O_RDONLY
- open_file -c -r /mnt/a/foo100/ -R :xxx:yyy:zzz -E EISDIR
- open_file -c -r /mnt/a/foo100/ -R :xxx:yyy:zzz -E EISDIR
TEST101: Open O_CREAT|O_WRONLY
- open_file -c -w /mnt/a/foo101/ -W q -E EISDIR
- open_file -c -r /mnt/a/foo101/ -R qxxx:yyy:zzz -E EISDIR
- open_file -c -w /mnt/a/foo101/ -W p -E EISDIR
- open_file -c -r /mnt/a/foo101/ -R pxxx:yyy:zzz -E EISDIR
TEST102: Open O_CREAT|O_APPEND|O_WRONLY
- open_file -c -a /mnt/a/foo102/ -W q -E EISDIR
- open_file -c -r /mnt/a/foo102/ -R :xxx:yyy:zzzq -E EISDIR
- open_file -c -a /mnt/a/foo102/ -W p -E EISDIR
- open_file -c -r /mnt/a/foo102/ -R :xxx:yyy:zzzqp -E EISDIR
TEST103: Open O_CREAT|O_RDWR
- open_file -c -r -w /mnt/a/foo103/ -W q -E EISDIR
- open_file -c -r /mnt/a/foo103/ -R qxxx:yyy:zzz -E EISDIR
- open_file -c -r -w /mnt/a/foo103/ -W p -E EISDIR
- open_file -c -r /mnt/a/foo103/ -R pxxx:yyy:zzz -E EISDIR
TEST104: Open O_CREAT|O_APPEND|O_RDWR
- open_file -c -r -a /mnt/a/foo104/ -W q -E EISDIR
- open_file -c -r /mnt/a/foo104/ -R :xxx:yyy:zzzq -E EISDIR
- open_file -c -r -a /mnt/a/foo104/ -W p -E EISDIR
- open_file -c -r /mnt/a/foo104/ -R :xxx:yyy:zzzqp -E EISDIR
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh open-creat-trunc.test
***
TEST100: Open O_CREAT|O_TRUNC|O_RDONLY
- open_file -c -t -r /mnt/a/foo100/ -R -E EISDIR -E EISDIR
- open_file -c -t -r /mnt/a/foo100/ -R -E EISDIR -E EISDIR
TEST101: Open O_CREAT|O_TRUNC|O_WRONLY
- open_file -c -t -w /mnt/a/foo101/ -W q -E EISDIR -E EISDIR
- open_file -r /mnt/a/foo101/ -R q -E ENOTDIR -E ENOTDIR
- open_file -c -t -w /mnt/a/foo101/ -W p -E EISDIR -E EISDIR
- open_file -r /mnt/a/foo101/ -R p -E ENOTDIR -E ENOTDIR
TEST102: Open O_CREAT|O_TRUNC|O_APPEND|O_WRONLY
- open_file -c -t -a /mnt/a/foo102/ -W q -E EISDIR -E EISDIR
- open_file -r /mnt/a/foo102/ -R q -E ENOTDIR -E ENOTDIR
- open_file -c -t -a /mnt/a/foo102/ -W p -E EISDIR -E EISDIR
- open_file -r /mnt/a/foo102/ -R p -E ENOTDIR -E ENOTDIR
TEST103: Open O_CREAT|O_TRUNC|O_RDWR
- open_file -c -t -r -w /mnt/a/foo103/ -W q -E EISDIR -E EISDIR
- open_file -r /mnt/a/foo103/ -R q -E ENOTDIR -E ENOTDIR
- open_file -c -t -r -w /mnt/a/foo103/ -W p -E EISDIR -E EISDIR
- open_file -r /mnt/a/foo103/ -R p -E ENOTDIR -E ENOTDIR
TEST104: Open O_CREAT|O_TRUNC|O_APPEND|O_RDWR
- open_file -c -t -r -a /mnt/a/foo104/ -W q -E EISDIR -E EISDIR
- open_file -r /mnt/a/foo104/ -R q -E ENOTDIR -E ENOTDIR
- open_file -c -t -r -a /mnt/a/foo104/ -W p -E EISDIR -E EISDIR
- open_file -r /mnt/a/foo104/ -R p -E ENOTDIR -E ENOTDIR
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh open-creat-excl.test
***
TEST100: Open O_CREAT|O_EXCL|O_RDONLY
- open_file -c -e -r /mnt/a/foo100/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/foo100/ -R :xxx:yyy:zzz -E ENOTDIR
TEST101: Open O_CREAT|O_EXCL|O_WRONLY
- open_file -c -e -w /mnt/a/foo101/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/foo101/ -R :xxx:yyy:zzz -E ENOTDIR
TEST102: Open O_CREAT|O_EXCL|O_APPEND|O_WRONLY
- open_file -c -e -a /mnt/a/foo102/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/foo102/ -R :xxx:yyy:zzz -E ENOTDIR
TEST103: Open O_CREAT|O_EXCL|O_RDWR
- open_file -c -e -r -w /mnt/a/foo103/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/foo103/ -R :xxx:yyy:zzz -E ENOTDIR
TEST104: Open O_CREAT|O_EXCL|O_APPEND|O_RDWR
- open_file -c -e -r -a /mnt/a/foo104/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/foo104/ -R :xxx:yyy:zzz -E ENOTDIR
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh open-creat-excl-trunc.test
***
TEST100: Open O_CREAT|O_EXCL|O_TRUNC|O_RDONLY
- open_file -c -e -t -r /mnt/a/foo100/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/foo100/ -R :xxx:yyy:zzz -E ENOTDIR
TEST101: Open O_CREAT|O_EXCL|O_TRUNC|O_WRONLY
- open_file -c -e -t -w /mnt/a/foo101/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/foo101/ -R :xxx:yyy:zzz -E ENOTDIR
TEST102: Open O_CREAT|O_EXCL|O_TRUNC|O_APPEND|O_WRONLY
- open_file -c -e -t -a /mnt/a/foo102/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/foo102/ -R :xxx:yyy:zzz -E ENOTDIR
TEST103: Open O_CREAT|O_EXCL|O_TRUNC|O_RDWR
- open_file -c -e -t -r -w /mnt/a/foo103/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/foo103/ -R :xxx:yyy:zzz -E ENOTDIR
TEST104: Open O_CREAT|O_EXCL|O_TRUNC|O_APPEND|O_RDWR
- open_file -c -e -t -r -a /mnt/a/foo104/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/foo104/ -R :xxx:yyy:zzz -E ENOTDIR
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh noent-plain.test
***

Try non-existent files:
TEST100: Open O_RDONLY
- open_file -r /mnt/a/no_foo100/ -E ENOENT -E ENOENT
- open_file -r /mnt/a/no_foo100/ -E ENOENT -E ENOENT
TEST101: Open O_WRONLY
- open_file -w /mnt/a/no_foo101/ -E ENOENT -E ENOENT
- open_file -w /mnt/a/no_foo101/ -E ENOENT -E ENOENT
TEST102: Open O_APPEND|O_WRONLY
- open_file -a /mnt/a/no_foo102/ -E ENOENT -E ENOENT
- open_file -a /mnt/a/no_foo102/ -E ENOENT -E ENOENT
TEST103: Open O_RDWR
- open_file -r -w /mnt/a/no_foo103/ -E ENOENT -E ENOENT
- open_file -r -w /mnt/a/no_foo103/ -E ENOENT -E ENOENT
TEST104: Open O_APPEND|O_RDWR
- open_file -r -a /mnt/a/no_foo104/ -E ENOENT -E ENOENT
- open_file -r -a /mnt/a/no_foo104/ -E ENOENT -E ENOENT
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh noent-trunc.test
***
TEST100: Open O_TRUNC|O_RDONLY
- open_file -t -r /mnt/a/no_foo100/ -E ENOENT -E ENOENT
- open_file -t -r /mnt/a/no_foo100/ -E ENOENT -E ENOENT
TEST101: Open O_TRUNC|O_WRONLY
- open_file -t -w /mnt/a/no_foo101/ -E ENOENT -E ENOENT
- open_file -t -w /mnt/a/no_foo101/ -E ENOENT -E ENOENT
TEST102: Open O_TRUNC|O_APPEND|O_WRONLY
- open_file -t -a /mnt/a/no_foo102/ -E ENOENT -E ENOENT
- open_file -t -a /mnt/a/no_foo102/ -E ENOENT -E ENOENT
TEST103: Open O_TRUNC|O_RDWR
- open_file -t -r -w /mnt/a/no_foo103/ -E ENOENT -E ENOENT
- open_file -t -r -w /mnt/a/no_foo103/ -E ENOENT -E ENOENT
TEST104: Open O_TRUNC|O_APPEND|O_RDWR
- open_file -t -r -a /mnt/a/no_foo104/ -E ENOENT -E ENOENT
- open_file -t -r -a /mnt/a/no_foo104/ -E ENOENT -E ENOENT
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh noent-creat.test
***
TEST100: Create O_CREAT|O_RDONLY
- open_file -c -r /mnt/a/no_foo100/ -R -E EISDIR
- open_file -c -r /mnt/a/no_foo100/ -R -E EISDIR
TEST101: Create O_CREAT|O_WRONLY
- open_file -c -w /mnt/a/no_foo101/ -W q -E EISDIR
- open_file -r /mnt/a/no_foo101/ -R q -E ENOENT
- open_file -c -w /mnt/a/no_foo101/ -W p -E EISDIR
- open_file -r /mnt/a/no_foo101/ -R p -E ENOENT
TEST102: Create O_CREAT|O_APPEND|O_WRONLY
- open_file -c -a /mnt/a/no_foo102/ -W q -E EISDIR
- open_file -r /mnt/a/no_foo102/ -R q -E ENOENT
- open_file -c -a /mnt/a/no_foo102/ -W p -E EISDIR
- open_file -r /mnt/a/no_foo102/ -R qp -E ENOENT
TEST103: Create O_CREAT|O_RDWR
- open_file -c -r -w /mnt/a/no_foo103/ -W q -E EISDIR
- open_file -r /mnt/a/no_foo103/ -R q -E ENOENT
- open_file -c -r -w /mnt/a/no_foo103/ -W p -E EISDIR
- open_file -r /mnt/a/no_foo103/ -R p -E ENOENT
TEST104: Create O_CREAT|O_APPEND|O_RDWR
- open_file -c -r -a /mnt/a/no_foo104/ -W q -E EISDIR
- open_file -r /mnt/a/no_foo104/ -R q -E ENOENT
- open_file -c -r -a /mnt/a/no_foo104/ -W p -E EISDIR
- open_file -r /mnt/a/no_foo104/ -R qp -E ENOENT
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh noent-creat-trunc.test
***
TEST100: Create O_CREAT|O_TRUNC|O_RDONLY
- open_file -c -t -r /mnt/a/no_foo100/ -R -E EISDIR
- open_file -c -t -r /mnt/a/no_foo100/ -R -E EISDIR
TEST101: Create O_CREAT|O_TRUNC|O_WRONLY
- open_file -c -t -w /mnt/a/no_foo101/ -W q -E EISDIR
- open_file -r /mnt/a/no_foo101/ -R q -E ENOENT
- open_file -c -t -w /mnt/a/no_foo101/ -W p -E EISDIR
- open_file -r /mnt/a/no_foo101/ -R p -E ENOENT
TEST102: Create O_CREAT|O_TRUNC|O_APPEND|O_WRONLY
- open_file -c -t -a /mnt/a/no_foo102/ -W q -E EISDIR
- open_file -r /mnt/a/no_foo102/ -R q -E ENOENT
- open_file -c -a /mnt/a/no_foo102/ -W p -E EISDIR
- open_file -r /mnt/a/no_foo102/ -R qp -E ENOENT
TEST103: Create O_CREAT|O_TRUNC|O_RDWR
- open_file -c -t -r -w /mnt/a/no_foo103/ -W q -E EISDIR
- open_file -r /mnt/a/no_foo103/ -R q -E ENOENT
- open_file -c -r -w /mnt/a/no_foo103/ -W p -E EISDIR
- open_file -r /mnt/a/no_foo103/ -R p -E ENOENT
TEST104: Create O_CREAT|O_TRUNC|O_APPEND|O_RDWR
- open_file -c -t -r -a /mnt/a/no_foo104/ -W q -E EISDIR
- open_file -r /mnt/a/no_foo104/ -R q -E ENOENT
- open_file -c -r -a /mnt/a/no_foo104/ -W p -E EISDIR
- open_file -r /mnt/a/no_foo104/ -R qp -E ENOENT
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh noent-creat-excl.test
***
TEST100: Create O_CREAT|O_EXCL|O_RDONLY
- open_file -c -e -r /mnt/a/no_foo100/ -R -E EISDIR
- open_file -c -e -r /mnt/a/no_foo100/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/no_foo100/ -R -E ENOENT
TEST101: Create O_CREAT|O_EXCL|O_WRONLY
- open_file -c -e -w /mnt/a/no_foo101/ -W q -E EISDIR
- open_file -r /mnt/a/no_foo101/ -R q -E ENOENT
- open_file -c -e -w /mnt/a/no_foo101/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/no_foo101/ -R q -E ENOENT
TEST102: Create O_CREAT|O_EXCL|O_APPEND|O_WRONLY
- open_file -c -e -a /mnt/a/no_foo102/ -W q -E EISDIR
- open_file -r /mnt/a/no_foo102/ -R q -E ENOENT
- open_file -c -e -a /mnt/a/no_foo102/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/no_foo102/ -R q -E ENOENT
TEST103: Create O_CREAT|O_EXCL|O_RDWR
- open_file -c -e -r -w /mnt/a/no_foo103/ -W q -E EISDIR
- open_file -r /mnt/a/no_foo103/ -R q -E ENOENT
- open_file -c -e -r -w /mnt/a/no_foo103/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/no_foo103/ -R q -E ENOENT
TEST104: Create O_CREAT|O_EXCL|O_APPEND|O_RDWR
- open_file -c -e -r -a /mnt/a/no_foo104/ -W q -E EISDIR
- open_file -r /mnt/a/no_foo104/ -R q -E ENOENT
- open_file -c -e -r -a /mnt/a/no_foo104/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/no_foo104/ -R q -E ENOENT
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh noent-creat-excl-trunc.test
***
TEST100: Create O_CREAT|O_EXCL|O_TRUNC|O_RDONLY
- open_file -c -e -t -r /mnt/a/no_foo100/ -R -E EISDIR
- open_file -c -e -t -r /mnt/a/no_foo100/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/no_foo100/ -R -E ENOENT
TEST101: Create O_CREAT|O_EXCL|O_TRUNC|O_WRONLY
- open_file -c -e -t -w /mnt/a/no_foo101/ -W q -E EISDIR
- open_file -r /mnt/a/no_foo101/ -R q -E ENOENT
- open_file -c -e -t -w /mnt/a/no_foo101/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/no_foo101/ -R q -E ENOENT
TEST102: Create O_CREAT|O_EXCL|O_TRUNC|O_APPEND|O_WRONLY
- open_file -c -e -t -a /mnt/a/no_foo102/ -W q -E EISDIR
- open_file -r /mnt/a/no_foo102/ -R q -E ENOENT
- open_file -c -e -a /mnt/a/no_foo102/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/no_foo102/ -R q -E ENOENT
TEST103: Create O_CREAT|O_EXCL|O_TRUNC|O_RDWR
- open_file -c -e -t -r -w /mnt/a/no_foo103/ -W q -E EISDIR
- open_file -r /mnt/a/no_foo103/ -R q -E ENOENT
- open_file -c -e -r -w /mnt/a/no_foo103/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/no_foo103/ -R q -E ENOENT
TEST104: Create O_CREAT|O_EXCL|O_TRUNC|O_APPEND|O_RDWR
- open_file -c -e -t -r -a /mnt/a/no_foo104/ -W q -E EISDIR
- open_file -r /mnt/a/no_foo104/ -R q -E ENOENT
- open_file -c -e -r -a /mnt/a/no_foo104/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/no_foo104/ -R q -E ENOENT
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh sym1-plain.test
***
TEST100: Open(symlink) O_RDONLY
- open_file -r /mnt/a/direct_sym100/ -R :xxx:yyy:zzz -E ENOTDIR
- open_file -r /mnt/a/direct_sym100/ -R :xxx:yyy:zzz -E ENOTDIR
TEST101: Open(symlink) O_WRONLY
- open_file -w /mnt/a/direct_sym101/ -W q -E ENOTDIR
- open_file -r /mnt/a/direct_sym101/ -R qxxx:yyy:zzz -E ENOTDIR
- open_file -w /mnt/a/direct_sym101/ -W p -E ENOTDIR
- open_file -r /mnt/a/direct_sym101/ -R pxxx:yyy:zzz -E ENOTDIR
TEST102: Open(symlink) O_APPEND|O_WRONLY
- open_file -a /mnt/a/direct_sym102/ -W q -E ENOTDIR
- open_file -r /mnt/a/direct_sym102/ -R :xxx:yyy:zzzq -E ENOTDIR
- open_file -a /mnt/a/direct_sym102/ -W p -E ENOTDIR
- open_file -r /mnt/a/direct_sym102/ -R :xxx:yyy:zzzqp -E ENOTDIR
TEST103: Open(symlink) O_RDWR
- open_file -r -w /mnt/a/direct_sym103/ -W q -E ENOTDIR
- open_file -r /mnt/a/direct_sym103/ -R qxxx:yyy:zzz -E ENOTDIR
- open_file -r -w /mnt/a/direct_sym103/ -W p -E ENOTDIR
- open_file -r /mnt/a/direct_sym103/ -R pxxx:yyy:zzz -E ENOTDIR
TEST104: Open(symlink) O_APPEND|O_RDWR
- open_file -r -a /mnt/a/direct_sym104/ -W q -E ENOTDIR
- open_file -r /mnt/a/direct_sym104/ -R :xxx:yyy:zzzq -E ENOTDIR
- open_file -r -a /mnt/a/direct_sym104/ -W p -E ENOTDIR
- open_file -r /mnt/a/direct_sym104/ -R :xxx:yyy:zzzqp -E ENOTDIR
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh sym1-trunc.test
***
TEST100: Open(symlink) O_TRUNC|O_RDONLY
- open_file -t -r /mnt/a/direct_sym100/ -R -E ENOTDIR
- open_file -t -r /mnt/a/direct_sym100/ -R -E ENOTDIR
TEST101: Open(symlink) O_TRUNC|O_WRONLY
- open_file -t -w /mnt/a/direct_sym101/ -W q -E ENOTDIR
- open_file -r /mnt/a/direct_sym101/ -R q -E ENOTDIR
- open_file -t -w /mnt/a/direct_sym101/ -W p -E ENOTDIR
- open_file -r /mnt/a/direct_sym101/ -R p -E ENOTDIR
TEST102: Open(symlink) O_TRUNC|O_APPEND|O_WRONLY
- open_file -t -a /mnt/a/direct_sym102/ -W q -E ENOTDIR
- open_file -r /mnt/a/direct_sym102/ -R q -E ENOTDIR
- open_file -t -a /mnt/a/direct_sym102/ -W p -E ENOTDIR
- open_file -r /mnt/a/direct_sym102/ -R p -E ENOTDIR
TEST103: Open(symlink) O_TRUNC|O_RDWR
- open_file -t -r -w /mnt/a/direct_sym103/ -W q -E ENOTDIR
- open_file -r /mnt/a/direct_sym103/ -R q -E ENOTDIR
- open_file -t -r -w /mnt/a/direct_sym103/ -W p -E ENOTDIR
- open_file -r /mnt/a/direct_sym103/ -R p -E ENOTDIR
TEST104: Open(symlink) O_TRUNC|O_APPEND|O_RDWR
- open_file -t -r -a /mnt/a/direct_sym104/ -W q -E ENOTDIR
- open_file -r /mnt/a/direct_sym104/ -R q -E ENOTDIR
- open_file -t -r -a /mnt/a/direct_sym104/ -W p -E ENOTDIR
- open_file -r /mnt/a/direct_sym104/ -R p -E ENOTDIR
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh sym1-creat.test
***
TEST100: Open(symlink) O_CREAT|O_RDONLY
- open_file -c -r /mnt/a/direct_sym100/ -R :xxx:yyy:zzz -E EISDIR
- open_file -c -r /mnt/a/direct_sym100/ -R :xxx:yyy:zzz -E EISDIR
TEST101: Open(symlink) O_CREAT|O_WRONLY
- open_file -c -w /mnt/a/direct_sym101/ -W q -E EISDIR
- open_file -c -r /mnt/a/direct_sym101/ -R qxxx:yyy:zzz -E EISDIR
- open_file -c -w /mnt/a/direct_sym101/ -W p -E EISDIR
- open_file -c -r /mnt/a/direct_sym101/ -R pxxx:yyy:zzz -E EISDIR
TEST102: Open(symlink) O_CREAT|O_APPEND|O_WRONLY
- open_file -c -a /mnt/a/direct_sym102/ -W q -E EISDIR
- open_file -c -r /mnt/a/direct_sym102/ -R :xxx:yyy:zzzq -E EISDIR
- open_file -c -a /mnt/a/direct_sym102/ -W p -E EISDIR
- open_file -c -r /mnt/a/direct_sym102/ -R :xxx:yyy:zzzqp -E EISDIR
TEST103: Open(symlink) O_CREAT|O_RDWR
- open_file -c -r -w /mnt/a/direct_sym103/ -W q -E EISDIR
- open_file -c -r /mnt/a/direct_sym103/ -R qxxx:yyy:zzz -E EISDIR
- open_file -c -r -w /mnt/a/direct_sym103/ -W p -E EISDIR
- open_file -c -r /mnt/a/direct_sym103/ -R pxxx:yyy:zzz -E EISDIR
TEST104: Open(symlink) O_CREAT|O_APPEND|O_RDWR
- open_file -c -r -a /mnt/a/direct_sym104/ -W q -E EISDIR
- open_file -c -r /mnt/a/direct_sym104/ -R :xxx:yyy:zzzq -E EISDIR
- open_file -c -r -a /mnt/a/direct_sym104/ -W p -E EISDIR
- open_file -c -r /mnt/a/direct_sym104/ -R :xxx:yyy:zzzqp -E EISDIR
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh sym1-creat-excl.test
***
TEST100: Open(symlink) O_CREAT|O_EXCL|O_RDONLY
- open_file -c -e -r /mnt/a/direct_sym100/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/direct_sym100/ -R :xxx:yyy:zzz -E ENOTDIR
TEST101: Open(symlink) O_CREAT|O_EXCL|O_WRONLY
- open_file -c -e -w /mnt/a/direct_sym101/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/direct_sym101/ -R :xxx:yyy:zzz -E ENOTDIR
TEST102: Open(symlink) O_CREAT|O_EXCL|O_APPEND|O_WRONLY
- open_file -c -e -a /mnt/a/direct_sym102/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/direct_sym102/ -R :xxx:yyy:zzz -E ENOTDIR
TEST103: Open(symlink) O_CREAT|O_EXCL|O_RDWR
- open_file -c -e -r -w /mnt/a/direct_sym103/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/direct_sym103/ -R :xxx:yyy:zzz -E ENOTDIR
TEST104: Open(symlink) O_CREAT|O_EXCL|O_APPEND|O_RDWR
- open_file -c -e -r -a /mnt/a/direct_sym104/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/direct_sym104/ -R :xxx:yyy:zzz -E ENOTDIR
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh sym2-plain.test
***
TEST100: Open(symlink->symlink) O_RDONLY
- open_file -r /mnt/a/indirect_sym100/ -R :xxx:yyy:zzz -E ENOTDIR
- open_file -r /mnt/a/indirect_sym100/ -R :xxx:yyy:zzz -E ENOTDIR
TEST101: Open(symlink->symlink) O_WRONLY
- open_file -w /mnt/a/indirect_sym101/ -W q -E ENOTDIR
- open_file -r /mnt/a/indirect_sym101/ -R qxxx:yyy:zzz -E ENOTDIR
- open_file -w /mnt/a/indirect_sym101/ -W p -E ENOTDIR
- open_file -r /mnt/a/indirect_sym101/ -R pxxx:yyy:zzz -E ENOTDIR
TEST102: Open(symlink->symlink) O_APPEND|O_WRONLY
- open_file -a /mnt/a/indirect_sym102/ -W q -E ENOTDIR
- open_file -r /mnt/a/indirect_sym102/ -R :xxx:yyy:zzzq -E ENOTDIR
- open_file -a /mnt/a/indirect_sym102/ -W p -E ENOTDIR
- open_file -r /mnt/a/indirect_sym102/ -R :xxx:yyy:zzzqp -E ENOTDIR
TEST103: Open(symlink->symlink) O_RDWR
- open_file -r -w /mnt/a/indirect_sym103/ -W q -E ENOTDIR
- open_file -r /mnt/a/indirect_sym103/ -R qxxx:yyy:zzz -E ENOTDIR
- open_file -r -w /mnt/a/indirect_sym103/ -W p -E ENOTDIR
- open_file -r /mnt/a/indirect_sym103/ -R pxxx:yyy:zzz -E ENOTDIR
TEST104: Open(symlink->symlink) O_APPEND|O_RDWR
- open_file -r -a /mnt/a/indirect_sym104/ -W q -E ENOTDIR
- open_file -r /mnt/a/indirect_sym104/ -R :xxx:yyy:zzzq -E ENOTDIR
- open_file -r -a /mnt/a/indirect_sym104/ -W p -E ENOTDIR
- open_file -r /mnt/a/indirect_sym104/ -R :xxx:yyy:zzzqp -E ENOTDIR
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh sym2-trunc.test
***
TEST100: Open(symlink->symlink) O_TRUNC|O_RDONLY
- open_file -t -r /mnt/a/indirect_sym100/ -R -E ENOTDIR
- open_file -t -r /mnt/a/indirect_sym100/ -R -E ENOTDIR
TEST101: Open(symlink->symlink) O_TRUNC|O_WRONLY
- open_file -t -w /mnt/a/indirect_sym101/ -W q -E ENOTDIR
- open_file -r /mnt/a/indirect_sym101/ -R q -E ENOTDIR
- open_file -t -w /mnt/a/indirect_sym101/ -W p -E ENOTDIR
- open_file -r /mnt/a/indirect_sym101/ -R p -E ENOTDIR
TEST102: Open(symlink->symlink) O_TRUNC|O_APPEND|O_WRONLY
- open_file -t -a /mnt/a/indirect_sym102/ -W q -E ENOTDIR
- open_file -r /mnt/a/indirect_sym102/ -R q -E ENOTDIR
- open_file -t -a /mnt/a/indirect_sym102/ -W p -E ENOTDIR
- open_file -r /mnt/a/indirect_sym102/ -R p -E ENOTDIR
TEST103: Open(symlink->symlink) O_TRUNC|O_RDWR
- open_file -t -r -w /mnt/a/indirect_sym103/ -W q -E ENOTDIR
- open_file -r /mnt/a/indirect_sym103/ -R q -E ENOTDIR
- open_file -t -r -w /mnt/a/indirect_sym103/ -W p -E ENOTDIR
- open_file -r /mnt/a/indirect_sym103/ -R p -E ENOTDIR
TEST104: Open(symlink->symlink) O_TRUNC|O_APPEND|O_RDWR
- open_file -t -r -a /mnt/a/indirect_sym104/ -W q -E ENOTDIR
- open_file -r /mnt/a/indirect_sym104/ -R q -E ENOTDIR
- open_file -t -r -a /mnt/a/indirect_sym104/ -W p -E ENOTDIR
- open_file -r /mnt/a/indirect_sym104/ -R p -E ENOTDIR
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh sym2-creat.test
***
TEST100: Open(symlink->symlink) O_CREAT|O_RDONLY
- open_file -c -r /mnt/a/indirect_sym100/ -R :xxx:yyy:zzz -E EISDIR
- open_file -c -r /mnt/a/indirect_sym100/ -R :xxx:yyy:zzz -E EISDIR
TEST101: Open(symlink->symlink) O_CREAT|O_WRONLY
- open_file -c -w /mnt/a/indirect_sym101/ -W q -E EISDIR
- open_file -c -r /mnt/a/indirect_sym101/ -R qxxx:yyy:zzz -E EISDIR
- open_file -c -w /mnt/a/indirect_sym101/ -W p -E EISDIR
- open_file -c -r /mnt/a/indirect_sym101/ -R pxxx:yyy:zzz -E EISDIR
TEST102: Open(symlink->symlink) O_CREAT|O_APPEND|O_WRONLY
- open_file -c -a /mnt/a/indirect_sym102/ -W q -E EISDIR
- open_file -c -r /mnt/a/indirect_sym102/ -R :xxx:yyy:zzzq -E EISDIR
- open_file -c -a /mnt/a/indirect_sym102/ -W p -E EISDIR
- open_file -c -r /mnt/a/indirect_sym102/ -R :xxx:yyy:zzzqp -E EISDIR
TEST103: Open(symlink->symlink) O_CREAT|O_RDWR
- open_file -c -r -w /mnt/a/indirect_sym103/ -W q -E EISDIR
- open_file -c -r /mnt/a/indirect_sym103/ -R qxxx:yyy:zzz -E EISDIR
- open_file -c -r -w /mnt/a/indirect_sym103/ -W p -E EISDIR
- open_file -c -r /mnt/a/indirect_sym103/ -R pxxx:yyy:zzz -E EISDIR
TEST104: Open(symlink->symlink) O_CREAT|O_APPEND|O_RDWR
- open_file -c -r -a /mnt/a/indirect_sym104/ -W q -E EISDIR
- open_file -c -r /mnt/a/indirect_sym104/ -R :xxx:yyy:zzzq -E EISDIR
- open_file -c -r -a /mnt/a/indirect_sym104/ -W p -E EISDIR
- open_file -c -r /mnt/a/indirect_sym104/ -R :xxx:yyy:zzzqp -E EISDIR
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh sym2-creat-excl.test
***
TEST100: Open(symlink->symlink) O_CREAT|O_EXCL|O_RDONLY
- open_file -c -e -r /mnt/a/indirect_sym100/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/indirect_sym100/ -R :xxx:yyy:zzz -E ENOTDIR
TEST101: Open(symlink->symlink) O_CREAT|O_EXCL|O_WRONLY
- open_file -c -e -w /mnt/a/indirect_sym101/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/indirect_sym101/ -R :xxx:yyy:zzz -E ENOTDIR
TEST102: Open(symlink->symlink) O_CREAT|O_EXCL|O_APPEND|O_WRONLY
- open_file -c -e -a /mnt/a/indirect_sym102/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/indirect_sym102/ -R :xxx:yyy:zzz -E ENOTDIR
TEST103: Open(symlink->symlink) O_CREAT|O_EXCL|O_RDWR
- open_file -c -e -r -w /mnt/a/indirect_sym103/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/indirect_sym103/ -R :xxx:yyy:zzz -E ENOTDIR
TEST104: Open(symlink->symlink) O_CREAT|O_EXCL|O_APPEND|O_RDWR
- open_file -c -e -r -a /mnt/a/indirect_sym104/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/indirect_sym104/ -R :xxx:yyy:zzz -E ENOTDIR
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh symx-plain.test
***
TEST100: Open(broken) O_RDONLY
- open_file -r /mnt/a/pointless100/ -E ENOENT
- open_file -r /mnt/a/no_foo100/ -E ENOENT -E ENOENT
TEST101: Open(broken) O_WRONLY
- open_file -w /mnt/a/pointless101/ -E ENOENT
- open_file -r /mnt/a/no_foo101/ -E ENOENT -E ENOENT
TEST102: Open(broken) O_APPEND|O_WRONLY
- open_file -a /mnt/a/pointless102/ -E ENOENT
- open_file -r /mnt/a/no_foo102/ -E ENOENT -E ENOENT
TEST103: Open(broken) O_RDWR
- open_file -r -w /mnt/a/pointless103/ -E ENOENT
- open_file -r /mnt/a/no_foo103/ -E ENOENT -E ENOENT
TEST104: Open(broken) O_APPEND|O_RDWR
- open_file -r -a /mnt/a/pointless104/ -E ENOENT
- open_file -r /mnt/a/no_foo104/ -E ENOENT -E ENOENT
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh symx-trunc.test
***
TEST100: Open(broken) O_TRUNC|O_RDONLY
- open_file -t -r /mnt/a/pointless100/ -E ENOENT
TEST101: Open(broken) O_TRUNC|O_WRONLY
- open_file -t -w /mnt/a/pointless101/ -E ENOENT
TEST102: Open(broken) O_TRUNC|O_APPEND|O_WRONLY
- open_file -t -a /mnt/a/pointless102/ -E ENOENT
TEST103: Open(broken) O_TRUNC|O_RDWR
- open_file -t -r -w /mnt/a/pointless103/ -E ENOENT
TEST104: Open(broken) O_TRUNC|O_APPEND|O_RDWR
- open_file -t -r -a /mnt/a/pointless104/ -E ENOENT
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh symx-creat.test
***
TEST100: Open(broken) O_CREAT|O_RDONLY
- open_file -c -r /mnt/a/pointless100/ -R -E EISDIR
- open_file -r /mnt/a/no_foo100/ -R -E ENOENT
TEST101: Open(broken) O_CREAT|O_WRONLY
- open_file -c -w /mnt/a/pointless101/ -W q -E EISDIR
- open_file -r /mnt/a/no_foo101/ -R q -E ENOENT
TEST102: Open(broken) O_CREAT|O_APPEND|O_WRONLY
- open_file -c -a /mnt/a/pointless102/ -W q -E EISDIR
- open_file -r /mnt/a/no_foo102/ -R q -E ENOENT
TEST103: Open(broken) O_CREAT|O_RDWR
- open_file -c -r -w /mnt/a/pointless103/ -W q -E EISDIR
- open_file -r /mnt/a/no_foo103/ -R q -E ENOENT
TEST104: Open(broken) O_CREAT|O_APPEND|O_RDWR
- open_file -c -r -a /mnt/a/pointless104/ -W q -E EISDIR
- open_file -r /mnt/a/no_foo104/ -R q -E ENOENT
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh symx-creat-excl.test
***
TEST100: Open(broken) O_CREAT|O_EXCL|O_RDONLY
- open_file -c -e -r /mnt/a/pointless100/ -E EEXIST -E EISDIR
TEST101: Open(broken) O_CREAT|O_EXCL|O_WRONLY
- open_file -c -e -w /mnt/a/pointless101/ -E EEXIST -E EISDIR
TEST102: Open(broken) O_CREAT|O_EXCL|O_APPEND|O_WRONLY
- open_file -c -e -a /mnt/a/pointless102/ -E EEXIST -E EISDIR
TEST103: Open(broken) O_CREAT|O_EXCL|O_RDWR
- open_file -c -e -r -w /mnt/a/pointless103/ -E EEXIST -E EISDIR
TEST104: Open(broken) O_CREAT|O_EXCL|O_APPEND|O_RDWR
- open_file -c -e -r -a /mnt/a/pointless104/ -E EEXIST -E EISDIR
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh symx-creat-trunc.test
***
TEST100: Open(broken) O_CREAT|O_TRUNC|O_RDONLY
- open_file -c -t -r /mnt/a/pointless100/ -R -E EISDIR
- open_file -r /mnt/a/no_foo100/ -R -E ENOENT
TEST101: Open(broken) O_CREAT|O_TRUNC|O_WRONLY
- open_file -c -t -w /mnt/a/pointless101/ -W q -E EISDIR
- open_file -r /mnt/a/no_foo101/ -R q -E ENOENT
TEST102: Open(broken) O_CREAT|O_TRUNC|O_APPEND|O_WRONLY
- open_file -c -t -a /mnt/a/pointless102/ -W q -E EISDIR
- open_file -r /mnt/a/no_foo102/ -R q -E ENOENT
TEST103: Open(broken) O_CREAT|O_TRUNC|O_RDWR
- open_file -c -t -r -w /mnt/a/pointless103/ -W q -E EISDIR
- open_file -r /mnt/a/no_foo103/ -R q -E ENOENT
TEST104: Open(broken) O_CREAT|O_TRUNC|O_APPEND|O_RDWR
- open_file -c -t -r -a /mnt/a/pointless104/ -W q -E EISDIR
- open_file -r /mnt/a/no_foo104/ -R q -E ENOENT
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh truncate.test
***
TEST129: Prepare comparison
16+0 records in
16+0 records out
TEST100: Truncate to 0
- fs_op truncate /mnt/a/foo100/ 0 -E ENOTDIR -E ENOTDIR
TEST101: Truncate to 1
- fs_op truncate /mnt/a/foo101/ 1 -E ENOTDIR -E ENOTDIR
TEST102: Truncate to 2
- fs_op truncate /mnt/a/foo102/ 2 -E ENOTDIR -E ENOTDIR
TEST103: Truncate to 3
- fs_op truncate /mnt/a/foo103/ 3 -E ENOTDIR -E ENOTDIR
TEST104: Truncate to 4
- fs_op truncate /mnt/a/foo104/ 4 -E ENOTDIR -E ENOTDIR
TEST105: Truncate to 5
- fs_op truncate /mnt/a/foo105/ 5 -E ENOTDIR -E ENOTDIR
TEST106: Truncate to 6
- fs_op truncate /mnt/a/foo106/ 6 -E ENOTDIR -E ENOTDIR
TEST107: Truncate to 7
- fs_op truncate /mnt/a/foo107/ 7 -E ENOTDIR -E ENOTDIR
TEST108: Truncate to 8
- fs_op truncate /mnt/a/foo108/ 8 -E ENOTDIR -E ENOTDIR
TEST109: Truncate to 9
- fs_op truncate /mnt/a/foo109/ 9 -E ENOTDIR -E ENOTDIR
TEST110: Truncate to 10
- fs_op truncate /mnt/a/foo110/ 10 -E ENOTDIR -E ENOTDIR
TEST111: Truncate to 11
- fs_op truncate /mnt/a/foo111/ 11 -E ENOTDIR -E ENOTDIR
TEST112: Truncate to 12
- fs_op truncate /mnt/a/foo112/ 12 -E ENOTDIR -E ENOTDIR
TEST113: Truncate to 13
- fs_op truncate /mnt/a/foo113/ 13 -E ENOTDIR -E ENOTDIR
TEST114: Truncate to 14
- fs_op truncate /mnt/a/foo114/ 14 -E ENOTDIR -E ENOTDIR
TEST115: Truncate to 15
- fs_op truncate /mnt/a/foo115/ 15 -E ENOTDIR -E ENOTDIR
TEST116: Truncate to 16
- fs_op truncate /mnt/a/foo116/ 16 -E ENOTDIR -E ENOTDIR
TEST117: Truncate to 17
- fs_op truncate /mnt/a/foo117/ 17 -E ENOTDIR -E ENOTDIR
TEST118: Truncate to 18
- fs_op truncate /mnt/a/foo118/ 18 -E ENOTDIR -E ENOTDIR
TEST119: Truncate to 19
- fs_op truncate /mnt/a/foo119/ 19 -E ENOTDIR -E ENOTDIR
TEST120: Truncate to 20
- fs_op truncate /mnt/a/foo120/ 20 -E ENOTDIR -E ENOTDIR
TEST121: Truncate to 21
- fs_op truncate /mnt/a/foo121/ 21 -E ENOTDIR -E ENOTDIR
TEST122: Truncate to 22
- fs_op truncate /mnt/a/foo122/ 22 -E ENOTDIR -E ENOTDIR
TEST123: Truncate to 23
- fs_op truncate /mnt/a/foo123/ 23 -E ENOTDIR -E ENOTDIR
TEST124: Truncate to 24
- fs_op truncate /mnt/a/foo124/ 24 -E ENOTDIR -E ENOTDIR
TEST125: Truncate to 25
- fs_op truncate /mnt/a/foo125/ 25 -E ENOTDIR -E ENOTDIR
TEST126: Truncate to 26
- fs_op truncate /mnt/a/foo126/ 26 -E ENOTDIR -E ENOTDIR
TEST127: Truncate to 27
- fs_op truncate /mnt/a/foo127/ 27 -E ENOTDIR -E ENOTDIR
TEST128: Truncate to 28
- fs_op truncate /mnt/a/foo128/ 28 -E ENOTDIR -E ENOTDIR
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh dir-open.test
***
TEST100: Open O_RDONLY
- open_file -r /mnt/a/dir100/
- open_file -r /mnt/a/dir100/
TEST101: Open O_WRONLY
- open_file -w /mnt/a/dir101/ -E EISDIR
- open_file -r /mnt/a/dir101/
- open_file -w /mnt/a/dir101/ -E EISDIR
- open_file -r /mnt/a/dir101/
TEST102: Open O_WRONLY * 2
- open_file -w /mnt/a/dir102/ -E EISDIR
- open_file -w /mnt/a/dir102/ -E EISDIR
- open_file -r /mnt/a/dir102/
TEST103: Open O_APPEND|O_WRONLY
- open_file -a /mnt/a/dir103/ -E EISDIR
- open_file -r /mnt/a/dir103/
- open_file -a /mnt/a/dir103/ -E EISDIR
- open_file -r /mnt/a/dir103/
TEST104: Open O_RDWR
- open_file -r -w /mnt/a/dir104/ -E EISDIR
- open_file -r /mnt/a/dir104/
- open_file -r -w /mnt/a/dir104/ -E EISDIR
- open_file -r /mnt/a/dir104/
TEST105: Open O_APPEND|O_RDWR
- open_file -r -a /mnt/a/dir105/ -E EISDIR
- open_file -r /mnt/a/dir105/
- open_file -r -a /mnt/a/dir105/ -E EISDIR
- open_file -r /mnt/a/dir105/
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh dir-weird-open.test
***
TEST100: Open O_RDONLY | O_CREAT
- open_file -r -c /mnt/a/dir100/ -E EISDIR
- open_file -r /mnt/a/dir100/
TEST101: Open O_RDONLY | O_CREAT | O_EXCL
- open_file -r -c -e /mnt/a/dir101/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/dir101/
TEST102: Open O_RDONLY | O_TRUNC
- open_file -r -t /mnt/a/dir102/ -E EISDIR
- open_file -r /mnt/a/dir102/
TEST103: Open O_RDONLY | O_TRUNC | O_CREAT
- open_file -r -t -c /mnt/a/dir103/ -E EISDIR
- open_file -r /mnt/a/dir103/
TEST104: Open O_RDONLY | O_TRUNC | O_CREAT | O_EXCL
- open_file -r -t -c -e /mnt/a/dir104/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/dir104/
TEST105: Open O_RDONLY | O_CREAT
- open_file -w -c /mnt/a/dir105/ -E EISDIR
- open_file -r /mnt/a/dir105/
TEST106: Open O_RDONLY | O_CREAT | O_EXCL
- open_file -w -c -e /mnt/a/dir106/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/dir106/
TEST107: Open O_RDONLY | O_TRUNC
- open_file -w -t /mnt/a/dir107/ -E EISDIR
- open_file -r /mnt/a/dir107/
TEST108: Open O_RDONLY | O_TRUNC | O_CREAT
- open_file -w -t -c /mnt/a/dir108/ -E EISDIR
- open_file -r /mnt/a/dir108/
TEST109: Open O_RDONLY | O_TRUNC | O_CREAT | O_EXCL
- open_file -w -t -c -e /mnt/a/dir109/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/dir109/
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh dir-open-dir.test
***
TEST100: Open O_DIRECTORY | O_RDONLY
- open_file -d -r /mnt/a/dir100/
- open_file -d -r /mnt/a/dir100/
TEST101: Open O_DIRECTORY | O_WRONLY
- open_file -d -w /mnt/a/dir101/ -E EISDIR
- open_file -d -r /mnt/a/dir101/
- open_file -d -w /mnt/a/dir101/ -E EISDIR
- open_file -d -r /mnt/a/dir101/
TEST102: Open O_DIRECTORY | O_WRONLY * 2
- open_file -d -w /mnt/a/dir102/ -E EISDIR
- open_file -d -w /mnt/a/dir102/ -E EISDIR
- open_file -d -r /mnt/a/dir102/
TEST103: Open O_DIRECTORY | O_APPEND|O_WRONLY
- open_file -d -a /mnt/a/dir103/ -E EISDIR
- open_file -d -r /mnt/a/dir103/
- open_file -d -a /mnt/a/dir103/ -E EISDIR
- open_file -d -r /mnt/a/dir103/
TEST104: Open O_DIRECTORY | O_RDWR
- open_file -d -r -w /mnt/a/dir104/ -E EISDIR
- open_file -d -r /mnt/a/dir104/
- open_file -d -r -w /mnt/a/dir104/ -E EISDIR
- open_file -d -r /mnt/a/dir104/
TEST105: Open O_DIRECTORY | O_APPEND|O_RDWR
- open_file -d -r -a /mnt/a/dir105/ -E EISDIR
- open_file -d -r /mnt/a/dir105/
- open_file -d -r -a /mnt/a/dir105/ -E EISDIR
- open_file -d -r /mnt/a/dir105/
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh dir-weird-open-dir.test
***
TEST100: Open O_DIRECTORY | O_RDONLY | O_CREAT
- open_file -d -r -c /mnt/a/dir100/ -E EISDIR
- open_file -d -r /mnt/a/dir100/
TEST101: Open O_DIRECTORY | O_RDONLY | O_CREAT | O_EXCL
- open_file -d -r -c -e /mnt/a/dir101/ -E EEXIST -E EISDIR
- open_file -d -r /mnt/a/dir101/
TEST102: Open O_DIRECTORY | O_RDONLY | O_TRUNC
- open_file -d -r -t /mnt/a/dir102/ -E EISDIR
- open_file -d -r /mnt/a/dir102/
TEST103: Open O_DIRECTORY | O_RDONLY | O_TRUNC | O_CREAT
- open_file -d -r -t -c /mnt/a/dir103/ -E EISDIR
- open_file -d -r /mnt/a/dir103/
TEST104: Open O_DIRECTORY | O_RDONLY | O_TRUNC | O_CREAT | O_EXCL
- open_file -d -r -t -c -e /mnt/a/dir104/ -E EEXIST -E EISDIR
- open_file -d -r /mnt/a/dir104/
TEST105: Open O_DIRECTORY | O_RDONLY | O_CREAT
- open_file -d -w -c /mnt/a/dir105/ -E EISDIR
- open_file -d -r /mnt/a/dir105/
TEST106: Open O_DIRECTORY | O_RDONLY | O_CREAT | O_EXCL
- open_file -d -w -c -e /mnt/a/dir106/ -E EEXIST -E EISDIR
- open_file -d -r /mnt/a/dir106/
TEST107: Open O_DIRECTORY | O_RDONLY | O_TRUNC
- open_file -d -w -t /mnt/a/dir107/ -E EISDIR
- open_file -d -r /mnt/a/dir107/
TEST108: Open O_DIRECTORY | O_RDONLY | O_TRUNC | O_CREAT
- open_file -d -w -t -c /mnt/a/dir108/ -E EISDIR
- open_file -d -r /mnt/a/dir108/
TEST109: Open O_DIRECTORY | O_RDONLY | O_TRUNC | O_CREAT | O_EXCL
- open_file -d -w -t -c -e /mnt/a/dir109/ -E EEXIST -E EISDIR
- open_file -d -r /mnt/a/dir109/
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh dir-sym1-open.test
***
TEST100: Open(dir symlink) O_RDONLY
- open_file -r /mnt/a/direct_dir_sym100/
- open_file -r /mnt/a/direct_dir_sym100/
TEST101: Open(dir symlink) O_WRONLY
- open_file -w /mnt/a/direct_dir_sym101/ -E EISDIR
- open_file -r /mnt/a/direct_dir_sym101/
- open_file -w /mnt/a/direct_dir_sym101/ -E EISDIR
- open_file -r /mnt/a/direct_dir_sym101/
TEST102: Open(dir symlink) O_APPEND|O_WRONLY
- open_file -a /mnt/a/direct_dir_sym102/ -E EISDIR
- open_file -r /mnt/a/direct_dir_sym102/
- open_file -a /mnt/a/direct_dir_sym102/ -E EISDIR
- open_file -r /mnt/a/direct_dir_sym102/
TEST103: Open(dir symlink) O_RDWR
- open_file -r -w /mnt/a/direct_dir_sym103/ -E EISDIR
- open_file -r /mnt/a/direct_dir_sym103/
- open_file -r -w /mnt/a/direct_dir_sym103/ -E EISDIR
- open_file -r /mnt/a/direct_dir_sym103/
TEST104: Open(dir symlink) O_APPEND|O_RDWR
- open_file -r -a /mnt/a/direct_dir_sym104/ -E EISDIR
- open_file -r /mnt/a/direct_dir_sym104/
- open_file -r -a /mnt/a/direct_dir_sym104/ -E EISDIR
- open_file -r /mnt/a/direct_dir_sym104/
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh dir-sym1-weird-open.test
***
TEST100: Open(dir symlink) O_RDONLY | O_CREAT
- open_file -r -c /mnt/a/direct_dir_sym100/ -E EISDIR
- open_file -r /mnt/a/direct_dir_sym100/
TEST101: Open(dir symlink) O_RDONLY | O_CREAT | O_EXCL
- open_file -r -c -e /mnt/a/direct_dir_sym101/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/direct_dir_sym101/
TEST102: Open(dir symlink) O_RDONLY | O_TRUNC
- open_file -r -t /mnt/a/direct_dir_sym102/ -E EISDIR
- open_file -r /mnt/a/direct_dir_sym102/
TEST103: Open(dir symlink) O_RDONLY | O_TRUNC | O_CREAT
- open_file -r -t -c /mnt/a/direct_dir_sym103/ -E EISDIR
- open_file -r /mnt/a/direct_dir_sym103/
TEST104: Open(dir symlink) O_RDONLY | O_TRUNC | O_CREAT | O_EXCL
- open_file -r -t -c -e /mnt/a/direct_dir_sym104/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/direct_dir_sym104/
TEST105: Open(dir symlink) O_WRONLY | O_CREAT
- open_file -w -c /mnt/a/direct_dir_sym105/ -E EISDIR
- open_file -r /mnt/a/direct_dir_sym105/
TEST106: Open(dir symlink) O_WRONLY | O_CREAT | O_EXCL
- open_file -w -c -e /mnt/a/direct_dir_sym106/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/direct_dir_sym106/
TEST107: Open(dir symlink) O_WRONLY | O_TRUNC
- open_file -w -t /mnt/a/direct_dir_sym107/ -E EISDIR
- open_file -r /mnt/a/direct_dir_sym107/
TEST108: Open(dir symlink) O_WRONLY | O_TRUNC | O_CREAT
- open_file -w -t -c /mnt/a/direct_dir_sym108/ -E EISDIR
- open_file -r /mnt/a/direct_dir_sym108/
TEST109: Open(dir symlink) O_WRONLY | O_TRUNC | O_CREAT | O_EXCL
- open_file -w -t -c -e /mnt/a/direct_dir_sym109/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/direct_dir_sym109/
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh dir-sym2-open.test
***
TEST100: Open(dir symlink) O_RDONLY
- open_file -r /mnt/a/indirect_dir_sym100/
- open_file -r /mnt/a/indirect_dir_sym100/
TEST101: Open(dir symlink) O_WRONLY
- open_file -w /mnt/a/indirect_dir_sym101/ -E EISDIR
- open_file -r /mnt/a/indirect_dir_sym101/
- open_file -w /mnt/a/indirect_dir_sym101/ -E EISDIR
- open_file -r /mnt/a/indirect_dir_sym101/
TEST102: Open(dir symlink) O_APPEND|O_WRONLY
- open_file -a /mnt/a/indirect_dir_sym102/ -E EISDIR
- open_file -r /mnt/a/indirect_dir_sym102/
- open_file -a /mnt/a/indirect_dir_sym102/ -E EISDIR
- open_file -r /mnt/a/indirect_dir_sym102/
TEST103: Open(dir symlink) O_RDWR
- open_file -r -w /mnt/a/indirect_dir_sym103/ -E EISDIR
- open_file -r /mnt/a/indirect_dir_sym103/
- open_file -r -w /mnt/a/indirect_dir_sym103/ -E EISDIR
- open_file -r /mnt/a/indirect_dir_sym103/
TEST104: Open(dir symlink) O_APPEND|O_RDWR
- open_file -r -a /mnt/a/indirect_dir_sym104/ -E EISDIR
- open_file -r /mnt/a/indirect_dir_sym104/
- open_file -r -a /mnt/a/indirect_dir_sym104/ -E EISDIR
- open_file -r /mnt/a/indirect_dir_sym104/
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh dir-sym2-weird-open.test
***
TEST100: Open(dir symlink) O_RDONLY | O_CREAT
- open_file -r -c /mnt/a/indirect_dir_sym100/ -E EISDIR
- open_file -r /mnt/a/indirect_dir_sym100/
TEST101: Open(dir symlink) O_RDONLY | O_CREAT | O_EXCL
- open_file -r -c -e /mnt/a/indirect_dir_sym101/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/indirect_dir_sym101/
TEST102: Open(dir symlink) O_RDONLY | O_TRUNC
- open_file -r -t /mnt/a/indirect_dir_sym102/ -E EISDIR
- open_file -r /mnt/a/indirect_dir_sym102/
TEST103: Open(dir symlink) O_RDONLY | O_TRUNC | O_CREAT
- open_file -r -t -c /mnt/a/indirect_dir_sym103/ -E EISDIR
- open_file -r /mnt/a/indirect_dir_sym103/
TEST104: Open(dir symlink) O_RDONLY | O_TRUNC | O_CREAT | O_EXCL
- open_file -r -t -c -e /mnt/a/indirect_dir_sym104/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/indirect_dir_sym104/
TEST105: Open(dir symlink) O_WRONLY | O_CREAT
- open_file -w -c /mnt/a/indirect_dir_sym105/ -E EISDIR
- open_file -r /mnt/a/indirect_dir_sym105/
TEST106: Open(dir symlink) O_WRONLY | O_CREAT | O_EXCL
- open_file -w -c -e /mnt/a/indirect_dir_sym106/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/indirect_dir_sym106/
TEST107: Open(dir symlink) O_WRONLY | O_TRUNC
- open_file -w -t /mnt/a/indirect_dir_sym107/ -E EISDIR
- open_file -r /mnt/a/indirect_dir_sym107/
TEST108: Open(dir symlink) O_WRONLY | O_TRUNC | O_CREAT
- open_file -w -t -c /mnt/a/indirect_dir_sym108/ -E EISDIR
- open_file -r /mnt/a/indirect_dir_sym108/
TEST109: Open(dir symlink) O_WRONLY | O_TRUNC | O_CREAT | O_EXCL
- open_file -w -t -c -e /mnt/a/indirect_dir_sym109/ -E EEXIST -E EISDIR
- open_file -r /mnt/a/indirect_dir_sym109/
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh readlink.test
***
Readlink file
- fs_op readlink /mnt/a/foo100/ -E EINVAL -E ENOTDIR
Readlink direct symlink to file
- fs_op readlink /mnt/a/direct_sym100/ -R ../a/foo100 -E ENOTDIR
Readlink indirect symlink to file
- fs_op readlink /mnt/a/indirect_sym100/ -R direct_sym100 -E ENOTDIR
Readlink dir
- fs_op readlink /mnt/a/dir100/ -E EINVAL
Readlink direct symlink to dir
- fs_op readlink /mnt/a/direct_dir_sym100/ -R ../a/dir100 -E EINVAL
Readlink indirect symlink to dir
- fs_op readlink /mnt/a/indirect_dir_sym100/ -R /mnt/a/direct_dir_sym100 -E EINVAL
Readlink absent file
- fs_op readlink /mnt/a/no_foo100/ -E ENOENT
Readlink broken symlink to absent file
- fs_op readlink /mnt/a/pointless100/ -R no_foo100 -E ENOENT
Readlink broken symlink
- fs_op readlink /mnt/a/pointless101/ -R no_foo101 -E ENOENT
Readlink absent file pointed to by broken symlink
- fs_op readlink /mnt/a/no_foo101/ -E ENOENT
***
*** TEST_OVERLAYFS=1 TERMSLASH=1 ./run.sh impermissible.test
***
TEST100: Impermissible open O_TRUNC|O_WRONLY
- open_file_as_bin -t -w /mnt/a/rootfile100/ -E EACCES -E ENOTDIR
- open_file_as_bin -w /mnt/a/rootfile100/ -E EACCES -E ENOTDIR
- open_file_as_bin -r /mnt/a/rootfile100/ -R :xxx:yyy:zzz -E ENOTDIR
- open_file -r /mnt/a/rootfile100/ -R :xxx:yyy:zzz -E ENOTDIR
- open_file -w /mnt/a/rootfile100/ -W shark -E ENOTDIR
- open_file -r /mnt/a/rootfile100/ -R sharkyyy:zzz -E ENOTDIR
- open_file_as_bin -r /mnt/a/rootfile100/ -R sharkyyy:zzz -E ENOTDIR
TEST101: Impermissible open O_WRONLY
- open_file_as_bin -w /mnt/a/rootfile101/ -E EACCES -E ENOTDIR
- open_file_as_bin -w /mnt/a/rootfile101/ -E EACCES -E ENOTDIR
- open_file_as_bin -r /mnt/a/rootfile101/ -R :xxx:yyy:zzz -E ENOTDIR
- open_file -r /mnt/a/rootfile101/ -R :xxx:yyy:zzz -E ENOTDIR
- open_file -w /mnt/a/rootfile101/ -W shark -E ENOTDIR
- open_file -r /mnt/a/rootfile101/ -R sharkyyy:zzz -E ENOTDIR
- open_file_as_bin -r /mnt/a/rootfile101/ -R sharkyyy:zzz -E ENOTDIR
TEST102: Impermissible open O_APPEND
- open_file_as_bin -a /mnt/a/rootfile102/ -E EACCES -E ENOTDIR
- open_file_as_bin -a /mnt/a/rootfile102/ -E EACCES -E ENOTDIR
- open_file_as_bin -r /mnt/a/rootfile102/ -R :xxx:yyy:zzz -E ENOTDIR
- open_file -r /mnt/a/rootfile102/ -R :xxx:yyy:zzz -E ENOTDIR
- open_file -a /mnt/a/rootfile102/ -W shark -E ENOTDIR
- open_file -r /mnt/a/rootfile102/ -R :xxx:yyy:zzzshark -E ENOTDIR
- open_file_as_bin -r /mnt/a/rootfile102/ -R :xxx:yyy:zzzshark -E ENOTDIR
TEST103: Impermissible truncate
- fs_op_as_bin truncate /mnt/a/rootfile103/ 4 -E EACCES -E ENOTDIR
- fs_op_as_bin truncate /mnt/a/rootfile103/ 4 -E EACCES -E ENOTDIR
- open_file_as_bin -r /mnt/a/rootfile103/ -R :xxx:yyy:zzz -E ENOTDIR
- open_file -r /mnt/a/rootfile103/ -R :xxx:yyy:zzz -E ENOTDIR
- fs_op truncate /mnt/a/rootfile103/ 4 -E ENOTDIR
- open_file -r /mnt/a/rootfile103/ -R :xxx -E ENOTDIR
- open_file_as_bin -r /mnt/a/rootfile103/ -R :xxx -E ENOTDIR
TEST104: Impermissible utimes
- fs_op_as_bin utimes /mnt/a/rootfile104/ -E EACCES -E ENOTDIR
- fs_op_as_bin utimes /mnt/a/rootfile104/ -E EACCES -E ENOTDIR
- fs_op utimes /mnt/a/rootfile104/ -E ENOTDIR
- open_file -r /mnt/a/rootfile104/ -R :xxx:yyy:zzz -E ENOTDIR

Attachment: config-3.15.0-rc8-3-iniza-lockdep
Description: Binary data