[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dazuko-devel] Patch 3/5
From: |
Lino Sanfilippo |
Subject: |
[Dazuko-devel] Patch 3/5 |
Date: |
Thu, 08 Jul 2010 18:40:29 +0200 |
User-agent: |
Icedove 1.5.0.14eol (X11/20090105) |
This one disables seeking on the dazukofs devices, so one has not longer to
seek around after reading/writing on a dazukofs device.
Geschäftsführender Gesellschafter: Tjark Auerbach
Sitz der Gesellschaft: Tettnang
Handelsregister: Amtsgericht Ulm, HRB 630992
ALLGEMEINE GESCHÄFTSBEDINGUNGEN
Es gelten unsere Allgemeinen Geschäftsbedingungen
(AGB). Sie finden sie in der jeweils gültigen Fassung
im Internet unter http://www.avira.de/agb
***************************************************
diff -Nurp dazukofs-3.1.3-patch2/ctrl_dev.c dazukofs-3.1.3-patch3/ctrl_dev.c
--- dazukofs-3.1.3-patch2/ctrl_dev.c 2010-07-06 17:16:25.000000000 +0200
+++ dazukofs-3.1.3-patch3/ctrl_dev.c 2010-07-08 15:21:17.000000000 +0200
@@ -29,6 +29,11 @@
static int dazukofs_ctrl_open(struct inode *inode, struct file *file)
{
+ int rv;
+
+ rv = nonseekable_open(inode, file);
+ if (rv)
+ return rv;
file->private_data = NULL;
return 0;
}
@@ -62,16 +67,12 @@ static ssize_t dazukofs_ctrl_read(struct
}
buflen = strlen(buf);
- if (*pos >= buflen)
- return 0;
-
- if (length > buflen - *pos)
- length = buflen - *pos;
+ if (length > buflen)
+ length = buflen;
- if (copy_to_user(buffer, buf + *pos, length))
+ if (copy_to_user(buffer, buf, length))
return -EFAULT;
- *pos += length;
return length;
}
@@ -152,7 +153,6 @@ static ssize_t dazukofs_ctrl_write(struc
}
if (ret >= 0) {
- *pos += length;
ret = length;
}
@@ -167,6 +167,7 @@ static const struct file_operations ctrl
.release = dazukofs_ctrl_release,
.read = dazukofs_ctrl_read,
.write = dazukofs_ctrl_write,
+ .llseek = no_llseek,
};
int dazukofs_ctrl_dev_init(int dev_major, int dev_minor,
diff -Nurp dazukofs-3.1.3-patch2/group_dev.c dazukofs-3.1.3-patch3/group_dev.c
--- dazukofs-3.1.3-patch2/group_dev.c 2010-07-06 17:20:55.000000000 +0200
+++ dazukofs-3.1.3-patch3/group_dev.c 2010-07-06 17:40:52.000000000 +0200
@@ -30,6 +30,13 @@
static int dazukofs_group_open(int group_id, struct inode *inode,
struct file *file)
{
+ int rv;
+
+ rv = nonseekable_open(inode, file);
+
+ if (rv) {
+ return rv;
+ }
if (dazukofs_group_open_tracking(group_id))
file->private_data = file;
else
@@ -57,8 +64,6 @@ static ssize_t dazukofs_group_read(int g
int err;
unsigned long event_id;
- if (*pos > 0)
- return 0;
if (length < DAZUKOFS_MIN_READ_BUFFER)
return -EINVAL;
@@ -79,8 +84,6 @@ static ssize_t dazukofs_group_read(int g
if (copy_to_user(buffer, tmp, tmp_used))
return -EFAULT;
- *pos = tmp_used;
-
return tmp_used;
}
@@ -120,10 +123,8 @@ static ssize_t dazukofs_group_write(int
response = (*(p + 2)) - '0';
ret = dazukofs_return_event(group_id, event_id, response);
- if (ret == 0) {
- *pos += length;
+ if (ret == 0)
ret = length;
- }
return ret;
}
@@ -158,6 +159,7 @@ static const struct file_operations grou
.release = dazukofs_group_release_##group_id, \
.read = dazukofs_group_read_##group_id, \
.write = dazukofs_group_write_##group_id, \
+ .llseek = no_llseek, \
};
DECLARE_GROUP_FOPS(0)
diff -Nurp dazukofs-3.1.3-patch2/ign_dev.c dazukofs-3.1.3-patch3/ign_dev.c
--- dazukofs-3.1.3-patch2/ign_dev.c 2010-07-06 17:16:25.000000000 +0200
+++ dazukofs-3.1.3-patch3/ign_dev.c 2010-07-08 15:24:18.000000000 +0200
@@ -108,6 +108,10 @@ static void dazukofs_remove_ign(struct f
static int dazukofs_ign_open(struct inode *inode, struct file *file)
{
+ int rv;
+ rv = nonseekable_open(inode, file);
+ if (rv)
+ return rv;
return dazukofs_add_ign(file);
}
@@ -136,6 +140,7 @@ static const struct file_operations ign_
.owner = THIS_MODULE,
.open = dazukofs_ign_open,
.release = dazukofs_ign_release,
+ .llseek = no_llseek,
};
int dazukofs_ign_dev_init(int dev_major, int dev_minor,
diff -Nurp dazukofs-3.1.3-patch2/test/lib/dazukofs.c
dazukofs-3.1.3-patch3/test/lib/dazukofs.c
--- dazukofs-3.1.3-patch2/test/lib/dazukofs.c 2010-07-06 17:16:25.000000000
+0200
+++ dazukofs-3.1.3-patch3/test/lib/dazukofs.c 2010-07-06 17:41:44.000000000
+0200
@@ -82,8 +82,6 @@ dazukofs_handle_t dazukofs_open(const ch
if (write(fd, buf, strlen(buf)) == -1)
goto error_out_close;
-
- lseek(fd, 0, SEEK_SET);
}
memset(buf, 0, sizeof(buf));
@@ -216,7 +214,6 @@ int dazukofs_return_access(dazukofs_hand
if (write(hndl->dev_fd, buf, strlen(buf)) == -1)
goto out;
- lseek(hndl->dev_fd, 0, SEEK_SET);
err = 0;
out:
return err;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dazuko-devel] Patch 3/5,
Lino Sanfilippo <=