Hello,
I''m running Solaris Express build 27a on an amd64 machine and
fuser(1M) isn''t behaving
as I would expect for zfs filesystems. Various google and
opensolaris.org searches didn''t
turn up anything on the subject, so I thought I''d ask the experts.
The specific problem is
that "fuser -c /some_zfs_filesystem" reports nothing when I think it
should be reporting at
least one PID with the t or c and m codes.
Some system info:
#uname -a ; isainfo -kv ; isainfo -nv
SunOS video.wossname.net 5.11 snv_27 i86pc i386 i86pc
64-bit amd64 kernel modules
64-bit amd64 applications
sse2 sse fxsr amd_3dnowx amd_3dnow amd_mmx mmx cmov amd_sysc cx8 tsc
fpu
ZFS info. We''re interested in /opt here.
#zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
tank 52.5G 3.62G 48.9G 6% ONLINE -
#zfs list
NAME USED AVAIL REFER MOUNTPOINT
tank 3.62G 48.5G 8K /tank
tank/home 2.43G 48.5G 2.43G /export/home
tank/opt 1009M 48.5G 1009M /opt
tank/ora00 8K 48.5G 8K /ora00
tank/ora01 8K 48.5G 8K /ora01
tank/pkg 6.45M 48.5G 6.45M /usr/pkg
tank/pkgsrc 199M 48.5G 199M /usr/pkgsrc
Running two very similar things from different filesystems:
#pgrep -lf info
20412 /opt/csw/bin/info
20617 /usr/sfw/bin/info
#pgrep -lf info | cut -d'' '' -f 2 | xargs ldd
/opt/csw/bin/info:
libncurses.so.5 => /opt/csw/lib/libncurses.so.5
libintl.so.3 => /opt/csw/lib/libintl.so.3
libiconv.so.2 => /opt/csw/lib/libiconv.so.2
libc.so.1 => /lib/libc.so.1
libm.so.2 => /lib/libm.so.2
/usr/sfw/bin/info:
libcurses.so.1 => /lib/libcurses.so.1
libc.so.1 => /lib/libc.so.1
libm.so.2 => /lib/libm.so.2
/usr/sfw/bin is on ufs, /opt/csw/bin on zfs:
#mount -p | egrep $(df -k /opt/csw/bin/info /usr/sfw/bin/info |\
/usr/xpg4/bin/awk ''/\//{d[++c]=$1}END{printf("(");\
for(i=1;i<=c;i++)printf("%s%s",d[i],(i<c?"|":")\n"));}'')
/dev/dsk/c1d0s0 - / ufs - no rw,intr,largefiles,logging,xattr,onerror=panic
tank/opt - /opt zfs - no rw,devices,setuid,exec,atime
So, I expect that "fuser -c" should show PID 20617 and 20412 for / and
20412 for /opt.
However:
#fuser -c /
/: [lots of other PIDs] 20617tm [others] 20412cm [others]
#fuser -c /opt
/opt:
#
Nothing at all for /opt. So it''s safe to unmount? Nope:
#umount /opt
cannot unmount ''/opt'': Device busy
#zfs umount /opt
cannot unmount ''/opt'': Device busy
#kill 20412
#zfs umount /opt
#
Has anyone else seen something like this?
Thank you,
-Ben
_______________________________________________
zfs-discuss mailing list
zfs-discuss at opensolaris.org
http://opensolaris.org/mailman/listinfo/zfs-discuss
--
This message posted from opensolaris.org