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

Commit bb979d7f authored by Ian Kent's avatar Ian Kent Committed by Linus Torvalds
Browse files

autofs4: cleanup autofs mount type usage



Usage of the AUTOFS_TYPE_* defines is a little confusing and appears
inconsistent.

Signed-off-by: default avatarIan Kent <raven@themaw.net>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 624ae528
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -21,6 +21,8 @@
#define AUTOFS_IOC_FIRST     AUTOFS_IOC_READY
#define AUTOFS_IOC_COUNT     32

#define AUTOFS_TYPE_TRIGGER	(AUTOFS_TYPE_DIRECT|AUTOFS_TYPE_OFFSET)

#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/time.h>
@@ -92,10 +94,6 @@ struct autofs_wait_queue {

#define AUTOFS_SBI_MAGIC 0x6d4a556d

#define AUTOFS_TYPE_INDIRECT     0x0001
#define AUTOFS_TYPE_DIRECT       0x0002
#define AUTOFS_TYPE_OFFSET       0x0004

struct autofs_sb_info {
	u32 magic;
	int pipefd;
+1 −1
Original line number Diff line number Diff line
@@ -479,7 +479,7 @@ int autofs4_expire_multi(struct super_block *sb, struct vfsmount *mnt,
	if (arg && get_user(do_now, arg))
		return -EFAULT;

	if (sbi->type & AUTOFS_TYPE_DIRECT)
	if (sbi->type & AUTOFS_TYPE_TRIGGER)
		dentry = autofs4_expire_direct(sb, mnt, sbi, do_now);
	else
		dentry = autofs4_expire_indirect(sb, mnt, sbi, do_now);
+3 −3
Original line number Diff line number Diff line
@@ -288,7 +288,7 @@ static int parse_options(char *options, int *pipefd, uid_t *uid, gid_t *gid,
			*type = AUTOFS_TYPE_DIRECT;
			break;
		case Opt_offset:
			*type = AUTOFS_TYPE_DIRECT | AUTOFS_TYPE_OFFSET;
			*type = AUTOFS_TYPE_OFFSET;
			break;
		default:
			return 1;
@@ -336,7 +336,7 @@ int autofs4_fill_super(struct super_block *s, void *data, int silent)
	sbi->sb = s;
	sbi->version = 0;
	sbi->sub_version = 0;
	sbi->type = 0;
	sbi->type = AUTOFS_TYPE_INDIRECT;
	sbi->min_proto = 0;
	sbi->max_proto = 0;
	mutex_init(&sbi->wq_mutex);
@@ -378,7 +378,7 @@ int autofs4_fill_super(struct super_block *s, void *data, int silent)
	}

	root_inode->i_fop = &autofs4_root_operations;
	root_inode->i_op = sbi->type & AUTOFS_TYPE_DIRECT ?
	root_inode->i_op = sbi->type & AUTOFS_TYPE_TRIGGER ?
			&autofs4_direct_root_inode_operations :
			&autofs4_indirect_root_inode_operations;

+4 −4
Original line number Diff line number Diff line
@@ -337,7 +337,7 @@ int autofs4_wait(struct autofs_sb_info *sbi, struct dentry *dentry,
		 * is very similar for indirect mounts except only dentrys
		 * in the root of the autofs file system may be negative.
		 */
		if (sbi->type & (AUTOFS_TYPE_DIRECT|AUTOFS_TYPE_OFFSET))
		if (sbi->type & AUTOFS_TYPE_TRIGGER)
			return -ENOENT;
		else if (!IS_ROOT(dentry->d_parent))
			return -ENOENT;
@@ -348,7 +348,7 @@ int autofs4_wait(struct autofs_sb_info *sbi, struct dentry *dentry,
		return -ENOMEM;

	/* If this is a direct mount request create a dummy name */
	if (IS_ROOT(dentry) && (sbi->type & AUTOFS_TYPE_DIRECT))
	if (IS_ROOT(dentry) && sbi->type & AUTOFS_TYPE_TRIGGER)
		qstr.len = sprintf(name, "%p", dentry);
	else {
		qstr.len = autofs4_getpath(sbi, dentry, &name);
@@ -406,11 +406,11 @@ int autofs4_wait(struct autofs_sb_info *sbi, struct dentry *dentry,
				type = autofs_ptype_expire_multi;
		} else {
			if (notify == NFY_MOUNT)
				type = (sbi->type & AUTOFS_TYPE_DIRECT) ?
				type = (sbi->type & AUTOFS_TYPE_TRIGGER) ?
					autofs_ptype_missing_direct :
					 autofs_ptype_missing_indirect;
			else
				type = (sbi->type & AUTOFS_TYPE_DIRECT) ?
				type = (sbi->type & AUTOFS_TYPE_TRIGGER) ?
					autofs_ptype_expire_direct :
					autofs_ptype_expire_indirect;
		}
+5 −0
Original line number Diff line number Diff line
@@ -29,6 +29,11 @@
#define AUTOFS_EXP_IMMEDIATE		1
#define AUTOFS_EXP_LEAVES		2

#define AUTOFS_TYPE_ANY			0x0000
#define AUTOFS_TYPE_INDIRECT		0x0001
#define AUTOFS_TYPE_DIRECT		0x0002
#define AUTOFS_TYPE_OFFSET		0x0004

/* Daemon notification packet types */
enum autofs_notify {
	NFY_NONE,