Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2233f31a authored by Al Viro's avatar Al Viro
Browse files

[readdir] ->readdir() is gone



everything's converted to ->iterate()

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 2de5f059
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -414,7 +414,7 @@ prototypes:
	ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *);
	ssize_t (*aio_read) (struct kiocb *, const struct iovec *, unsigned long, loff_t);
	ssize_t (*aio_write) (struct kiocb *, const struct iovec *, unsigned long, loff_t);
	int (*readdir) (struct file *, void *, filldir_t);
	int (*iterate) (struct file *, struct dir_context *);
	unsigned int (*poll) (struct file *, struct poll_table_struct *);
	long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);
	long (*compat_ioctl) (struct file *, unsigned int, unsigned long);
+3 −0
Original line number Diff line number Diff line
@@ -448,3 +448,6 @@ in your dentry operations instead.
--
[mandatory]
	vfs_readdir() is gone; switch to iterate_dir() instead
--
[mandatory]
	->readdir() is gone now; switch to ->iterate()
+2 −2
Original line number Diff line number Diff line
@@ -777,7 +777,7 @@ struct file_operations {
	ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *);
	ssize_t (*aio_read) (struct kiocb *, const struct iovec *, unsigned long, loff_t);
	ssize_t (*aio_write) (struct kiocb *, const struct iovec *, unsigned long, loff_t);
	int (*readdir) (struct file *, void *, filldir_t);
	int (*iterate) (struct file *, struct dir_context *);
	unsigned int (*poll) (struct file *, struct poll_table_struct *);
	long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);
	long (*compat_ioctl) (struct file *, unsigned int, unsigned long);
@@ -815,7 +815,7 @@ otherwise noted.

  aio_write: called by io_submit(2) and other asynchronous I/O operations

  readdir: called when the VFS needs to read the directory contents
  iterate: called when the VFS needs to read the directory contents

  poll: called by the VFS when a process wants to check if there is
	activity on this file and (optionally) go to sleep until there
+2 −2
Original line number Diff line number Diff line
@@ -45,7 +45,7 @@ static ssize_t bad_file_aio_write(struct kiocb *iocb, const struct iovec *iov,
	return -EIO;
}

static int bad_file_readdir(struct file *filp, void *dirent, filldir_t filldir)
static int bad_file_readdir(struct file *file, struct dir_context *ctx)
{
	return -EIO;
}
@@ -152,7 +152,7 @@ static const struct file_operations bad_file_ops =
	.write		= bad_file_write,
	.aio_read	= bad_file_aio_read,
	.aio_write	= bad_file_aio_write,
	.readdir	= bad_file_readdir,
	.iterate	= bad_file_readdir,
	.poll		= bad_file_poll,
	.unlocked_ioctl	= bad_file_unlocked_ioctl,
	.compat_ioctl	= bad_file_compat_ioctl,
+1 −1
Original line number Diff line number Diff line
@@ -272,7 +272,7 @@ static int get_name(const struct path *path, char *name, struct dentry *child)
		goto out;

	error = -EINVAL;
	if (!file->f_op->readdir && !file->f_op->iterate)
	if (!file->f_op->iterate)
		goto out_close;

	buffer.name = name;
Loading