[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: mv: preserving permissions for `./file': Invalid argument
From: |
Richard Leeden |
Subject: |
Re: mv: preserving permissions for `./file': Invalid argument |
Date: |
Sat, 28 Feb 2009 01:18:40 -0800 (PST) |
Jim Meyering wrote:
>
> Thanks for the report.
> However we'll need more information.
> For example, what is the type of your destination file system?
> If it's a local file system, "df -hT ." will tell you.
> If it's NFS, it'd be good if you could tell us the OS of the server
> as well as the type of disk it exports.
>
> What are the permissions of the source and destination files
> and the destination directory? I.e., run this after the mv:
>
> ls -ld /tmp/a a .
>
> Also, please rerun your example under "truss", to see what system
> calls are used i.e.,
>
> rm -f a
> truss -o log mv /tmp/a .
>
> and post the log.
>
> Caveat: Solaris 8 and 9 are on the way out, in my mind.
> I haven't had access to those types of systems for at least
> three years now, and that's a pretty serious impediment to
> maintaining portability to them.
>
Thanks for the reply. And, yes I agree Solaris 8 and 9 are on the way out,
but unfortunately we're going to be stuck with them at work for some time to
come yet. :(
Anyway, here's the info you asked for.
The destintation FS is a local FS: output from df -hT .
Filesystem Type Size Used Avail Use% Mounted on
/dev/md/dsk/d24
ufs 481M 209M 225M 49% /usr/home
Full details of all permissions, before and after the move:
root>rm -f a
root>touch /tmp/a
root>
root>ls -ld /tmp /tmp/a . a
ls: cannot access a: No such file or directory
drwxr-xr-x 5 rleeden admin 8192 Feb 28 09:05 .
drwxrwxrwt 11 root sys 4484 Feb 28 09:05 /tmp
-rw-r--r-- 1 root other 0 Feb 28 09:05 /tmp/a
root>
root>mv /tmp/a .
mv: preserving permissions for `./a': Invalid argument
root>
root>ls -ld /tmp /tmp/a . a
ls: cannot access /tmp/a: No such file or directory
drwxr-xr-x 5 rleeden admin 8192 Feb 28 09:05 .
drwxrwxrwt 11 root sys 4355 Feb 28 09:05 /tmp
-rw-r--r-- 1 root other 0 Feb 28 09:05 a
root>
And the truss output:
execve("/usr/local/bin/mv", 0xFFBFF2FC, 0xFFBFF30C) argc = 3
resolvepath("/usr/lib/ld.so.1", "/usr/lib/ld.so.1", 1023) = 16
resolvepath("/usr/local/bin/mv", "/usr/local/bin/mv", 1023) = 17
stat("/usr/local/bin/mv", 0xFFBFF0C0) = 0
open("/var/ld/ld.config", O_RDONLY) = 3
fstat(3, 0xFFBFEB40) = 0
mmap(0x00000000, 132, PROT_READ, MAP_SHARED, 3, 0) = 0xFF3B0000
close(3) = 0
stat("/usr/local/lib/libintl.so.8", 0xFFBFEBC8) = 0
resolvepath("/usr/local/lib/libintl.so.8",
"/usr/local/lib/libintl.so.8.0.2", 1023) = 31
open("/usr/local/lib/libintl.so.8", O_RDONLY) = 3
mmap(0x00010000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 3, 0) =
0xFF3A0000
mmap(0x00010000, 106496, PROT_NONE,
MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFF380000
mmap(0xFF380000, 34770, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
0xFF380000
mmap(0xFF398000, 4364, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED, 3, 32768) = 0xFF398000
munmap(0xFF38A000, 57344) = 0
memcntl(0xFF380000, 8240, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3) = 0
stat("/usr/local/lib/libc.so.1", 0xFFBFEBC8) Err#2 ENOENT
stat("/usr/lib/libc.so.1", 0xFFBFEBC8) = 0
resolvepath("/usr/lib/libc.so.1", "/usr/lib/libc.so.1", 1023) = 18
open("/usr/lib/libc.so.1", O_RDONLY) = 3
mmap(0xFF3A0000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
0xFF3A0000
mmap(0x00010000, 802816, PROT_NONE,
MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFF280000
mmap(0xFF280000, 703464, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
0xFF280000
mmap(0xFF33C000, 24496, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED, 3, 704512) = 0xFF33C000
mmap(0xFF342000, 6720, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0xFF342000
munmap(0xFF32C000, 65536) = 0
memcntl(0xFF280000, 117696, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3) = 0
stat("/usr/local/lib/libgen.so.1", 0xFFBFEBC8) Err#2 ENOENT
stat("/usr/lib/libgen.so.1", 0xFFBFEBC8) = 0
resolvepath("/usr/lib/libgen.so.1", "/usr/lib/libgen.so.1", 1023) = 20
open("/usr/lib/libgen.so.1", O_RDONLY) = 3
mmap(0xFF3A0000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
0xFF3A0000
mmap(0x00010000, 98304, PROT_NONE,
MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFF360000
mmap(0xFF360000, 22921, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
0xFF360000
mmap(0xFF376000, 2351, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED, 3, 24576) = 0xFF376000
munmap(0xFF366000, 65536) = 0
mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON,
-1, 0) = 0xFF350000
memcntl(0xFF360000, 6372, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3) = 0
stat("/usr/local/lib/libiconv.so.2", 0xFFBFEBC8) = 0
resolvepath("/usr/local/lib/libiconv.so.2",
"/usr/local/lib/libiconv.so.2.4.0", 1023) = 32
open("/usr/local/lib/libiconv.so.2", O_RDONLY) = 3
mmap(0xFF3A0000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
0xFF3A0000
mmap(0x00010000, 999424, PROT_NONE,
MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFF180000
mmap(0xFF180000, 923279, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
0xFF180000
mmap(0xFF270000, 11152, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED, 3, 917504) = 0xFF270000
munmap(0xFF262000, 57344) = 0
memcntl(0xFF180000, 12892, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3) = 0
stat("/usr/local/lib/libsec.so.1", 0xFFBFEBC8) Err#2 ENOENT
stat("/usr/lib/libsec.so.1", 0xFFBFEBC8) = 0
resolvepath("/usr/lib/libsec.so.1", "/usr/lib/libsec.so.1", 1023) = 20
open("/usr/lib/libsec.so.1", O_RDONLY) = 3
mmap(0xFF3A0000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
0xFF3A0000
mmap(0x00010000, 90112, PROT_NONE,
MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFF160000
mmap(0xFF160000, 9993, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
0xFF160000
mmap(0xFF174000, 982, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED,
3, 16384) = 0xFF174000
munmap(0xFF164000, 65536) = 0
memcntl(0xFF160000, 2648, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3) = 0
stat("/usr/local/lib/libc.so.1", 0xFFBFEBC8) Err#2 ENOENT
stat("/usr/local/lib/libgcc_s.so.1", 0xFFBFEBC8) = 0
resolvepath("/usr/local/lib/libgcc_s.so.1", "/usr/local/lib/libgcc_s.so.1",
1023) = 28
open("/usr/local/lib/libgcc_s.so.1", O_RDONLY) = 3
mmap(0xFF3A0000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
0xFF3A0000
mmap(0x00010000, 106496, PROT_NONE,
MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFF140000
mmap(0xFF140000, 34112, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
0xFF140000
mmap(0xFF158000, 3532, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED, 3, 32768) = 0xFF158000
munmap(0xFF14A000, 57344) = 0
memcntl(0xFF140000, 6540, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3) = 0
stat("/usr/lib/libdl.so.1", 0xFFBFEBC8) = 0
resolvepath("/usr/lib/libdl.so.1", "/usr/lib/libdl.so.1", 1023) = 19
open("/usr/lib/libdl.so.1", O_RDONLY) = 3
mmap(0xFF3A0000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
0xFF3A0000
mmap(0x00010000, 8192, PROT_NONE,
MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFF130000
mmap(0xFF130000, 2210, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF130000
close(3) = 0
stat("/usr/local/lib/libc.so.1", 0xFFBFEBC8) Err#2 ENOENT
stat("/usr/local/lib/libc.so.1", 0xFFBFEBC8) Err#2 ENOENT
stat("/usr/platform/SUNW,UltraSPARC-IIi-cEngine/lib/libc_psr.so.1",
0xFFBFE8C8) = 0
resolvepath("/usr/platform/SUNW,UltraSPARC-IIi-cEngine/lib/libc_psr.so.1",
"/usr/platform/sun4u/lib/libc_psr.so.1", 1023) = 37
open("/usr/platform/SUNW,UltraSPARC-IIi-cEngine/lib/libc_psr.so.1",
O_RDONLY) = 3
mmap(0xFF3A0000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
0xFF3A0000
munmap(0xFF3A4000, 16384) = 0
close(3) = 0
getustack(0xFFBFEF04)
getrlimit(RLIMIT_STACK, 0xFFBFEEFC) = 0
getcontext(0xFFBFED38)
setustack(0xFF3439B4)
sysconfig(_CONFIG_STACK_PROT) = 3
brk(0x00046F70) = 0
brk(0x00048F70) = 0
stat("/usr/lib/locale/en_US.ISO8859-1/en_US.ISO8859-1.so.2", 0xFFBFE430) = 0
resolvepath("/usr/lib/locale/en_US.ISO8859-1/en_US.ISO8859-1.so.2",
"/usr/lib/locale/en_US.ISO8859-1/en_US.ISO8859-1.so.2", 1023) = 52
open("/usr/lib/locale/en_US.ISO8859-1/en_US.ISO8859-1.so.2", O_RDONLY) = 3
mmap(0x00010000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 3, 0) =
0xFF120000
mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON,
-1, 0) = 0xFF110000
mmap(0x00010000, 90112, PROT_NONE,
MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFF0F0000
mmap(0xFF0F0000, 14814, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
0xFF0F0000
mmap(0xFF102000, 8806, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED, 3, 8192) = 0xFF102000
munmap(0xFF0F4000, 57344) = 0
memcntl(0xFF0F0000, 6824, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3) = 0
munmap(0xFF120000, 32768) = 0
getuid() = 0 [0]
ioctl(0, TCGETA, 0xFFBFF13C) = 0
stat64("a", 0xFFBFF1B8) Err#2 ENOENT
lstat64("/tmp/a", 0xFFBFEF28) = 0
lstat64("a", 0xFFBFEE90) Err#2 ENOENT
rename("/tmp/a", "a") Err#18 EXDEV
unlink("a") Err#2 ENOENT
open64("/tmp/a", O_RDONLY) = 3
fstat64(3, 0xFFBFEDF8) = 0
open64("a", O_WRONLY|O_CREAT|O_EXCL, 0600) = 4
fstat64(4, 0xFFBFED60) = 0
sysconfig(_CONFIG_PAGESIZE) = 8192
brk(0x00048F70) = 0
brk(0x0004CF70) = 0
read(3, 0x0004A000, 8192) = 0
futimesat(4, "", 0xFFBFEB90) = 0
facl(3, GETACLCNT, 0, 0x00000000) = 4
facl(3, GETACL, 4, 0x0004C418) = 4
facl(4, SETACL, 4, 0x0004C418) Err#22 EINVAL
fchmod(4, 0100644) = 0
getuid() = 0 [0]
getuid() = 0 [0]
getgid() = 1 [1]
getgid() = 1 [1]
fstat64(2, 0xFFBFDBE0) = 0
write(2, " m v : ", 4) = 4
write(2, " p r e s e r v i n g p".., 30) = 30
write(2, " : ", 2) = 2
write(2, " I n v a l i d a r g u".., 16) = 16
write(2, "\n", 1) = 1
close(4) = 0
close(3) = 0
lstat64("/", 0xFFBFEFA8) = 0
fstatat64(-3041965, "/tmp/a", 0xFFBFEE48, 0x00001000) = 0
getuid() = 0 [0]
fstatat64(-3041965, "/tmp/a", 0xFFBFEE48, 0x00001000) = 0
unlinkat(-3041965, "/tmp/a", 0x00000000) = 0
llseek(0, 0, SEEK_CUR) = 1046581
close(0) = 0
close(1) = 0
close(2) = 0
_exit(0)
Thanks again for looking at this.
Richard
--
View this message in context:
http://www.nabble.com/mv%3A-preserving-permissions-for-%60.-file%27%3A-Invalid-argument-tp22247790p22260140.html
Sent from the Gnu - Coreutils - Discuss mailing list archive at Nabble.com.