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

Commit ac6614b7 authored by Al Viro's avatar Al Viro
Browse files

[readdir] constify ->actor



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 2233f31a
Loading
Loading
Loading
Loading
+6 −7
Original line number Diff line number Diff line
@@ -147,17 +147,16 @@ SYSCALL_DEFINE4(osf_getdirentries, unsigned int, fd,
{
	int error;
	struct fd arg = fdget(fd);
	struct osf_dirent_callback buf;
	struct osf_dirent_callback buf = {
		.ctx.actor = osf_filldir,
		.dirent = dirent,
		.basep = basep,
		.count = count
	};

	if (!arg.file)
		return -EBADF;

	buf.dirent = dirent;
	buf.basep = basep;
	buf.count = count;
	buf.error = 0;
	buf.ctx.actor = osf_filldir;

	error = iterate_dir(arg.file, &buf.ctx);
	if (error >= 0)
		error = buf.error;
+5 −7
Original line number Diff line number Diff line
@@ -111,19 +111,17 @@ int hpux_getdents(unsigned int fd, struct hpux_dirent __user *dirent, unsigned i
{
	struct fd arg;
	struct hpux_dirent __user * lastdirent;
	struct getdents_callback buf;
	struct getdents_callback buf = {
		.ctx.actor = filldir,
		.current_dir = dirent,
		.count = count
	};
	int error;

	arg = fdget(fd);
	if (!arg.file)
		return -EBADF;

	buf.current_dir = dirent;
	buf.previous = NULL;
	buf.count = count;
	buf.error = 0;
	buf.ctx.actor = filldir;

	error = iterate_dir(arg.file, &buf.ctx);
	if (error >= 0)
		error = buf.error;
+14 −19
Original line number Diff line number Diff line
@@ -874,15 +874,14 @@ asmlinkage long compat_sys_old_readdir(unsigned int fd,
{
	int error;
	struct fd f = fdget(fd);
	struct compat_readdir_callback buf;
	struct compat_readdir_callback buf = {
		.ctx.actor = compat_fillonedir,
		.dirent = dirent
	};

	if (!f.file)
		return -EBADF;

	buf.result = 0;
	buf.dirent = dirent;
	buf.ctx.actor = compat_fillonedir;

	error = iterate_dir(f.file, &buf.ctx);
	if (buf.result)
		error = buf.result;
@@ -954,7 +953,11 @@ asmlinkage long compat_sys_getdents(unsigned int fd,
{
	struct fd f;
	struct compat_linux_dirent __user * lastdirent;
	struct compat_getdents_callback buf;
	struct compat_getdents_callback buf = {
		.ctx.actor = compat_filldir,
		.current_dir = dirent,
		.count = count
	};
	int error;

	if (!access_ok(VERIFY_WRITE, dirent, count))
@@ -964,12 +967,6 @@ asmlinkage long compat_sys_getdents(unsigned int fd,
	if (!f.file)
		return -EBADF;

	buf.current_dir = dirent;
	buf.previous = NULL;
	buf.count = count;
	buf.error = 0;
	buf.ctx.actor = compat_filldir;

	error = iterate_dir(f.file, &buf.ctx);
	if (error >= 0)
		error = buf.error;
@@ -1041,7 +1038,11 @@ asmlinkage long compat_sys_getdents64(unsigned int fd,
{
	struct fd f;
	struct linux_dirent64 __user * lastdirent;
	struct compat_getdents_callback64 buf;
	struct compat_getdents_callback64 buf = {
		.ctx.actor = compat_filldir64,
		.current_dir = dirent,
		.count = count
	};
	int error;

	if (!access_ok(VERIFY_WRITE, dirent, count))
@@ -1051,12 +1052,6 @@ asmlinkage long compat_sys_getdents64(unsigned int fd,
	if (!f.file)
		return -EBADF;

	buf.current_dir = dirent;
	buf.previous = NULL;
	buf.count = count;
	buf.error = 0;
	buf.ctx.actor = compat_filldir64;

	error = iterate_dir(f.file, &buf.ctx);
	if (error >= 0)
		error = buf.error;
+5 −5
Original line number Diff line number Diff line
@@ -255,7 +255,11 @@ static int get_name(const struct path *path, char *name, struct dentry *child)
	struct inode *dir = path->dentry->d_inode;
	int error;
	struct file *file;
	struct getdents_callback buffer;
	struct getdents_callback buffer = {
		.ctx.actor = filldir_one,
		.name = name,
		.ino = child->d_inode->i_ino
	};

	error = -ENOTDIR;
	if (!dir || !S_ISDIR(dir->i_mode))
@@ -275,11 +279,7 @@ static int get_name(const struct path *path, char *name, struct dentry *child)
	if (!file->f_op->iterate)
		goto out_close;

	buffer.name = name;
	buffer.ino = child->d_inode->i_ino;
	buffer.found = 0;
	buffer.sequence = 0;
	buffer.ctx.actor = filldir_one;
	while (1) {
		int old_seq = buffer.sequence;

+4 −4
Original line number Diff line number Diff line
@@ -89,7 +89,10 @@ static int gfs2_get_name(struct dentry *parent, char *name,
	struct inode *dir = parent->d_inode;
	struct inode *inode = child->d_inode;
	struct gfs2_inode *dip, *ip;
	struct get_name_filldir gnfd;
	struct get_name_filldir gnfd = {
		.ctx.actor = get_name_filldir,
		.name = name
	};
	struct gfs2_holder gh;
	int error;
	struct file_ra_state f_ra = { .start = 0 };
@@ -106,9 +109,6 @@ static int gfs2_get_name(struct dentry *parent, char *name,
	*name = 0;
	gnfd.inum.no_addr = ip->i_no_addr;
	gnfd.inum.no_formal_ino = ip->i_no_formal_ino;
	gnfd.name = name;
	gnfd.ctx.actor = get_name_filldir;
	gnfd.ctx.pos = 0;

	error = gfs2_glock_nq_init(dip->i_gl, LM_ST_SHARED, 0, &gh);
	if (error)
Loading