[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210304123541.30749-1-s.hauer@pengutronix.de>
Date: Thu, 4 Mar 2021 13:35:38 +0100
From: Sascha Hauer <s.hauer@...gutronix.de>
To: linux-fsdevel@...r.kernel.org
Cc: linux-kernel@...r.kernel.org, linux-api@...r.kernel.org,
Christoph Hellwig <hch@...radead.org>, kernel@...gutronix.de,
Jan Kara <jack@...e.com>, Richard Weinberger <richard@....at>,
Sascha Hauer <s.hauer@...gutronix.de>
Subject: [PATCH v3 0/2] quota: Add mountpath based quota support
Current quotactl syscall uses a path to a block device to specify the
filesystem to work on which makes it unsuitable for filesystems that
do not have a block device. This series adds a new syscall quotactl_path()
which replaces the path to the block device with a mountpath, but otherwise
behaves like original quotactl.
This is done to add quota support to UBIFS. UBIFS quota support has been
posted several times with different approaches to put the mountpath into
the existing quotactl() syscall until it has been suggested to make it a
new syscall instead, so here it is.
I'm not posting the full UBIFS quota series here as it remains unchanged
and I'd like to get feedback to the new syscall first. For those interested
the most recent series can be found here: https://lwn.net/Articles/810463/
Changes since v2:
- Rebase on v5.12-rc1
- replace mountpath.dentry->d_inode->i_sb with mountpath.mnt->mnt_sb
- fix wrong macro usage in arch/x86/entry/syscalls/syscall_32.tbl
- +Cc linux-api@...r.kernel.org
Changes since (implicit) v1:
- Ignore second path argument to Q_QUOTAON. With this quotactl_path() can
only do the Q_QUOTAON operation on filesystems which use hidden inodes
for quota metadata storage
- Drop unnecessary quotactl_cmd_onoff() check
Sascha Hauer (2):
quota: Add mountpath based quota support
quota: wire up quotactl_path
arch/alpha/kernel/syscalls/syscall.tbl | 1 +
arch/arm/tools/syscall.tbl | 1 +
arch/arm64/include/asm/unistd.h | 2 +-
arch/arm64/include/asm/unistd32.h | 2 +
arch/ia64/kernel/syscalls/syscall.tbl | 1 +
arch/m68k/kernel/syscalls/syscall.tbl | 1 +
arch/microblaze/kernel/syscalls/syscall.tbl | 1 +
arch/mips/kernel/syscalls/syscall_n32.tbl | 1 +
arch/mips/kernel/syscalls/syscall_n64.tbl | 1 +
arch/mips/kernel/syscalls/syscall_o32.tbl | 1 +
arch/parisc/kernel/syscalls/syscall.tbl | 1 +
arch/powerpc/kernel/syscalls/syscall.tbl | 1 +
arch/s390/kernel/syscalls/syscall.tbl | 1 +
arch/sh/kernel/syscalls/syscall.tbl | 1 +
arch/sparc/kernel/syscalls/syscall.tbl | 1 +
arch/x86/entry/syscalls/syscall_32.tbl | 1 +
arch/x86/entry/syscalls/syscall_64.tbl | 1 +
arch/xtensa/kernel/syscalls/syscall.tbl | 1 +
fs/quota/quota.c | 49 +++++++++++++++++++--
include/linux/syscalls.h | 2 +
include/uapi/asm-generic/unistd.h | 4 +-
kernel/sys_ni.c | 1 +
22 files changed, 71 insertions(+), 5 deletions(-)
--
2.29.2
Powered by blists - more mailing lists