Question regarding container affecting the host system mounts

From: Ronak Desai
Date: Thu Mar 29 2018 - 17:00:30 EST


I came across a problem where if the containers are running then it
affects the unmount process of the system's mount points. I am not
using these mount points as shared mounts with container.

For example, I am using SD card and NAND as external storage device
and mounting it to a mount point in the ramfs. Then I am launching
containers and then when I try to unmount the NAND partition then my
"unmount" call succeeds but I don't see the UBIFS hooks being called
and because of that my UBI detach process fails. When I stopped the
container then I see that kernel is calling the unmount as I see my
debug prints inside the UBIFS for unmounting that partition.

If I tried to mount my NAND partition once the container is up and try
to unmount then it does unmount and detach without issue. It seems
like there is an issue with namespace.

I am using 4.1.8 kernel . I traced the kernel code and I see that
copy_mnt_ns is calling copy_tree and which basically increasing the
active counts of the super block of my host mount points (NAND, SD cards).
I am using container but I do not wish to share any of my host storage
media with
container so in my container configuration I am only mounting the
tmpfs as the rootfs of container is in in tmpfs of host. But, still I
can't umount completely my host storage media if containers are
running.

I have attached the log of the container start process with debugging
and where you can see it is increasing the super block active counts
for "ubifs".

--
Ronak A Desai
Sr. Software Engineer
Airborne Information Solutions / RC Linux Platform Software
MS 131-100, C Ave NE, Cedar Rapids, IA, 52498, USA

Ronak.Desai@xxxxxxxxxxxxxxxxxxx

