Skip to content

Commit

Permalink
sysctl: remove broken cdrom binary sysctls
Browse files Browse the repository at this point in the history
The binary interface for the cdrom sysctls can't possilby work.  So remove the
binary sysctls and update the test for finding out which sysctl table entry we
are dealy with to use the procname and not the ctl_name (which I am removing).

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Cc: Alexey Dobriyan <adobriyan@sw.ru>
Cc: Jens Axboe <jens.axboe@oracle.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Eric W. Biederman authored and Linus Torvalds committed Oct 18, 2007
1 parent 282a821 commit 06489b4
Showing 1 changed file with 6 additions and 40 deletions.
46 changes: 6 additions & 40 deletions drivers/cdrom/cdrom.c
Original file line number Diff line number Diff line change
Expand Up @@ -3458,47 +3458,19 @@ static void cdrom_update_settings(void)
static int cdrom_sysctl_handler(ctl_table *ctl, int write, struct file * filp,
void __user *buffer, size_t *lenp, loff_t *ppos)
{
int *valp = ctl->data;
int val = *valp;
int ret;

ret = proc_dointvec(ctl, write, filp, buffer, lenp, ppos);

if (write && *valp != val) {
if (write) {

/* we only care for 1 or 0. */
if (*valp)
*valp = 1;
else
*valp = 0;
autoclose = !!cdrom_sysctl_settings.autoclose;
autoeject = !!cdrom_sysctl_settings.autoeject;
debug = !!cdrom_sysctl_settings.debug;
lockdoor = !!cdrom_sysctl_settings.lock;
check_media_type = !!cdrom_sysctl_settings.check;

switch (ctl->ctl_name) {
case DEV_CDROM_AUTOCLOSE: {
if (valp == &cdrom_sysctl_settings.autoclose)
autoclose = cdrom_sysctl_settings.autoclose;
break;
}
case DEV_CDROM_AUTOEJECT: {
if (valp == &cdrom_sysctl_settings.autoeject)
autoeject = cdrom_sysctl_settings.autoeject;
break;
}
case DEV_CDROM_DEBUG: {
if (valp == &cdrom_sysctl_settings.debug)
debug = cdrom_sysctl_settings.debug;
break;
}
case DEV_CDROM_LOCK: {
if (valp == &cdrom_sysctl_settings.lock)
lockdoor = cdrom_sysctl_settings.lock;
break;
}
case DEV_CDROM_CHECK_MEDIA: {
if (valp == &cdrom_sysctl_settings.check)
check_media_type = cdrom_sysctl_settings.check;
break;
}
}
/* update the option flags according to the changes. we
don't have per device options through sysctl yet,
but we will have and then this will disappear. */
Expand All @@ -3511,47 +3483,41 @@ static int cdrom_sysctl_handler(ctl_table *ctl, int write, struct file * filp,
/* Place files in /proc/sys/dev/cdrom */
static ctl_table cdrom_table[] = {
{
.ctl_name = DEV_CDROM_INFO,
.procname = "info",
.data = &cdrom_sysctl_settings.info,
.maxlen = CDROM_STR_SIZE,
.mode = 0444,
.proc_handler = &cdrom_sysctl_info,
},
{
.ctl_name = DEV_CDROM_AUTOCLOSE,
.procname = "autoclose",
.data = &cdrom_sysctl_settings.autoclose,
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = &cdrom_sysctl_handler,
},
{
.ctl_name = DEV_CDROM_AUTOEJECT,
.procname = "autoeject",
.data = &cdrom_sysctl_settings.autoeject,
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = &cdrom_sysctl_handler,
},
{
.ctl_name = DEV_CDROM_DEBUG,
.procname = "debug",
.data = &cdrom_sysctl_settings.debug,
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = &cdrom_sysctl_handler,
},
{
.ctl_name = DEV_CDROM_LOCK,
.procname = "lock",
.data = &cdrom_sysctl_settings.lock,
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = &cdrom_sysctl_handler,
},
{
.ctl_name = DEV_CDROM_CHECK_MEDIA,
.procname = "check_media",
.data = &cdrom_sysctl_settings.check,
.maxlen = sizeof(int),
Expand Down

0 comments on commit 06489b4

Please sign in to comment.