EmbLogic's Blog

Character driver-sucessfully working for min 32 distinct user

The code is working fine for 32 distinct user acessing 2 nodes node0 and node1
ie, 32 user can acess this driver at a time without reporting a bug.
there are 2 operation that i perform for each application
1.write to scull
2.read from scull without closing fd in the same application

As the same application is acessing the driver by different user using node0 and node1
so in write operation the same memory segment is owerwrite by the different user and read viceversa
the starting address of the device is fixed
if we close the fd after write operation then again open the skull in RDONLY mode the old fd was lost and stream got closed and while reading it will read the last written text in the quantum of the skull.

rlog: RCS/write,v: No such file or directory
[root@rahul basic]# rlog ./write.c

RCS file: ./write.c,v
Working file: ./write.c
head: 1.105
branch:
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 105; selected revisions: 105
description:
this is the file for user write like operation
—————————-
revision 1.105
date: 2014/05/19 20:18:45; author: root; state: Exp; lines: +7 -0
printing llseek pointer value and update at th end
—————————-
revision 1.104
date: 2014/05/19 19:29:42; author: root; state: Exp; lines: +2 -2
*** empty log message ***
—————————-
revision 1.103
date: 2014/05/19 19:26:32; author: root; state: Exp; lines: +7 -7
quantum and qset different way of accessing
—————————-
revision 1.102
date: 2014/05/19 19:06:19; author: root; state: Exp; lines: +2 -2
*** empty log message ***
—————————-
revision 1.101
date: 2014/05/19 19:05:23; author: root; state: Exp; lines: +2 -5
*** empty log message ***
—————————-
revision 1.100
date: 2014/05/19 19:04:27; author: root; state: Exp; lines: +2 -2
*** empty log message ***
—————————-
revision 1.99
date: 2014/05/19 19:03:29; author: root; state: Exp; lines: +7 -0
printing quantum_size and qset_size
—————————-
revision 1.98
date: 2014/05/19 18:56:11; author: root; state: Exp; lines: +3 -0
*** empty log message ***
—————————-
revision 1.97
date: 2014/05/19 18:51:13; author: root; state: Exp; lines: +7 -11
*** empty log message ***
—————————-
revision 1.96
date: 2014/05/19 18:41:22; author: root; state: Exp; lines: +1 -0
*** empty log message ***
—————————-
revision 1.95
date: 2014/05/19 18:37:49; author: root; state: Exp; lines: +1 -1
*** empty log message ***
—————————-
revision 1.94
date: 2014/05/19 18:36:58; author: root; state: Exp; lines: +1 -1
*** empty log message ***
—————————-
revision 1.93
date: 2014/05/19 18:35:12; author: root; state: Exp; lines: +1 -1
*** empty log message ***
—————————-
revision 1.92
date: 2014/05/19 18:34:24; author: root; state: Exp; lines: +8 -6
*** empty log message ***
—————————-
revision 1.91
date: 2014/05/19 18:26:53; author: root; state: Exp; lines: +4 -4
*** empty log message ***
—————————-
revision 1.90
date: 2014/05/19 18:24:01; author: root; state: Exp; lines: +0 -1
*** empty log message ***
—————————-
revision 1.89
date: 2014/05/19 18:04:33; author: root; state: Exp; lines: +4 -3
reallocation qset_size to qset and quantum_size to quantum
—————————-
revision 1.88
date: 2014/05/19 05:45:58; author: root; state: Exp; lines: +2 -2
*** empty log message ***
—————————-
revision 1.87
date: 2014/05/19 05:36:01; author: root; state: Exp; lines: +2 -2
*** empty log message ***
—————————-
revision 1.86
date: 2014/05/19 05:33:44; author: root; state: Exp; lines: +2 -2
*** empty log message ***
—————————-
revision 1.85
date: 2014/05/19 05:31:13; author: root; state: Exp; lines: +1 -3
*** empty log message ***
—————————-
revision 1.84
date: 2014/05/19 05:30:02; author: root; state: Exp; lines: +0 -2
*** empty log message ***
—————————-
revision 1.83
date: 2014/05/19 04:19:02; author: root; state: Exp; lines: +1 -1
set location of label loop
—————————-
revision 1.82
date: 2014/05/18 19:57:16; author: root; state: Exp; lines: +1 -1
location of label loop changed
—————————-
revision 1.81
date: 2014/05/16 12:53:09; author: root; state: Exp; lines: +1 -1
successful working for multiple quantum,multiple QSETS and scullqsets
—————————-
revision 1.80
date: 2014/05/16 08:37:31; author: root; state: Exp; lines: +2 -2
*** empty log message ***
—————————-
revision 1.79
date: 2014/05/16 08:35:54; author: root; state: Exp; lines: +2 -2
testing
—————————-
revision 1.78
date: 2014/05/16 08:34:38; author: root; state: Exp; lines: +2 -2
*** empty log message ***
—————————-
revision 1.77
date: 2014/05/16 08:29:37; author: root; state: Exp; lines: +1 -1
*** empty log message ***
////////////////////////////////////////////////////////////////////////////////////////////////

