linux-unionfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Carl Karsten <carl@nextdayvideo.com>
To: overlayfs <linux-unionfs@vger.kernel.org>
Subject: index=on,nfs_export=on Operation not permitted
Date: Mon, 29 Nov 2021 21:48:21 -0800	[thread overview]
Message-ID: <CADmzSSh7P+T78nuKxgK4mjOMMPO6AZmtYBFw+uu4UuE_K5FWCA@mail.gmail.com> (raw)

I don't need any help, This seems odd enough to report.

I accidentally  built my nfs server on buster, which threw some errors
about index=on, so I added index=on.  Then I rebuilt the server on
bullseye, and almost everything was the same, except for 1 little
thing.  I removed the index=on, and all was well again.

server:
dist=bullseye
d=/srv/nfs/rpi/${dist}
p=${d}/boot
rm -rf ${p}/work/index
mount -t overlay overlay -o index=on,nfs_export=on,\
lowerdir=${p}/setup:${p}/base,\
upperdir=${p}/updates,\
workdir=${p}/work \
    ${p}/merged

/etc/exports
/srv/nfs/rpi/bullseye/boot/merged
*(rw,sync,no_subtree_check,no_root_squash,fsid=1)


client:
root@raspberrypi:~# mount
10.21.0.1:/srv/nfs/rpi/bullseye/root/merged on / type nfs
(rw,relatime,vers=3,rsize=4096,wsize=4096,namlen=255,hard,nolock,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=10.21.0.1,mountvers=3,mountproto=tcp,local_lock=all,addr=10.21.0.1)

root@raspberrypi:~# mv /boot/z /boot/config.txt
mv: cannot move '/boot/z' to '/boot/config.txt': Operation not permitted

