linux-parisc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christian Brauner <brauner@kernel.org>
To: David Howells <dhowells@redhat.com>
Cc: Florian Weimer <fweimer@redhat.com>,
	Alexey Gladkov <legion@kernel.org>,
	James.Bottomley@HansenPartnership.com, acme@kernel.org,
	alexander.shishkin@linux.intel.com, axboe@kernel.dk,
	benh@kernel.crashing.org, borntraeger@de.ibm.com, bp@alien8.de,
	catalin.marinas@arm.com, christian@brauner.io, dalias@libc.org,
	davem@davemloft.net, deepa.kernel@gmail.com, deller@gmx.de,
	fenghua.yu@intel.com, geert@linux-m68k.org, glebfm@altlinux.org,
	gor@linux.ibm.com, hare@suse.com, hpa@zytor.com,
	ink@jurassic.park.msu.ru, jhogan@kernel.org,
	kim.phillips@arm.com, ldv@altlinux.org,
	linux-alpha@vger.kernel.org, linux-arch@vger.kernel.org,
	linux-ia64@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
	linux-s390@vger.kernel.org, linux-sh@vger.kernel.org,
	linux@armlinux.org.uk, linuxppc-dev@lists.ozlabs.org,
	luto@kernel.org, mattst88@gmail.com, mingo@redhat.com,
	monstr@monstr.eu, mpe@ellerman.id.au, namhyung@kernel.org,
	paulus@samba.org, peterz@infradead.org, ralf@linux-mips.org,
	sparclinux@vger.kernel.org, stefan@agner.ch, tglx@linutronix.de,
	tony.luck@intel.com, tycho@tycho.ws, will@kernel.org,
	x86@kernel.org, ysato@users.sourceforge.jp,
	LKML <linux-kernel@vger.kernel.org>,
	Arnd Bergmann <arnd@arndb.de>,
	linux-api@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	viro@zeniv.linux.org.uk
Subject: Re: Add fchmodat2() - or add a more general syscall?
Date: Wed, 26 Jul 2023 15:30:51 +0200	[thread overview]
Message-ID: <20230726-arztbesuch-division-ee0343632e3c@brauner> (raw)
In-Reply-To: <107290.1690310391@warthog.procyon.org.uk>

On Tue, Jul 25, 2023 at 07:39:51PM +0100, David Howells wrote:
> Florian Weimer <fweimer@redhat.com> wrote:
> 
> > > Rather than adding a fchmodat2() syscall, should we add a
> > > "set_file_attrs()" syscall that takes a mask and allows you to set a bunch
> > > of stuff all in one go?  Basically, an interface to notify_change() in the

That system call would likely be blocked in seccomp sandboxes completely
as seccomp cannot filter structs. I don't consider this an argument to
block new good functionality in general as that would mean arbitrarily
limiting us but it is something to keep in mind. If there's additional
benefit other than just being able to set mutliple values at once then
yeah might be something to discuss.

> > > kernel that would allow several stats to be set atomically.  This might be
> > > of particular interest to network filesystems.
> > 
> > Do you mean atomically as in compare-and-swap (update only if old values
> > match), or just a way to update multiple file attributes with a single
> > system call?
> 
> I was thinking more in terms of the latter.  AFAIK, there aren't any network
> filesystems support a CAS interface on file attributes like that.  To be able
> to do a CAS operation, we'd need to pass in the old values as well as the new.
> 
> Another thing we could look at is doing "create_and_set_attrs()", possibly
> allowing it to take a list of xattrs also.