RCS file: ./header.h,v
Working file: ./header.h
head: 1.65
branch:
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 65; selected revisions: 65
description:
this is the initial header file
—————————-
revision 1.65
date: 2014/05/19 20:18:21; author: root; state: Exp; lines: +1 -0
give prototype of llseek mapped to scullseek
—————————-
revision 1.64
date: 2014/05/19 19:27:36; author: root; state: Exp; lines: +2 -2
changing prototypes of allocate_quantum and allocate_qset
—————————-
revision 1.63
date: 2014/05/19 19:03:22; author: root; state: Exp; lines: +0 -2
*** empty log message ***
—————————-
revision 1.62
date: 2014/05/19 18:59:34; author: root; state: Exp; lines: +1 -1
*** empty log message ***
—————————-
revision 1.61
date: 2014/05/19 18:58:52; author: root; state: Exp; lines: +1 -1
*** empty log message ***
—————————-
revision 1.60
date: 2014/05/19 18:58:20; author: root; state: Exp; lines: +2 -2
*** empty log message ***
—————————-
revision 1.59
date: 2014/05/19 18:56:10; author: root; state: Exp; lines: +3 -3
*** empty log message ***
—————————-
revision 1.58
date: 2014/05/19 18:51:12; author: root; state: Exp; lines: +6 -0
*** empty log message ***
—————————-
revision 1.57
date: 2014/05/19 18:29:05; author: root; state: Exp; lines: +4 -4
*** empty log message ***
—————————-
revision 1.56
date: 2014/05/19 18:04:01; author: root; state: Exp; lines: +0 -15
delete macros QUANTUM_SIZE,QSET_SIZE,DEVICE_SIZE
—————————-
revision 1.55
date: 2014/05/13 09:04:02; author: root; state: Exp; lines: +1 -0
included header file for copy_from_user asm-generic/uaccess.h
—————————-
revision 1.54
date: 2014/05/12 10:34:53; author: root; state: Exp; lines: +1 -1
allocate_quantum(void)
—————————-
revision 1.53
date: 2014/05/12 10:25:01; author: root; state: Exp; lines: +1 -0
included allocate_quantum()
—————————-
revision 1.52
date: 2014/05/12 09:56:40; author: root; state: Exp; lines: +1 -0
included allocate skullqset
—————————-
revision 1.51
/////////////////////////////////////////////////////////////////////////////////////////////////////////RCS file: ./scullseek.c,v
Working file: ./scullseek.c
head: 1.1
branch:
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
this is the initial file for llseek system call
—————————-
revision 1.1
date: 2014/05/19 20:22:58; author: root; state: Exp;
Initial revision
////////////////////////////////////////////////////////////////////////////////////////////////////
RCS file: ./init.c,v
Working file: ./init.c
head: 1.68
branch:
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 68; selected revisions: 68
description:
this is the initial file contain initialize function
—————————-
revision 1.68
date: 2014/05/19 20:18:14; author: root; state: Exp; lines: +2 -1
*** empty log message ***
—————————-
revision 1.67
date: 2014/05/19 18:03:18; author: root; state: Exp; lines: +7 -5
module_param qset_size,quantum_size,device_size all set in the sculldev structure.
—————————-
revision 1.66
date: 2014/05/19 17:44:58; author: root; state: Exp; lines: +2 -1
using param for n variable
—————————-
revision 1.65
date: 2014/05/19 17:35:37; author: root; state: Exp; lines: +2 -2
module_param n
—————————-
revision 1.64
date: 2014/05/10 07:09:08; author: root; state: Exp; lines: +4 -4
*** empty log message ***
—————————-
revision 1.63
date: 2014/05/10 06:52:55; author: root; state: Exp; lines: +10 -0
allocate parameters of skulldev and assign values to them
—————————-
revision 1.62
date: 2014/05/09 09:31:15; author: root; state: Exp; lines: +1 -1
*** empty log message ***
—————————-
revision 1.61
date: 2014/05/09 09:28:39; author: root; state: Exp; lines: +2 -1
included read
—————————-
revision 1.60
date: 2014/05/08 07:36:24; author: root; state: Exp; lines: +1 -1
struct Sculldev *sculldev to struct ScullDev *sculldev
—————————-
revision 1.59
/////////////////////////////////////////////////////////////////////////////////////

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>