* small cleanups for ->setattr
@ 2026-03-30 13:15 Christoph Hellwig
2026-03-30 13:15 ` [PATCH 1/2] xfs: remove a duplicate assert in xfs_setattr_size Christoph Hellwig
2026-03-30 13:16 ` [PATCH 2/2] xfs: fold xfs_setattr_size into xfs_vn_setattr_size Christoph Hellwig
0 siblings, 2 replies; 6+ messages in thread
From: Christoph Hellwig @ 2026-03-30 13:15 UTC (permalink / raw)
To: Carlos Maiolino; +Cc: linux-xfs
Hi all,
this series has two trivial cleanups for ->setattr.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/2] xfs: remove a duplicate assert in xfs_setattr_size
2026-03-30 13:15 small cleanups for ->setattr Christoph Hellwig
@ 2026-03-30 13:15 ` Christoph Hellwig
2026-04-07 11:01 ` Carlos Maiolino
2026-04-07 13:38 ` Carlos Maiolino
2026-03-30 13:16 ` [PATCH 2/2] xfs: fold xfs_setattr_size into xfs_vn_setattr_size Christoph Hellwig
1 sibling, 2 replies; 6+ messages in thread
From: Christoph Hellwig @ 2026-03-30 13:15 UTC (permalink / raw)
To: Carlos Maiolino; +Cc: linux-xfs
There already is an assert that checks for uid and gid changes besides a
lot of others at the beginning of the function.
Signed-off-by: Christoph Hellwig <hch@lst.de>
---
fs/xfs/xfs_iops.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c
index 208543e57eda..b0256a4a8aa8 100644
--- a/fs/xfs/xfs_iops.c
+++ b/fs/xfs/xfs_iops.c
@@ -1109,7 +1109,6 @@ xfs_setattr_size(
xfs_inode_clear_eofblocks_tag(ip);
}
- ASSERT(!(iattr->ia_valid & (ATTR_UID | ATTR_GID)));
setattr_copy(idmap, inode, iattr);
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
--
2.47.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] xfs: fold xfs_setattr_size into xfs_vn_setattr_size
2026-03-30 13:15 small cleanups for ->setattr Christoph Hellwig
2026-03-30 13:15 ` [PATCH 1/2] xfs: remove a duplicate assert in xfs_setattr_size Christoph Hellwig
@ 2026-03-30 13:16 ` Christoph Hellwig
2026-04-07 11:02 ` Carlos Maiolino
1 sibling, 1 reply; 6+ messages in thread
From: Christoph Hellwig @ 2026-03-30 13:16 UTC (permalink / raw)
To: Carlos Maiolino; +Cc: linux-xfs
xfs_vn_setattr_size is the only caller of xfs_setattr_size, so merge the
two functions.
Signed-off-by: Christoph Hellwig <hch@lst.de>
---
fs/xfs/xfs_iops.c | 38 +++++++++++---------------------------
1 file changed, 11 insertions(+), 27 deletions(-)
diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c
index b0256a4a8aa8..325c2200c501 100644
--- a/fs/xfs/xfs_iops.c
+++ b/fs/xfs/xfs_iops.c
@@ -901,20 +901,18 @@ xfs_setattr_nonsize(
/*
* Truncate file. Must have write permission and not be a directory.
- *
- * Caution: The caller of this function is responsible for calling
- * setattr_prepare() or otherwise verifying the change is fine.
*/
-STATIC int
-xfs_setattr_size(
+int
+xfs_vn_setattr_size(
struct mnt_idmap *idmap,
struct dentry *dentry,
- struct xfs_inode *ip,
struct iattr *iattr)
{
+ struct inode *inode = d_inode(dentry);
+ struct xfs_inode *ip = XFS_I(inode);
struct xfs_mount *mp = ip->i_mount;
- struct inode *inode = VFS_I(ip);
- xfs_off_t oldsize, newsize;
+ xfs_off_t oldsize = inode->i_size;
+ xfs_off_t newsize = iattr->ia_size;
struct xfs_trans *tp;
int error;
uint lock_flags = 0;
@@ -927,8 +925,11 @@ xfs_setattr_size(
ASSERT((iattr->ia_valid & (ATTR_UID|ATTR_GID|ATTR_ATIME|ATTR_ATIME_SET|
ATTR_MTIME_SET|ATTR_TIMES_SET)) == 0);
- oldsize = inode->i_size;
- newsize = iattr->ia_size;
+ trace_xfs_setattr(ip);
+
+ error = xfs_vn_change_ok(idmap, dentry, iattr);
+ if (error)
+ return error;
/*
* Short circuit the truncate case for zero length files.
@@ -1128,23 +1129,6 @@ xfs_setattr_size(
goto out_unlock;
}
-int
-xfs_vn_setattr_size(
- struct mnt_idmap *idmap,
- struct dentry *dentry,
- struct iattr *iattr)
-{
- struct xfs_inode *ip = XFS_I(d_inode(dentry));
- int error;
-
- trace_xfs_setattr(ip);
-
- error = xfs_vn_change_ok(idmap, dentry, iattr);
- if (error)
- return error;
- return xfs_setattr_size(idmap, dentry, ip, iattr);
-}
-
STATIC int
xfs_vn_setattr(
struct mnt_idmap *idmap,
--
2.47.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] xfs: remove a duplicate assert in xfs_setattr_size
2026-03-30 13:15 ` [PATCH 1/2] xfs: remove a duplicate assert in xfs_setattr_size Christoph Hellwig
@ 2026-04-07 11:01 ` Carlos Maiolino
2026-04-07 13:38 ` Carlos Maiolino
1 sibling, 0 replies; 6+ messages in thread
From: Carlos Maiolino @ 2026-04-07 11:01 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: linux-xfs
On Mon, Mar 30, 2026 at 03:15:59PM +0200, Christoph Hellwig wrote:
> There already is an assert that checks for uid and gid changes besides a
> lot of others at the beginning of the function.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
Looks good
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
> fs/xfs/xfs_iops.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c
> index 208543e57eda..b0256a4a8aa8 100644
> --- a/fs/xfs/xfs_iops.c
> +++ b/fs/xfs/xfs_iops.c
> @@ -1109,7 +1109,6 @@ xfs_setattr_size(
> xfs_inode_clear_eofblocks_tag(ip);
> }
>
> - ASSERT(!(iattr->ia_valid & (ATTR_UID | ATTR_GID)));
> setattr_copy(idmap, inode, iattr);
> xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
>
> --
> 2.47.3
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] xfs: fold xfs_setattr_size into xfs_vn_setattr_size
2026-03-30 13:16 ` [PATCH 2/2] xfs: fold xfs_setattr_size into xfs_vn_setattr_size Christoph Hellwig
@ 2026-04-07 11:02 ` Carlos Maiolino
0 siblings, 0 replies; 6+ messages in thread
From: Carlos Maiolino @ 2026-04-07 11:02 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: linux-xfs
On Mon, Mar 30, 2026 at 03:16:00PM +0200, Christoph Hellwig wrote:
> xfs_vn_setattr_size is the only caller of xfs_setattr_size, so merge the
> two functions.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
> fs/xfs/xfs_iops.c | 38 +++++++++++---------------------------
> 1 file changed, 11 insertions(+), 27 deletions(-)
>
> diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c
> index b0256a4a8aa8..325c2200c501 100644
> --- a/fs/xfs/xfs_iops.c
> +++ b/fs/xfs/xfs_iops.c
> @@ -901,20 +901,18 @@ xfs_setattr_nonsize(
>
> /*
> * Truncate file. Must have write permission and not be a directory.
> - *
> - * Caution: The caller of this function is responsible for calling
> - * setattr_prepare() or otherwise verifying the change is fine.
> */
> -STATIC int
> -xfs_setattr_size(
> +int
> +xfs_vn_setattr_size(
> struct mnt_idmap *idmap,
> struct dentry *dentry,
> - struct xfs_inode *ip,
> struct iattr *iattr)
> {
> + struct inode *inode = d_inode(dentry);
> + struct xfs_inode *ip = XFS_I(inode);
> struct xfs_mount *mp = ip->i_mount;
> - struct inode *inode = VFS_I(ip);
> - xfs_off_t oldsize, newsize;
> + xfs_off_t oldsize = inode->i_size;
> + xfs_off_t newsize = iattr->ia_size;
> struct xfs_trans *tp;
> int error;
> uint lock_flags = 0;
> @@ -927,8 +925,11 @@ xfs_setattr_size(
> ASSERT((iattr->ia_valid & (ATTR_UID|ATTR_GID|ATTR_ATIME|ATTR_ATIME_SET|
> ATTR_MTIME_SET|ATTR_TIMES_SET)) == 0);
>
> - oldsize = inode->i_size;
> - newsize = iattr->ia_size;
> + trace_xfs_setattr(ip);
> +
> + error = xfs_vn_change_ok(idmap, dentry, iattr);
> + if (error)
> + return error;
>
> /*
> * Short circuit the truncate case for zero length files.
> @@ -1128,23 +1129,6 @@ xfs_setattr_size(
> goto out_unlock;
> }
>
> -int
> -xfs_vn_setattr_size(
> - struct mnt_idmap *idmap,
> - struct dentry *dentry,
> - struct iattr *iattr)
> -{
> - struct xfs_inode *ip = XFS_I(d_inode(dentry));
> - int error;
> -
> - trace_xfs_setattr(ip);
> -
> - error = xfs_vn_change_ok(idmap, dentry, iattr);
> - if (error)
> - return error;
> - return xfs_setattr_size(idmap, dentry, ip, iattr);
> -}
> -
> STATIC int
> xfs_vn_setattr(
> struct mnt_idmap *idmap,
> --
> 2.47.3
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] xfs: remove a duplicate assert in xfs_setattr_size
2026-03-30 13:15 ` [PATCH 1/2] xfs: remove a duplicate assert in xfs_setattr_size Christoph Hellwig
2026-04-07 11:01 ` Carlos Maiolino
@ 2026-04-07 13:38 ` Carlos Maiolino
1 sibling, 0 replies; 6+ messages in thread
From: Carlos Maiolino @ 2026-04-07 13:38 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: linux-xfs
On Mon, 30 Mar 2026 15:15:59 +0200, Christoph Hellwig wrote:
> There already is an assert that checks for uid and gid changes besides a
> lot of others at the beginning of the function.
>
>
Applied to for-next, thanks!
[1/2] xfs: remove a duplicate assert in xfs_setattr_size
commit: 0f7d2a9e020812a787d7c6dfc98715f9c8f72f53
[2/2] xfs: fold xfs_setattr_size into xfs_vn_setattr_size
commit: e92b3fc5b17c75d3ca31983a7d35e8b88786ee4e
Best regards,
--
Carlos Maiolino <cem@kernel.org>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-04-07 13:38 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-30 13:15 small cleanups for ->setattr Christoph Hellwig
2026-03-30 13:15 ` [PATCH 1/2] xfs: remove a duplicate assert in xfs_setattr_size Christoph Hellwig
2026-04-07 11:01 ` Carlos Maiolino
2026-04-07 13:38 ` Carlos Maiolino
2026-03-30 13:16 ` [PATCH 2/2] xfs: fold xfs_setattr_size into xfs_vn_setattr_size Christoph Hellwig
2026-04-07 11:02 ` Carlos Maiolino
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox