Re: Add fchmodat2() - or add a more general syscall?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jul 25, 2023 at 07:39:51PM +0100, David Howells wrote:
Florian Weimer <fweimer@xxxxxxxxxx> 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
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.

Can we please not let " hey let's invent a new interface to do
something that will be hard for underlying filesystems to even provide
and that nothing needs because there's no standard API to do it" be
the enemy of "fixing a known problem implementing an existing standard
API that just requires a simple, clearly-scoped syscall to do it"?

Rich



[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux