Hi Tim,
Thanks for having a look.
The 'utf8only' setting is set to off.

Important bit of additional information:
We only seem to have this problem when copying to a zfs filesystem with the 
casesensitivity=mixed property. We need this because the filesystem will 
eventually be shared over NFS and CIFS.

I attached a file with the relevant zfs properties of the filesystem that has 
the problem.
See zfs-prop.txt. Notice that utf8only is set to off.

My locale is set to en_US.ISO8859-15 when doing the copy, but that doesn't seem 
to change anything. I tried with en_US.UTF-8 as well with the same result.

A truss on the failed can be found in truss-ENOTSUP.txt.
Notice the \xf6 in the filename of the stat64, which gives an "ENOTSUP".

When we take an the UTF-8 name, the stat64 succeeds just fine. A truss of this 
can be found in truss-OK.txt

Cheers,
Kristof/
-- 
This message posted from opensolaris.org
Here are all relevant properties of the filesystem that has the problem:
NAME           PROPERTY              VALUE                  SOURCE
datapool/appl  type                  filesystem             -
datapool/appl  compressratio         1.00x                  -
datapool/appl  mounted               yes                    -
datapool/appl  quota                 none                   default
datapool/appl  reservation           none                   default
datapool/appl  recordsize            128K                   default
datapool/appl  mountpoint            /datapool/appl         default
datapool/appl  checksum              on                     default
datapool/appl  compression           off                    default
datapool/appl  atime                 off                    inherited from 
datapool
datapool/appl  devices               on                     default
datapool/appl  exec                  on                     default
datapool/appl  setuid                on                     default
datapool/appl  readonly              off                    default
datapool/appl  aclmode               groupmask              default
datapool/appl  aclinherit            passthrough            inherited from 
datapool
datapool/appl  copies                1                      default
datapool/appl  version               3                      -
datapool/appl  utf8only              off                    -
datapool/appl  normalization         none                   -
datapool/appl  casesensitivity       mixed                  -
datapool/appl  vscan                 off                    default
datapool/appl  nbmand                on                     local
datapool/appl  sharesmb              on                     local
datapool/appl  refquota              none                   default
datapool/appl  refreservation        none                   default
datapool/appl  primarycache          all                    default
datapool/appl  secondarycache        all                    default
--------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------
# truss /usr/bin/cp ISO8859-K?ln.url /datapool/appl
execve("/usr/bin/cp", 0x08047DBC, 0x08047DCC)  argc = 3
sysconfig(_CONFIG_PAGESIZE)                     = 4096
mmap(0x00000000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, 
-1, 0) = 0xFEFB0000
resolvepath("/usr/lib/ld.so.1", "/lib/ld.so.1", 1023) = 12
resolvepath("/usr/bin/cp", "/usr/bin/cp", 1023) = 11
xstat(2, "/usr/bin/cp", 0x08047A80)             = 0
open("/var/ld/ld.config", O_RDONLY)             Err#2 ENOENT
xstat(2, "/lib/libc.so.1", 0x080471A0)          = 0
resolvepath("/lib/libc.so.1", "/lib/libc.so.1", 1023) = 14
open("/lib/libc.so.1", O_RDONLY)                = 3
mmap(0x00010000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 3, 0) = 
0xFEFA0000
mmap(0x00010000, 1413120, PROT_NONE, 
MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFEE40000
mmap(0xFEE40000, 1302809, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 
3, 0) = 0xFEE40000
mmap(0xFEF8F000, 30862, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 3, 1306624) = 0xFEF8F000
mmap(0xFEF97000, 4776, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0xFEF97000
munmap(0xFEF7F000, 65536)                       = 0
memcntl(0xFEE40000, 187632, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3)                                        = 0
mmap(0x00010000, 24576, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFEE30000
munmap(0xFEFA0000, 32768)                       = 0
getcontext(0x080477D0)
getrlimit(RLIMIT_STACK, 0x080477C8)             = 0
getpid()                                        = 1376 [1375]
lwp_private(0, 1, 0xFEE32A00)                   = 0x000001C3
setustack(0xFEE32A60)
sysi86(SI86FPSTART, 0xFEF979BC, 0x0000133F, 0x00001F80) = 0x00000001
sysconfig(_CONFIG_PAGESIZE)                     = 4096
brk(0x08068AB0)                                 = 0
brk(0x0806AAB0)                                 = 0
xstat(2, "/usr/lib/locale/en_US.UTF-8/en_US.UTF-8.so.3", 0x08046910) = 0
resolvepath("/usr/lib/locale/en_US.UTF-8/en_US.UTF-8.so.3", 
"/usr/lib/locale/en_US.UTF-8/en_US.UTF-8.so.3", 1023) = 44
open("/usr/lib/locale/en_US.UTF-8/en_US.UTF-8.so.3", O_RDONLY) = 3
mmap(0x00010000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 3, 0) = 
0xFEE20000
mmap(0x00010000, 2539520, PROT_NONE, 
MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFEA00000
mmap(0xFEA00000, 2470118, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 
3, 0) = 0xFEA00000
mmap(0xFEC6B000, 3546, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 3, 2469888) = 0xFEC6B000
munmap(0xFEC5C000, 61440)                       = 0
memcntl(0xFEA00000, 7900, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3)                                        = 0
mmap(0x00000000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, 
-1, 0) = 0xFEE10000
xstat(2, "/usr/lib/locale/common/methods_unicode.so.3", 0x08046860) = 0
resolvepath("/usr/lib/locale/common/methods_unicode.so.3", 
"/usr/lib/locale/common/methods_unicode.so.3", 1023) = 43
open("/usr/lib/locale/common/methods_unicode.so.3", O_RDONLY) = 3
mmap(0xFEE20000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 
0xFEE20000
mmap(0x00010000, 122880, PROT_NONE, 
MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFEDF0000
mmap(0xFEDF0000, 56821, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 3, 
0) = 0xFEDF0000
mmap(0xFEE0D000, 4052, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 3, 53248) = 0xFEE0D000
munmap(0xFEDFE000, 61440)                       = 0
memcntl(0xFEDF0000, 3372, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3)                                        = 0
munmap(0xFEE20000, 32768)                       = 0
brk(0x0806AAB0)                                 = 0
brk(0x08072AB0)                                 = 0
brk(0x08072AB0)                                 = 0
brk(0x08080AB0)                                 = 0
brk(0x08080AB0)                                 = 0
brk(0x08088AB0)                                 = 0
brk(0x08088AB0)                                 = 0
brk(0x08096AB0)                                 = 0
stat64("ISO8859-K\xf6ln.url", 0x08068478)       = 0
xstat(2, "/lib/libsec.so.1", 0x080466C8)        = 0
resolvepath("/lib/libsec.so.1", "/lib/libsec.so.1", 1023) = 16
open("/lib/libsec.so.1", O_RDONLY)              = 3
mmap(0x00010000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 3, 0) = 
0xFEDE0000
mmap(0x00010000, 90112, PROT_NONE, 
MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFEDC0000
mmap(0xFEDC0000, 63307, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 3, 
0) = 0xFEDC0000
mmap(0xFEDD0000, 15109, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 3, 65536) = 0xFEDD0000
mmap(0xFEDD4000, 7392, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANON, 
-1, 0) = 0xFEDD4000
memcntl(0xFEDC0000, 15288, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3)                                        = 0
munmap(0xFEDE0000, 32768)                       = 0
pathconf("ISO8859-K\xf6ln.url", 20)             = 2
acl("ISO8859-K\xf6ln.url", ACE_GETACLCNT, 0, 0x00000000) = 6
stat64("ISO8859-K\xf6ln.url", 0x08046FD0)       = 0
acl("ISO8859-K\xf6ln.url", ACE_GETACL, 6, 0x08069D00) = 6
stat64("/datapool/appl", 0x080683E8)               = 0
stat64("/datapool/appl/ISO8859-K\xf6ln.url", 0x080683E8) Err#48 ENOTSUP
open64("ISO8859-K\xf6ln.url", O_RDONLY)         = 3
creat64("/datapool/appl/ISO8859-K\xf6ln.url", 0755) Err#48 ENOTSUP
open("/usr/lib/locale/en_US.UTF-8/LC_MESSAGES/SUNW_OST_OSCMD.mo", O_RDONLY) 
Err#2 ENOENT
fstat64(2, 0x08046140)                          = 0
cpwrite(2, " c p", 2)                           = 2
: cannot create write(2, " :   c a n n o t   c r e".., 16)      = 16
/datapool/appl/ISO8859-K?ln.urlwrite(2, " / d a t a p o o l / a p p l /".., 28) 
 = 28
: write(2, " :  ", 2)                           = 2
open("/usr/lib/locale/en_US.UTF-8/LC_MESSAGES/SUNW_OST_OSLIB.mo", O_RDONLY) 
Err#2 ENOENT
Operation not supportedwrite(2, " O p e r a t i o n   n o".., 23)       = 23

write(2, "\n", 1)                               = 1
close(3)                                        = 0
_exit(2)
--------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------
# truss /usr/bin/cp UTF8-Köln.txt /datapool/appl
execve("/usr/bin/cp", 0x08047DC0, 0x08047DD0)  argc = 3
mmap(0x00000000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, 
-1, 0) = 0xFEFB0000
resolvepath("/usr/lib/ld.so.1", "/lib/ld.so.1", 1023) = 12
resolvepath("/usr/bin/cp", "/usr/bin/cp", 1023) = 11
sysconfig(_CONFIG_PAGESIZE)                     = 4096
xstat(2, "/usr/bin/cp", 0x08047A84)             = 0
open("/var/ld/ld.config", O_RDONLY)             Err#2 ENOENT
xstat(2, "/lib/libc.so.1", 0x080471A4)          = 0
resolvepath("/lib/libc.so.1", "/lib/libc.so.1", 1023) = 14
open("/lib/libc.so.1", O_RDONLY)                = 3
mmap(0x00010000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 3, 0) = 
0xFEFA0000
mmap(0x00010000, 1413120, PROT_NONE, 
MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFEE40000
mmap(0xFEE40000, 1302809, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 
3, 0) = 0xFEE40000
mmap(0xFEF8F000, 30862, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 3, 1306624) = 0xFEF8F000
mmap(0xFEF97000, 4776, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0xFEF97000
munmap(0xFEF7F000, 65536)                       = 0
memcntl(0xFEE40000, 187632, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3)                                        = 0
mmap(0x00010000, 24576, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFEE30000
munmap(0xFEFA0000, 32768)                       = 0
getcontext(0x080477D4)
getrlimit(RLIMIT_STACK, 0x080477CC)             = 0
getpid()                                        = 1419 [1418]
lwp_private(0, 1, 0xFEE32A00)                   = 0x000001C3
setustack(0xFEE32A60)
sysi86(SI86FPSTART, 0xFEF979BC, 0x0000133F, 0x00001F80) = 0x00000001
brk(0x08068AB0)                                 = 0
brk(0x0806AAB0)                                 = 0
xstat(2, "/usr/lib/locale/en_US.UTF-8/en_US.UTF-8.so.3", 0x08046910) = 0
resolvepath("/usr/lib/locale/en_US.UTF-8/en_US.UTF-8.so.3", 
"/usr/lib/locale/en_US.UTF-8/en_US.UTF-8.so.3", 1023) = 44
open("/usr/lib/locale/en_US.UTF-8/en_US.UTF-8.so.3", O_RDONLY) = 3
mmap(0x00010000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 3, 0) = 
0xFEE20000
mmap(0x00010000, 2539520, PROT_NONE, 
MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFEA00000
mmap(0xFEA00000, 2470118, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 
3, 0) = 0xFEA00000
mmap(0xFEC6B000, 3546, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 3, 2469888) = 0xFEC6B000
munmap(0xFEC5C000, 61440)                       = 0
memcntl(0xFEA00000, 7900, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3)                                        = 0
mmap(0x00000000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, 
-1, 0) = 0xFEE10000
xstat(2, "/usr/lib/locale/common/methods_unicode.so.3", 0x08046860) = 0
resolvepath("/usr/lib/locale/common/methods_unicode.so.3", 
"/usr/lib/locale/common/methods_unicode.so.3", 1023) = 43
open("/usr/lib/locale/common/methods_unicode.so.3", O_RDONLY) = 3
mmap(0xFEE20000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 
0xFEE20000
mmap(0x00010000, 122880, PROT_NONE, 
MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFEDF0000
mmap(0xFEDF0000, 56821, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 3, 
0) = 0xFEDF0000
mmap(0xFEE0D000, 4052, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 3, 53248) = 0xFEE0D000
munmap(0xFEDFE000, 61440)                       = 0
memcntl(0xFEDF0000, 3372, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3)                                        = 0
munmap(0xFEE20000, 32768)                       = 0
brk(0x0806AAB0)                                 = 0
brk(0x08072AB0)                                 = 0
brk(0x08072AB0)                                 = 0
brk(0x08080AB0)                                 = 0
brk(0x08080AB0)                                 = 0
brk(0x08088AB0)                                 = 0
brk(0x08088AB0)                                 = 0
brk(0x08096AB0)                                 = 0
sysconfig(_CONFIG_PAGESIZE)                     = 4096
stat64("UTF8-K\xc3\xb6ln.txt", 0x08068478)      = 0
xstat(2, "/lib/libsec.so.1", 0x080466C8)        = 0
resolvepath("/lib/libsec.so.1", "/lib/libsec.so.1", 1023) = 16
open("/lib/libsec.so.1", O_RDONLY)              = 3
mmap(0x00010000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 3, 0) = 
0xFEDE0000
mmap(0x00010000, 90112, PROT_NONE, 
MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFEDC0000
mmap(0xFEDC0000, 63307, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 3, 
0) = 0xFEDC0000
mmap(0xFEDD0000, 15109, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 3, 65536) = 0xFEDD0000
mmap(0xFEDD4000, 7392, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANON, 
-1, 0) = 0xFEDD4000
memcntl(0xFEDC0000, 15288, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3)                                        = 0
munmap(0xFEDE0000, 32768)                       = 0
pathconf("UTF8-K\xc3\xb6ln.txt", 20)            = 2
acl("UTF8-K\xc3\xb6ln.txt", ACE_GETACLCNT, 0, 0x00000000) = 6
stat64("UTF8-K\xc3\xb6ln.txt", 0x08046FD0)      = 0
acl("UTF8-K\xc3\xb6ln.txt", ACE_GETACL, 6, 0x08069D00) = 6
stat64("/datapool/appl", 0x080683E8)               = 0
stat64("/datapool/appl/UTF8-K\xc3\xb6ln.txt", 0x080683E8) = 0
open64("UTF8-K\xc3\xb6ln.txt", O_RDONLY)        = 3
creat64("/datapool/appl/UTF8-K\xc3\xb6ln.txt", 0644) = 4
stat64("/datapool/appl/UTF8-K\xc3\xb6ln.txt", 0x080683E8) = 0
fstat64(3, 0x08068478)                          = 0
xstat(2, "/lib/libcmdutils.so.1", 0x080466F8)   = 0
resolvepath("/lib/libcmdutils.so.1", "/lib/libcmdutils.so.1", 1023) = 21
open("/lib/libcmdutils.so.1", O_RDONLY)         = 5
mmap(0x00010000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 5, 0) = 
0xFEDB0000
mmap(0x00010000, 81920, PROT_NONE, 
MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFED90000
mmap(0xFED90000, 12174, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 5, 
0) = 0xFED90000
mmap(0xFEDA3000, 596, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 
5, 12288) = 0xFEDA3000
munmap(0xFED93000, 65536)                       = 0
memcntl(0xFED90000, 4248, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(5)                                        = 0
munmap(0xFEDB0000, 32768)                       = 0
read(3, 0x0803F0C0, 32768)                      = 0
close(3)                                        = 0
close(4)                                        = 0
_exit(0)
--------------------------------------------------------------------------------------------
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to