https://www.rockwellcollins.com/
Starting lxc1 Application: ---> alloc_super, 220, atomic_read(&s->s_active) = 1, name =
---> vfs_kern_mount, 953
---> fs/namespace.c, copy_mnt_ns, 2875
---> fs/namespace.c, copy_tree, 1742
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 3, name = rootfs
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 3, name = devtmpfs
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 3, name = devpts
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 2, name = tmpfs
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 3, name = proc
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 2, name = tmpfs
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 2, name = tmpfs
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 2, name = tmpfs
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 2, name = sysfs
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 2, name = tmpfs
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 2, name = cgroup
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 2, name = cgroup
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 2, name = cgroup
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 2, name = cgroup
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 2, name = cgroup
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 2, name = cgroup
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 2, name = cgroup
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 2, name = ubifs
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 2, name = ubifs
---> alloc_super, 220, atomic_read(&s->s_active) = 1, name =
EXT3-fs (loop0): error: can't find ext3 filesystem on dev loop0.
---> deactivate_locked_super, 284
---> deactivate_locked_super, 288
---> kill_block_super, 1050
---> generic_shutdown_super, 409
---> deactivate_locked_super, 299
---> deactivate_locked_super, 301
---> alloc_super, 220, atomic_read(&s->s_active) = 1, name =
EXT2-fs (loop0): error: can't find an ext2 filesystem on dev loop0.
---> deactivate_locked_super, 284
---> deactivate_locked_super, 288
---> kill_block_super, 1050
---> generic_shutdown_super, 409
---> deactivate_locked_super, 299
---> deactivate_locked_super, 301
---> alloc_super, 220, atomic_read(&s->s_active) = 1, name =
EXT4-fs (loop0): VFS: Can't find ext4 filesystem
---> deactivate_locked_super, 284
---> deactivate_locked_super, 288
---> kill_block_super, 1050
---> generic_shutdown_super, 409
---> deactivate_locked_super, 299
---> deactivate_locked_super, 301
---> alloc_super, 220, atomic_read(&s->s_active) = 1, name =
---> vfs_kern_mount, 953
device veth4YTWEM entered promiscuous mode
---> kern_unmount, 3251
---> mntput_no_expire, 1144
---> cleanup_mnt, 1063
---> cleanup_mnt, 1069
---> cleanup_mnt, 1071
---> cleanup_mnt, 1073
---> deactivate_super, 321
---> deactivate_super, 323
---> deactivate_locked_super, 284
---> deactivate_locked_super, 288
---> kill_anon_super, 896
---> generic_shutdown_super, 409
---> generic_shutdown_super, 415
---> deactivate_locked_super, 299
---> deactivate_locked_super, 301
---> cleanup_mnt, 1075
device vethXAIUQR entered promiscuous mode
lxcbr1: port 1(vethXAIUQR) entered forwarding state
lxcbr1: port 1(vethXAIUQR) entered forwarding state
lxcbr1: port 1(vethXAIUQR) entered disabled state
---> fs/namespace.c, copy_mnt_ns, 2875
---> fs/namespace.c, copy_tree, 1742
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 4, name = rootfs
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 4, name = devtmpfs
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 4, name = devpts
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 3, name = tmpfs
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 4, name = proc
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 3, name = tmpfs
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 3, name = tmpfs
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 3, name = tmpfs
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 2, name = loop0
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 3, name = sysfs
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 3, name = tmpfs
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 3, name = cgroup
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 3, name = cgroup
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 3, name = cgroup
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 3, name = cgroup
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 3, name = cgroup
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 3, name = cgroup
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 3, name = cgroup
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 3, name = ubifs
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 3, name = ubifs
---> alloc_super, 220, atomic_read(&s->s_active) = 1, name =
---> vfs_kern_mount, 953
---> alloc_super, 220, atomic_read(&s->s_active) = 1, name =
---> vfs_kern_mount, 953
---> free_user_ns, 147
---> free_user_ns, 149
---> free_user_ns, 147
---> free_user_ns, 149
---> fs/namespace.c, do_loopback, 2181
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 3, name = loop0
eth0: renamed from vethQMW0V2
eth3: renamed from veth6AR9T2
lxcbr0: port 1(veth4YTWEM) entered forwarding state
lxcbr0: port 1(veth4YTWEM) entered forwarding state
lxcbr1: port 1(vethXAIUQR) entered forwarding state
lxcbr1: port 1(vethXAIUQR) entered forwarding state
---> alloc_super, 220, atomic_read(&s->s_active) = 1, name =
---> vfs_kern_mount, 953
---> grab_super, 353, atomic_read(&s->s_active) = 2, name = proc
---> vfs_kern_mount, 953
---> fs/namespace.c, do_loopback, 2181
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 3, name = proc
---> fs/namespace.c, do_loopback, 2181
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 4, name = proc
---> attach_mnt, 862
---> fs/namespace.c, do_loopback, 2181
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 5, name = proc
---> alloc_super, 220, atomic_read(&s->s_active) = 1, name =
---> vfs_kern_mount, 953
---> fs/namespace.c, do_loopback, 2181
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 4, name = tmpfs
---> fs/namespace.c, do_loopback, 2181
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 5, name = devtmpfs
---> fs/namespace.c, do_loopback, 2181
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 6, name = devtmpfs
---> fs/namespace.c, do_loopback, 2181
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 7, name = devtmpfs
---> fs/namespace.c, do_loopback, 2181
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 8, name = devtmpfs
---> fs/namespace.c, do_loopback, 2181
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 9, name = devtmpfs
---> fs/namespace.c, do_loopback, 2181
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 10, name = devtmpfs
---> fs/namespace.c, do_loopback, 2181
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 5, name = devpts
---> fs/namespace.c, do_loopback, 2176
---> fs/namespace.c, copy_tree, 1742
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 4, name = loop0
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 2, name = tmpfs
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 11, name = devtmpfs
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 12, name = devtmpfs
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 13, name = devtmpfs
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 14, name = devtmpfs
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 15, name = devtmpfs
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 16, name = devtmpfs
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 6, name = devpts
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 6, name = proc
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 7, name = proc
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 8, name = proc
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 9, name = proc
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 2, name = tmpfs
---> fs/namespace.c, copy_tree, 1773
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 5, name = tmpfs
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> do_umount, 1502
---> umount_tree, 1441
---> umount_tree, 1444
---> propagate_mount_unlock, 381
---> umount_tree, 1450
---> umount_tree, 1450
---> umount_tree, 1450
---> umount_tree, 1450
---> umount_tree, 1450
---> umount_tree, 1450
---> umount_tree, 1450
---> umount_tree, 1450
---> umount_tree, 1450
---> umount_tree, 1450
---> umount_tree, 1450
---> umount_tree, 1450
---> umount_tree, 1450
---> umount_tree, 1450
---> umount_tree, 1450
---> umount_tree, 1457
---> umount_tree, 1457
---> umount_tree, 1457
---> umount_tree, 1457
---> umount_tree, 1457
---> umount_tree, 1457
---> umount_tree, 1457
---> umount_tree, 1457
---> umount_tree, 1457
---> umount_tree, 1457
---> umount_tree, 1457
---> umount_tree, 1457
---> umount_tree, 1457
---> umount_tree, 1457
---> umount_tree, 1457
---> __propagate_umount, 421
---> __propagate_umount, 421
---> __propagate_umount, 421
---> __propagate_umount, 421
---> __propagate_umount, 421
---> __propagate_umount, 421
---> __propagate_umount, 421
---> __propagate_umount, 421
---> __propagate_umount, 421
---> __propagate_umount, 421
---> __propagate_umount, 421
---> __propagate_umount, 421
---> __propagate_umount, 421
---> __propagate_umount, 421
---> __propagate_umount, 421
---> umount_tree, 1475
---> disconnect_mount, 1427
---> umount_tree, 1477
---> umount_mnt, 834
---> umount_tree, 1490
---> umount_tree, 1475
---> disconnect_mount, 1427
---> umount_tree, 1477
---> umount_mnt, 834
---> umount_tree, 1490
---> umount_tree, 1475
---> disconnect_mount, 1427
---> umount_tree, 1477
---> umount_mnt, 834
---> umount_tree, 1490
---> umount_tree, 1475
---> disconnect_mount, 1427
---> umount_tree, 1477
---> umount_mnt, 834
---> umount_tree, 1490
---> umount_tree, 1475
---> disconnect_mount, 1427
---> umount_tree, 1477
---> umount_mnt, 834
---> umount_tree, 1490
---> umount_tree, 1475
---> disconnect_mount, 1427
---> umount_tree, 1477
---> umount_mnt, 834
---> umount_tree, 1490
---> umount_tree, 1475
---> disconnect_mount, 1427
---> umount_tree, 1477
---> umount_mnt, 834
---> umount_tree, 1490
---> umount_tree, 1475
---> disconnect_mount, 1427
---> umount_tree, 1477
---> umount_mnt, 834
---> umount_tree, 1490
---> umount_tree, 1475
---> disconnect_mount, 1427
---> umount_tree, 1477
---> umount_mnt, 834
---> umount_tree, 1490
---> umount_tree, 1475
---> disconnect_mount, 1427
---> umount_tree, 1477
---> umount_mnt, 834
---> umount_tree, 1490
---> umount_tree, 1475
---> disconnect_mount, 1427
---> umount_tree, 1477
---> umount_mnt, 834
---> umount_tree, 1490
---> umount_tree, 1475
---> disconnect_mount, 1427
---> umount_tree, 1477
---> umount_mnt, 834
---> umount_tree, 1490
---> umount_tree, 1475
---> disconnect_mount, 1427
---> umount_tree, 1477
---> umount_mnt, 834
---> umount_tree, 1490
---> umount_tree, 1475
---> disconnect_mount, 1427
---> umount_tree, 1477
---> umount_mnt, 834
---> umount_tree, 1490
---> umount_tree, 1475
---> disconnect_mount, 1409
---> umount_tree, 1477
---> umount_mnt, 834
---> umount_tree, 1490
---> drop_mountpoint, 199
---> drop_mountpoint, 199
---> mntput_no_expire, 1135
---> drop_mountpoint, 199
---> mntput_no_expire, 1135
---> drop_mountpoint, 199
---> mntput_no_expire, 1135
---> drop_mountpoint, 199
---> mntput_no_expire, 1135
---> drop_mountpoint, 199
---> mntput_no_expire, 1135
---> drop_mountpoint, 199
---> mntput_no_expire, 1135
---> drop_mountpoint, 199
---> mntput_no_expire, 1135
---> drop_mountpoint, 199
---> mntput_no_expire, 1135
---> drop_mountpoint, 199
---> mntput_no_expire, 1135
---> drop_mountpoint, 199
---> mntput_no_expire, 1135
---> drop_mountpoint, 199
---> mntput_no_expire, 1135
---> drop_mountpoint, 199
---> mntput_no_expire, 1135
---> drop_mountpoint, 199
---> mntput_no_expire, 1135
---> drop_mountpoint, 199
---> mntput_no_expire, 1135
---> SYSC_umount, 1688
---> mntput_no_expire, 1135
---> __cleanup_mnt, 1082
---> cleanup_mnt, 1063
---> cleanup_mnt, 1069
---> cleanup_mnt, 1071
---> cleanup_mnt, 1073
---> deactivate_super, 328, atomic_read(&s->s_active) = 1, name = tmpfs
---> cleanup_mnt, 1075
---> __cleanup_mnt, 1082
---> cleanup_mnt, 1063
---> cleanup_mnt, 1069
---> cleanup_mnt, 1071
---> cleanup_mnt, 1073
---> deactivate_super, 328, atomic_read(&s->s_active) = 15, name = devtmpfs
---> cleanup_mnt, 1075
---> __cleanup_mnt, 1082
---> cleanup_mnt, 1063
---> cleanup_mnt, 1069
---> cleanup_mnt, 1071
---> cleanup_mnt, 1073
---> deactivate_super, 328, atomic_read(&s->s_active) = 14, name = devtmpfs
---> cleanup_mnt, 1075
---> __cleanup_mnt, 1082
---> cleanup_mnt, 1063
---> cleanup_mnt, 1069
---> cleanup_mnt, 1071
---> cleanup_mnt, 1073
---> deactivate_super, 328, atomic_read(&s->s_active) = 13, name = devtmpfs
---> cleanup_mnt, 1075
---> __cleanup_mnt, 1082
---> cleanup_mnt, 1063
---> cleanup_mnt, 1069
---> cleanup_mnt, 1071
---> cleanup_mnt, 1073
---> deactivate_super, 328, atomic_read(&s->s_active) = 12, name = devtmpfs
---> cleanup_mnt, 1075
---> __cleanup_mnt, 1082
---> cleanup_mnt, 1063
---> cleanup_mnt, 1069
---> cleanup_mnt, 1071
---> cleanup_mnt, 1073
---> deactivate_super, 328, atomic_read(&s->s_active) = 11, name = devtmpfs
---> cleanup_mnt, 1075
---> __cleanup_mnt, 1082
---> cleanup_mnt, 1063
---> cleanup_mnt, 1069
---> cleanup_mnt, 1071
---> cleanup_mnt, 1073
---> deactivate_super, 328, atomic_read(&s->s_active) = 10, name = devtmpfs
---> cleanup_mnt, 1075
---> __cleanup_mnt, 1082
---> cleanup_mnt, 1063
---> cleanup_mnt, 1069
---> cleanup_mnt, 1071
---> cleanup_mnt, 1073
---> deactivate_super, 328, atomic_read(&s->s_active) = 5, name = devpts
---> cleanup_mnt, 1075
---> __cleanup_mnt, 1082
---> cleanup_mnt, 1063
---> cleanup_mnt, 1069
---> cleanup_mnt, 1071
---> cleanup_mnt, 1073
---> deactivate_super, 328, atomic_read(&s->s_active) = 8, name = proc
---> cleanup_mnt, 1075
---> __cleanup_mnt, 1082
---> cleanup_mnt, 1063
---> cleanup_mnt, 1069
---> cleanup_mnt, 1071
---> cleanup_mnt, 1073
---> deactivate_super, 328, atomic_read(&s->s_active) = 7, name = proc
---> cleanup_mnt, 1075
---> __cleanup_mnt, 1082
---> cleanup_mnt, 1063
---> cleanup_mnt, 1069
---> cleanup_mnt, 1071
---> cleanup_mnt, 1073
---> deactivate_super, 328, atomic_read(&s->s_active) = 6, name = proc
---> cleanup_mnt, 1075
---> __cleanup_mnt, 1082
---> cleanup_mnt, 1063
---> cleanup_mnt, 1069
---> cleanup_mnt, 1071
---> cleanup_mnt, 1073
---> deactivate_super, 328, atomic_read(&s->s_active) = 5, name = proc
---> cleanup_mnt, 1075
---> __cleanup_mnt, 1082
---> cleanup_mnt, 1063
---> cleanup_mnt, 1069
---> cleanup_mnt, 1071
---> cleanup_mnt, 1073
---> deactivate_super, 328, atomic_read(&s->s_active) = 1, name = tmpfs
---> cleanup_mnt, 1075
---> __cleanup_mnt, 1082
---> cleanup_mnt, 1063
---> cleanup_mnt, 1069
---> cleanup_mnt, 1071
---> cleanup_mnt, 1073
---> deactivate_super, 328, atomic_read(&s->s_active) = 4, name = tmpfs
---> cleanup_mnt, 1075
---> __cleanup_mnt, 1082
---> cleanup_mnt, 1063
---> cleanup_mnt, 1069
---> cleanup_mnt, 1071
---> cleanup_mnt, 1073
---> deactivate_super, 328, atomic_read(&s->s_active) = 3, name = loop0
---> cleanup_mnt, 1075
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> SYSC_umount, 1688
---> alloc_super, 220, atomic_read(&s->s_active) = 1, name =
---> vfs_kern_mount, 953
---> fs/namespace.c, do_loopback, 2181
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 2, name = devpts
---> fs/namespace.c, do_loopback, 2181
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 3, name = devpts
---> fs/namespace.c, do_loopback, 2181
---> clone_mnt, 1011, atomic_read(&sb->s_active) = 4, name = devpts

##################### umount call is successful but it does not call the UBIFS unmount as it fails in deactivate_super ##################
# umount /opt/logging/
---> do_umount, 1502
---> propagate_mount_busy, 344
---> do_refcount_check, 324
---> umount_tree, 1441
---> umount_tree, 1444
---> propagate_mount_unlock, 381
---> umount_tree, 1450
---> umount_tree, 1457
---> __propagate_umount, 421
---> umount_tree, 1475
---> disconnect_mount, 1392
---> umount_tree, 1477
---> umount_mnt, 834
---> umount_tree, 1490
---> drop_mountpoint, 199
---> SYSC_umount, 1688
---> mntput_no_expire, 1135
---> __cleanup_mnt, 1082
---> cleanup_mnt, 1063
---> cleanup_mnt, 1069
---> cleanup_mnt, 1071
---> cleanup_mnt, 1073
---> deactivate_super, 328, atomic_read(&s->s_active) = 2, name = ubifs
---> cleanup_mnt, 1075
#