Linux: Create wrapper for setattr_prepare 48/14548/5
authorCheyenne Wills <cwills@sinenomine.net>
Mon, 8 Mar 2021 16:22:04 +0000 (09:22 -0700)
committerBenjamin Kaduk <kaduk@mit.edu>
Fri, 12 Mar 2021 11:48:49 +0000 (06:48 -0500)
Move call to setattr_prepare/inode_change_ok into an osi_compat.h
wrapper called 'afs_setattr_prepare'.  This moves some of the #if logic
out of the mainline code.

Change-Id: Ie17cf4c645d754c9e9efd8a603f1bc752d07cf36
Reviewed-on: https://gerrit.openafs.org/14548
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

src/afs/LINUX/osi_compat.h
src/afs/LINUX/osi_file.c

index a1e7f21..3ac4d79 100644 (file)
@@ -748,4 +748,14 @@ afs_d_path(struct dentry *dp, struct vfsmount *mnt, char *buf, int buflen)
 #endif
 }
 
+static inline int
+afs_setattr_prepare(struct dentry *dp, struct iattr *newattrs)
+{
+#if defined(HAVE_LINUX_SETATTR_PREPARE)
+    return setattr_prepare(dp, newattrs);
+#else
+    return inode_change_ok(dp->d_inode, newattrs);
+#endif
+}
+
 #endif /* AFS_LINUX_OSI_COMPAT_H */
index 42d49ef..b8bdce7 100644 (file)
@@ -236,11 +236,7 @@ osi_UFSTruncate(struct osi_file *afile, afs_int32 asize)
     AFS_CURRENT_TIME(&newattrs.ia_ctime);
 
     /* avoid notify_change() since it wants to update dentry->d_parent */
-#ifdef HAVE_LINUX_SETATTR_PREPARE
-    code = setattr_prepare(file_dentry(afile->filp), &newattrs);
-#else
-    code = inode_change_ok(inode, &newattrs);
-#endif
+    code = afs_setattr_prepare(file_dentry(afile->filp), &newattrs);
     if (!code)
        code = afs_inode_setattr(afile, &newattrs);
     if (!code)