Date: Thu, 17 Oct 2024 10:58:02 -0600 From: Alan Somers <asomers@freebsd.org> To: Konstantin Belousov <kostikbel@gmail.com> Cc: mscotty@protonmail.ch, freebsd-fs <freebsd-fs@freebsd.org> Subject: Re: Should VOP_RENAME fail if tdvp has an IMMUTABLE flag set? Message-ID: <CAOtMX2joHmsPZtnZ4AYPTNQ9XGfBDp-hiMwju8S3a=NkZ7Nauw@mail.gmail.com> In-Reply-To: <ZxA_7pW8Z_VPbBYn@kib.kiev.ua> References: <CAOtMX2gRv9PviMdEjqvpxGFmDd39c13kmwNnkvf4QS2L-YH=%2Bg@mail.gmail.com> <ZxA_7pW8Z_VPbBYn@kib.kiev.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Oct 16, 2024 at 4:36=E2=80=AFPM Konstantin Belousov <kostikbel@gmai= l.com> wrote: > > On Wed, Oct 16, 2024 at 04:11:28PM -0600, Alan Somers wrote: > > ufs_rename and ext2_rename will both fail with EPERM if the > > destination directory has an APPEND file flag set. So will > > tmpfs_rename. However, tmpfs_rename will also fail if the destination > > directory has an IMMUTABLE flag set. That's inconsistent. It seems > > to me that tmpfs's behavior is more reasonable. Does anybody know why > > ufs and ext2 have always allowed rename even if the destination > > directory is IMMUTABLE? For that matter, does anybody know the > > rationale for preventing it if the destination is APPEND? > > Intuitively, I would think that an APPEND-only directory would allow > > new entries. And I don't see any checks for APPEND in ufs_mkdir, > > ufs_link, or ufs_create. > > For UFS, IMMUTABLE is checked on lookup. Search for 'RENAME' in ufs_look= up.c > and following call to VOP_ACCESSX(). That makes sense. So an IMMUTABLE check in ufs_rename wouldn't be wrong, but it would be redundant. > > APPEND for UFS directories is a strange idea, for instance, does the dire= ctory > compaction breaks append-only? I agree with olce@ on this one. Directory compaction sounds to me like an implementation detail. BTW, the motivation for this discussion is that mscotty (CC'd) is currently working on implementing file flags within fusefs. We're trying to decide exactly how to enforce them, following UFS's lead where possible. -Alan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOtMX2joHmsPZtnZ4AYPTNQ9XGfBDp-hiMwju8S3a=NkZ7Nauw>