[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