Continuing testing on zfs build 27a, I created a test archive on /tmp and
managed to consume all available RAM (swap went to zero). At the same time
I was trying to remove some test files in /testpool/al (see previous email)
and the machine went into a non-responsive state. This is to be expected
when you exhaust swap space. I had already entered a rm for the tar file
(in /tmp) that exhausted swap and was the ultimate cause of the memory
exhaustion. And I had already entered commands, similar to:
rm -rf test3
in: /testpool/al
So the machine became unresponsive and I killed off xterms in order to free
up RAM and then did a series of:
# swap -l
swapfile dev swaplo blocks free
/dev/dsk/c1t0d0s1 54,1 8 2098504 390528
# cd
# swap -a /export/home/al/swap.1
# mkfile 100m swap.2
#
# swap -a /export/home/al/swap.2
# swap -l
swapfile dev swaplo blocks free
/dev/dsk/c1t0d0s1 54,1 8 2098504 1960496
/export/home/al/swap.1 - 8 204792 204792
/export/home/al/swap.2 - 8 204792 204792
# mkfile 100m swap.3
# swap -a /export/home/al/swap.3
# mkfile 300m swap.4
# swap -a /export/home/al/swap.4
#
And killed off a nohup xload command which freed up enough RAM to bring the
machine back "to life". However, I see some strange results for the
zfs
filesystem under test:
$ pwd
/testpool/al
$ ls -CaF
./ ../ nohup.out test2/ test3/ test4/
test5/ testdir/
$ rm -rf test2
$ ls -CaF
./ ../ nohup.out test2/ test3/ test4/
test5/ testdir/
$ ls -al test2
total 6
drwxr----- 3 al supertra 3 Nov 20 14:50 .
drwxr----- 7 al supertra 8 Nov 20 17:26 ..
drwxr----- 9 al supertra 9 Nov 20 17:13 testdir
$ ls -al test2/testdir
total 18
drwxr----- 9 al supertra 9 Nov 20 17:13 .
drwxr----- 3 al supertra 3 Nov 20 14:50 ..
drwxr----- 3 al supertra 3 Nov 13 2004 incoming
drwxr----- 3 al supertra 3 Nov 13 2004 logrequest
drwxr----- 2 al supertra 2 Nov 20 17:12 logs
drwxr----- 3 al supertra 3 Nov 13 2004 messages
drwxr----- 3 al supertra 3 Nov 13 2004 pointbase-4.5
drwxr----- 3 al supertra 3 Nov 13 2004 wctp
drwxr----- 3 al supertra 3 Nov 13 2004 xml
IOW: test2 refuses to go away.
Repeating the same on the other directories gives similar results:
$ rm -rf test3 test4
$
$ ls -al test3 test4
test3:
total 6
drwxr----- 3 al supertra 3 Nov 20 15:09 .
drwxr----- 7 al supertra 8 Nov 20 17:26 ..
drwxr----- 9 al supertra 9 Nov 20 17:13 testdir
test4:
total 6
drwxr----- 3 al supertra 3 Nov 20 15:58 .
drwxr----- 7 al supertra 8 Nov 20 17:26 ..
drwxr----- 9 al supertra 9 Nov 20 17:27 testdir
$
$ pwd
/testpool/al
$ pwd
/testpool/al
$ ls -al
total 15
drwxr----- 7 al supertra 8 Nov 20 17:26 .
drwxr-xr-x 3 root sys 3 Nov 20 13:34 ..
-rw------- 1 al supertra 0 Nov 20 17:26 nohup.out
drwxr----- 3 al supertra 3 Nov 20 14:50 test2
drwxr----- 3 al supertra 3 Nov 20 15:09 test3
drwxr----- 3 al supertra 3 Nov 20 15:58 test4
drwxr----- 3 al supertra 3 Nov 20 16:17 test5
drwxr----- 9 al supertra 9 Nov 20 17:12 testdir
$
$ pwd
/testpool/al
$ pwd
/testpool/al
$ ls -al
total 15
drwxr----- 7 al supertra 8 Nov 20 17:26 .
drwxr-xr-x 3 root sys 3 Nov 20 13:34 ..
-rw------- 1 al supertra 0 Nov 20 17:26 nohup.out
drwxr----- 3 al supertra 3 Nov 20 14:50 test2
drwxr----- 3 al supertra 3 Nov 20 15:09 test3
drwxr----- 3 al supertra 3 Nov 20 15:58 test4
drwxr----- 3 al supertra 3 Nov 20 16:17 test5
drwxr----- 9 al supertra 9 Nov 20 17:12 testdir
$ zfs list
NAME USED AVAIL REFER MOUNTPOINT
testpool 61.3M 4.75G 60.7M /testpool
$
$ du -sk *
0 nohup.out
12769 test2
12769 test3
12769 test4
12769 test5
12768 testdir
$ rm -rf test2
$ du -sk *
0 nohup.out
12769 test2
12769 test3
12769 test4
12769 test5
12768 testdir
$ id
uid=100(al) gid=208(supertra)
$
I think its fair to say that I''ve managed to "break" zfs in a
serious way
on this test.
Comments?
<humor>Now I know why you guys did''nt take me up on my offer to
beta test
ZFS! </humor>
Regards,
Al Hopper Logical Approach Inc, Plano, TX. al at logical-approach.com
Voice: 972.379.2133 Fax: 972.379.2134 Timezone: US CDT
OpenSolaris.Org Community Advisory Board (CAB) Member - Apr 2005