[PATCH] rpdfs: Fedora 44 build fixes

Chris Kirby <[email protected]>
Newsgroups dev.linux.lists.rpdfs-devel
Message-ID <8123a10fd8cf30a7c732552e8c0ddec7532faaa8.1786632649.git.ckirby@versity.com>
Get rpdfs building on 7.1.8-200:

write_begin/write_end now take a struct kiocb pointer

is_dot_dotdot() became name_is_dot_dotdot()

printf format specifier fixes

inode state flags now require using accessor functions

kernel_connect() takes a struct sockaddr_unsized pointer instead of
a struct sockaddr pointer

Setting super_block dentry_operations is now done through set_default_d_op().

Signed-off-by: Chris Kirby <[email protected]>
---
 fs/rpdfs/aops.c    | 4 ++--
 fs/rpdfs/dir.c     | 6 +++---
 fs/rpdfs/inode.c   | 2 +-
 fs/rpdfs/net_tcp.c | 2 +-
 fs/rpdfs/super.c   | 2 +-
 5 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/fs/rpdfs/aops.c b/fs/rpdfs/aops.c
index 1728d8694b3b..08a6ecf4c77b 100644
--- a/fs/rpdfs/aops.c
+++ b/fs/rpdfs/aops.c
@@ -245,7 +245,7 @@ static int rpdfs_writepages(struct address_space *mapping, struct writeback_cont
 	return ret;
 }
 
-static int rpdfs_write_begin(struct file *file, struct address_space *mapping, loff_t pos,
+static int rpdfs_write_begin(const struct kiocb *iocb, struct address_space *mapping, loff_t pos,
 			     unsigned len, struct folio **foliop, void **fsdata)
 {
 	struct folio *folio;
@@ -268,7 +268,7 @@ static int rpdfs_write_begin(struct file *file, struct address_space *mapping, l
 	return ret;
 }
 
-static int rpdfs_write_end(struct file *file, struct address_space *mapping, loff_t pos,
+static int rpdfs_write_end(const struct kiocb *iocb, struct address_space *mapping, loff_t pos,
 			   unsigned len, unsigned copied, struct folio *folio, void *fsdata)
 {
 	struct inode *inode = folio_inode(folio);
diff --git a/fs/rpdfs/dir.c b/fs/rpdfs/dir.c
index 72f3626c47a5..dab183a07325 100644
--- a/fs/rpdfs/dir.c
+++ b/fs/rpdfs/dir.c
@@ -42,7 +42,7 @@ static u32 name_hash(const char *name, size_t name_len)
 {
 	u32 hash;
 
-	if (is_dot_dotdot(name, name_len)) {
+	if (name_is_dot_dotdot(name, name_len)) {
 		if (name_len == 1)
 			return RPDFS_DIRENT_DOT_HASH;
 		else
@@ -413,14 +413,14 @@ static int check_unlink(struct inode *dir, struct inode *inode, struct dentry *d
 	/* consistency/corruption checks */
 	if (S_ISDIR(inode->i_mode)) {
 		if (inode->i_nlink != 2) {
-			pr_warn("empty dir ino %lu has bad n_link %d",
+			pr_warn("empty dir ino %llu has bad n_link %d",
 				inode->i_ino, inode->i_nlink);
 			ret = -EUCLEAN;
 			goto out;
 		}
 	} else {
 		if (inode->i_nlink < 1) {
-			pr_warn("attempting to unlink ino %lu but n_link %d is already < 1",
+			pr_warn("attempting to unlink ino %llu but n_link %d is already < 1",
 				inode->i_ino, inode->i_nlink);
 			ret = -EUCLEAN;
 			goto out;
diff --git a/fs/rpdfs/inode.c b/fs/rpdfs/inode.c
index 17c0e367dca5..a3d766b8bffd 100644
--- a/fs/rpdfs/inode.c
+++ b/fs/rpdfs/inode.c
@@ -507,7 +507,7 @@ struct inode *rpdfs_iget(struct super_block *sb, struct rpdfs_inode_nr *ino)
 		goto out;
 	}
 
-	if (!(inode->i_state & I_NEW)) {
+	if (!(inode_state_read_once(inode) & I_NEW)) {
 		ret = 0;
 		goto out;
 	}
diff --git a/fs/rpdfs/net_tcp.c b/fs/rpdfs/net_tcp.c
index f052b3041b24..becbe1a0cfc8 100644
--- a/fs/rpdfs/net_tcp.c
+++ b/fs/rpdfs/net_tcp.c
@@ -380,7 +380,7 @@ static int rpdfs_net_tcp_connect(struct rpdfs_fs_info *rfi, void *info, void *pr
 	tcp_sock_set_nodelay(sock->sk);
 	set_callbacks(sock, tpriv);
 
-	ret = kernel_connect(sock, &addr->sa, sizeof(addr->_sin), O_NONBLOCK);
+	ret = kernel_connect(sock, (struct sockaddr_unsized *)&addr->sa, sizeof(addr->_sin), O_NONBLOCK);
 	if (ret == -EINPROGRESS)
 		ret = 0;
 out:
diff --git a/fs/rpdfs/super.c b/fs/rpdfs/super.c
index 2874c072c9dc..937c65974b2c 100644
--- a/fs/rpdfs/super.c
+++ b/fs/rpdfs/super.c
@@ -81,7 +81,7 @@ static int rpdfs_set_super(struct super_block *sb, struct fs_context *fc)
 	sb->s_maxbytes = MAX_LFS_FILESIZE;
 	sb->s_xattr = rpdfs_xattr_handlers;
 	sb->s_op = &rpdfs_sop;
-	sb->s_d_op = &rpdfs_dentry_ops;
+	set_default_d_op(sb, &rpdfs_dentry_ops);
 	sb->s_time_gran = 1;
 	sb->s_time_min = 0;
 	sb->s_time_max = U64_MAX / NSEC_PER_SEC;
-- 
2.55.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.