That would likely require variable sized pointers in a struct which is
something we really try to stay away from. I also think it's not a good
idea to lump xattrs toegether with generic file attributes. They should
remain a separate api imho.

  parent reply	other threads:[~2023-07-26 13:31 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-17  1:27 Add a new fchmodat4() syscall, v2 Palmer Dabbelt
2019-07-17  1:27 ` [PATCH v2 1/4] Non-functional cleanup of a "__user * filename" Palmer Dabbelt
2019-07-17  1:27 ` [PATCH v2 2/4] Add fchmodat4(), a new syscall Palmer Dabbelt
2019-07-17  1:48   ` Al Viro
2019-07-17  2:12     ` Palmer Dabbelt
2019-07-17  2:40   ` Rich Felker
2019-07-17  3:02     ` Al Viro
2019-07-17  1:27 ` [PATCH v2 3/4] arch: Register fchmodat4, usually as syscall 434 Palmer Dabbelt
2019-07-17  1:27 ` [PATCH v2 4/4] tools: Add fchmodat4 Palmer Dabbelt
2019-07-17 12:39   ` Arnaldo Carvalho de Melo
2020-06-09 13:52 ` Add a new fchmodat4() syscall, v2 Florian Weimer
2023-07-11 11:25   ` [PATCH v3 0/5] Add a new fchmodat4() syscall Alexey Gladkov
2023-07-11 11:25     ` [PATCH v3 1/5] Non-functional cleanup of a "__user * filename" Alexey Gladkov
2023-07-11 11:32       ` Arnd Bergmann
2023-07-11 11:25     ` [PATCH v3 2/5] fs: Add fchmodat4() Alexey Gladkov
2023-07-11 11:42       ` Arnd Bergmann
2023-07-11 11:52         ` Christian Brauner
2023-07-11 12:51           ` Alexey Gladkov
2023-07-11 14:01             ` Christian Brauner
2023-07-11 15:23               ` Alexey Gladkov
2023-07-11 12:28       ` Matthew Wilcox
2023-07-11 12:49         ` Alexey Gladkov
2023-07-11 11:25     ` [PATCH v3 3/5] arch: Register fchmodat4, usually as syscall 451 Alexey Gladkov
2023-07-11 11:31       ` Arnd Bergmann
2023-07-11 11:25     ` [PATCH v3 4/5] tools headers UAPI: Sync files changed by new fchmodat4 syscall Alexey Gladkov
2023-07-11 11:25     ` [PATCH v3 5/5] selftests: add fchmodat4(2) selftest Alexey Gladkov
2023-07-11 12:10       ` Florian Weimer
2023-07-11 13:38         ` Alexey Gladkov
2023-07-11 12:24     ` [PATCH v3 0/5] Add a new fchmodat4() syscall Florian Weimer
2023-07-11 15:14       ` Christian Brauner
2023-07-25 11:05         ` Alexey Gladkov
2023-07-25 12:05           ` Christian Brauner
2023-07-11 16:16     ` [PATCH v4 0/5] Add a new fchmodat2() syscall Alexey Gladkov
2023-07-11 16:16       ` [PATCH v4 1/5] Non-functional cleanup of a "__user * filename" Alexey Gladkov
2023-07-11 16:16       ` [PATCH v4 2/5] fs: Add fchmodat2() Alexey Gladkov
2023-07-11 17:05         ` Christian Brauner
2023-07-25 16:36         ` Aleksa Sarai
2023-07-26 13:45           ` Alexey Gladkov
2023-07-27 10:26             ` Christian Brauner
2023-07-27 17:12             ` Aleksa Sarai
2023-07-27 17:39               ` Aleksa Sarai
2023-07-28  8:43                 ` David Laight
2023-07-28 18:42                   ` dalias
2023-07-27  9:01           ` David Laight
2023-07-27 16:28             ` Andreas Schwab
2023-07-27 17:02               ` Christian Brauner
2023-07-27 17:13                 ` dalias
2023-07-27 17:36                   ` Christian Brauner
2023-07-27 16:31             ` dalias
2023-07-11 16:16       ` [PATCH v4 3/5] arch: Register fchmodat2, usually as syscall 452 Alexey Gladkov
2023-07-11 16:26         ` Arnd Bergmann
2023-07-25  7:16         ` Geert Uytterhoeven
2023-07-25 16:43         ` Aleksa Sarai
2023-07-27 10:37           ` Christian Brauner
2023-07-27 17:42             ` Aleksa Sarai
2023-07-11 16:16       ` [PATCH v4 4/5] tools headers UAPI: Sync files changed by new fchmodat2 syscall Alexey Gladkov
2023-07-11 17:19         ` Namhyung Kim
2023-07-11 17:23           ` Alexey Gladkov
2023-07-11 16:16       ` [PATCH v4 5/5] selftests: Add fchmodat2 selftest Alexey Gladkov
2023-07-11 17:36       ` (subset) [PATCH v4 0/5] Add a new fchmodat2() syscall Christian Brauner
2023-07-12  2:42       ` Rich Felker
2023-07-25 15:58     ` Add fchmodat2() - or add a more general syscall? David Howells
2023-07-25 16:10       ` Florian Weimer
2023-07-25 16:50       ` Aleksa Sarai
2023-07-25 18:39       ` David Howells
2023-07-25 18:44         ` Rich Felker
2023-07-26 13:30         ` Christian Brauner [this message]
2023-07-27  3:57       ` Eric Biggers
2023-07-27 10:27         ` Christian Brauner

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=20230726-arztbesuch-division-ee0343632e3c@brauner \
    --to=brauner@kernel.org \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=acme@kernel.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=arnd@arndb.de \
    --cc=axboe@kernel.dk \
    --cc=benh@kernel.crashing.org \
    --cc=borntraeger@de.ibm.com \
    --cc=bp@alien8.de \
    --cc=catalin.marinas@arm.com \
    --cc=christian@brauner.io \
    --cc=dalias@libc.org \
    --cc=davem@davemloft.net \
    --cc=deepa.kernel@gmail.com \
    --cc=deller@gmx.de \
    --cc=dhowells@redhat.com \
    --cc=fenghua.yu@intel.com \
    --cc=fweimer@redhat.com \
    --cc=geert@linux-m68k.org \
    --cc=glebfm@altlinux.org \
    --cc=gor@linux.ibm.com \
    --cc=hare@suse.com \
    --cc=hpa@zytor.com \
    --cc=ink@jurassic.park.msu.ru \
    --cc=jhogan@kernel.org \
    --cc=kim.phillips@arm.com \
    --cc=ldv@altlinux.org \
    --cc=legion@kernel.org \
    --cc=linux-alpha@vger.kernel.org \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-m68k@lists.linux-m68k.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=luto@kernel.org \
    --cc=mattst88@gmail.com \
    --cc=mingo@redhat.com \
    --cc=monstr@monstr.eu \
    --cc=mpe@ellerman.id.au \
    --cc=namhyung@kernel.org \
    --cc=paulus@samba.org \
    --cc=peterz@infradead.org \
    --cc=ralf@linux-mips.org \
    --cc=sparclinux@vger.kernel.org \
    --cc=stefan@agner.ch \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.com \
    --cc=tycho@tycho.ws \
    --cc=viro@zeniv.linux.org.uk \
    --cc=will@kernel.org \
    --cc=x86@kernel.org \
    --cc=ysato@users.sourceforge.jp \
    /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).