root@raspberrypi:~# strace mv /boot/z /boot/config.txt
execve("/usr/bin/mv", ["mv", "/boot/z", "/boot/config.txt"],
0xffd9caa8 /* 18 vars */) = 0
brk(NULL)                               = 0x1541000
uname({sysname="Linux", nodename="raspberrypi", ...}) = 0
access("/etc/ld.so.preload", R_OK)      = 0
openat(AT_FDCWD, "/etc/ld.so.preload", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=54, ...}) = 0
mmap2(NULL, 54, PROT_READ|PROT_WRITE, MAP_PRIVATE, 3, 0) = 0xf7cb7000
close(3)                                = 0
readlink("/proc/self/exe", "/usr/bin/mv", 4096) = 11
openat(AT_FDCWD, "/usr/lib/arm-linux-gnueabihf/libarmmem-v8l.so",
O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\254\3\0\0004\0\0\0"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=17708, ...}) = 0
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xf7cb5000
mmap2(NULL, 81964, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0xf7c72000
mprotect(0xf7c76000, 61440, PROT_NONE)  = 0
mmap2(0xf7c85000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0xf7c85000
close(3)                                = 0
munmap(0xf7cb7000, 54)                  = 0
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=28423, ...}) = 0
mmap2(NULL, 28423, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf7cae000
close(3)                                = 0
openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libselinux.so.1",
O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\20R\0\0004\0\0\0"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=144896, ...}) = 0
mmap2(NULL, 216100, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0xf7c3d000
mprotect(0xf7c60000, 61440, PROT_NONE)  = 0
mmap2(0xf7c6f000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22000) = 0xf7c6f000
mmap2(0xf7c71000, 3108, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xf7c71000
close(3)                                = 0
openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libacl.so.1",
O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\23\0\0004\0\0\0"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=30052, ...}) = 0
mmap2(NULL, 94276, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0xf7c25000
mprotect(0xf7c2b000, 65536, PROT_NONE)  = 0
mmap2(0xf7c3b000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0xf7c3b000
close(3)                                = 0
openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libattr.so.1",
O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0
\16\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=17724, ...}) = 0
mmap2(NULL, 81932, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0xf7c10000
mprotect(0xf7c14000, 61440, PROT_NONE)  = 0
mmap2(0xf7c23000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0xf7c23000
close(3)                                = 0
openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libc.so.6",
O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\240\255\1\0004\0\0\0"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1321488, ...}) = 0
mmap2(NULL, 1390760, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,
3, 0) = 0xf7abc000
mprotect(0xf7bfb000, 61440, PROT_NONE)  = 0
mmap2(0xf7c0a000, 16384, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13e000) = 0xf7c0a000
mmap2(0xf7c0e000, 6312, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xf7c0e000
close(3)                                = 0
openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libpcre2-8.so.0",
O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\220\31\0\0004\0\0\0"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=563040, ...}) = 0
mmap2(NULL, 627292, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0xf7a22000
mprotect(0xf7aab000, 61440, PROT_NONE)  = 0
mmap2(0xf7aba000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x88000) = 0xf7aba000
close(3)                                = 0
openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libdl.so.2",
O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\330\v\0\0004\0\0\0"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=13864, ...}) = 0
mmap2(NULL, 78020, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0xf7a0e000
mprotect(0xf7a11000, 61440, PROT_NONE)  = 0
mmap2(0xf7a20000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0xf7a20000
close(3)                                = 0
openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libpthread.so.0",
O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0t]\0\0004\0\0\0"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=137364, ...}) = 0
mmap2(NULL, 176728, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0xf79e2000
mprotect(0xf79fa000, 65536, PROT_NONE)  = 0
mmap2(0xf7a0a000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) = 0xf7a0a000
mmap2(0xf7a0c000, 4696, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xf7a0c000
close(3)                                = 0
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xf7cac000
set_tls(0xf7cac700)                     = 0
mprotect(0xf7c0a000, 8192, PROT_READ)   = 0
mprotect(0xf7a0a000, 4096, PROT_READ)   = 0
mprotect(0xf7a20000, 4096, PROT_READ)   = 0
mprotect(0xf7aba000, 4096, PROT_READ)   = 0
mprotect(0xf7c23000, 4096, PROT_READ)   = 0
mprotect(0xf7c3b000, 4096, PROT_READ)   = 0
mprotect(0xf7c6f000, 4096, PROT_READ)   = 0
mprotect(0xf7c85000, 4096, PROT_READ)   = 0
mprotect(0x3a000, 4096, PROT_READ)      = 0
mprotect(0xf7cb9000, 4096, PROT_READ)   = 0
munmap(0xf7cae000, 28423)               = 0
set_tid_address(0xf7cac2a8)             = 4282
set_robust_list(0xf7cac2b0, 12)         = 0
rt_sigaction(SIGRTMIN, {sa_handler=0xf79e76a8, sa_mask=[],
sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0xf7aeedb0}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {sa_handler=0xf79e7764, sa_mask=[],
sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0xf7aeedb0},
NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
ugetrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
statfs("/sys/fs/selinux", 0xffd111ec)   = -1 ENOENT (No such file or directory)
statfs("/selinux", 0xffd111ec)          = -1 ENOENT (No such file or directory)
brk(NULL)                               = 0x1541000
brk(0x1562000)                          = 0x1562000
openat(AT_FDCWD, "/proc/filesystems", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
read(3, "nodev\tsysfs\nnodev\ttmpfs\nnodev\tbd"..., 1024) = 370
read(3, "", 1024)                       = 0
close(3)                                = 0
access("/etc/selinux/config", F_OK)     = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/locale/locale-archive",
O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=3041504, ...}) = 0
mmap2(NULL, 2097152, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf77e2000
mmap2(NULL, 2596864, PROT_READ, MAP_PRIVATE, 3, 0x6d000) = 0xf7568000
close(3)                                = 0
geteuid32()                             = 0
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
renameat2(AT_FDCWD, "/boot/z", AT_FDCWD, "/boot/config.txt",
RENAME_NOREPLACE) = -1 EEXIST (File exists)
stat64("/boot/config.txt", {st_mode=S_IFREG|0755, st_size=2425, ...}) = 0
fstatat64(AT_FDCWD, "/boot/z", {st_mode=S_IFREG|0755, st_size=2425,
...}, AT_SYMLINK_NOFOLLOW) = 0
fstatat64(AT_FDCWD, "/boot/config.txt", {st_mode=S_IFREG|0755,
st_size=2425, ...}, AT_SYMLINK_NOFOLLOW) = 0
geteuid32()                             = 0
rename("/boot/z", "/boot/config.txt")   = -1 EPERM (Operation not permitted)
openat(AT_FDCWD, "/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2996, ...}) = 0
read(3, "# Locale name alias data base.\n#"..., 4096) = 2996
read(3, "", 4096)                       = 0
close(3)                                = 0
openat(AT_FDCWD,
"/usr/share/locale/en_GB.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) =
-1 ENOENT (No such file or directory)
openat(AT_FDCWD,
"/usr/share/locale/en_GB.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) =
-1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en_GB/LC_MESSAGES/coreutils.mo",
O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD,
"/usr/share/locale/en.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1
ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en.utf8/LC_MESSAGES/coreutils.mo",
O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en/LC_MESSAGES/coreutils.mo",
O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, "mv: ", 4mv: )                     = 4
write(2, "cannot move '/boot/z' to '/boot/"..., 43cannot move
'/boot/z' to '/boot/config.txt') = 43
openat(AT_FDCWD, "/usr/share/locale/en_GB.UTF-8/LC_MESSAGES/libc.mo",
O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en_GB.utf8/LC_MESSAGES/libc.mo",
O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en_GB/LC_MESSAGES/libc.mo", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=1433, ...}) = 0
mmap2(NULL, 1433, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf7cb7000
close(3)                                = 0
openat(AT_FDCWD, "/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo",
O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo",
O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY)
= -1 ENOENT (No such file or directory)
write(2, ": Operation not permitted", 25: Operation not permitted) = 25
write(2, "\n", 1
)                       = 1
_llseek(0, 0, 0xffd11120, SEEK_CUR)     = -1 ESPIPE (Illegal seek)
close(0)                                = 0
close(1)                                = 0
close(2)                                = 0
exit_group(1)                           = ?
+++ exited with 1 +++



-- 
Carl K

             reply	other threads:[~2021-11-30  5:48 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-30  5:48 Carl Karsten [this message]
2021-11-30 15:19 ` index=on,nfs_export=on Operation not permitted Amir Goldstein
2021-11-30 15:41   ` Carl Karsten

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CADmzSSh7P+T78nuKxgK4mjOMMPO6AZmtYBFw+uu4UuE_K5FWCA@mail.gmail.com \
    --to=carl@nextdayvideo.com \
    --cc=linux-unionfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).