int count, int *eof, void *data)
{
struct list_head *tmp;
- struct list_head *tmp1;
- struct mid_q_entry * mid_entry;
struct cifsSesInfo *ses;
struct cifsTconInfo *tcon;
int i;
int length = 0;
- char * original_buf = buf;
+ char *buf_start = buf;
- *beginBuffer = buf + offset;
-
-
length =
sprintf(buf,
"Display Internal CIFS Data Structures for Debugging\n"
ses->server->secMode,
atomic_read(&ses->server->inFlight));
- length = sprintf(buf, "\nMIDs: \n");
+ /* length = sprintf(buf, "\nMIDs: \n");
buf += length;
spin_lock(&GlobalMid_Lock);
mid_q_entry,
qhead);
if(mid_entry) {
- length = sprintf(buf,"State: %d com: %d pid: %d tsk: %p mid %d\n",mid_entry->midState,mid_entry->command,mid_entry->pid,mid_entry->tsk,mid_entry->mid);
+ length = sprintf(buf,"State: %d com: %d pid: %d tsk: %p\n",mid_entry->midState,mid_entry->command,mid_entry->pid,mid_entry->tsk);
buf += length;
}
}
- spin_unlock(&GlobalMid_Lock);
+ spin_unlock(&GlobalMid_Lock); */
}
}
length = sprintf(buf, "\n");
buf += length;
+ *eof = 1;
/* BB add code to dump additional info such as TCP session info now */
- /* Now calculate total size of returned data */
- length = buf - original_buf;
+ /*
+ if (offset >= (buf - buf_start))
+ {
+ *beginBuffer = buf;
+ return 0;
+ }
+ *beginBuffer = buf + offset;
+ if ((buf - buf_start - offset) > count)
+ return count;
+ else */
+ return (buf - buf_start - offset);
+}
- if(offset + count >= length)
- *eof = 1;
- if(length < offset) {
- *eof = 1;
- return 0;
- } else {
- length = length - offset;
- }
- if (length > count)
- length = count;
+int
+cifs_total_xid_read(char *buf, char **beginBuffer, off_t offset,
+ int length, int *eof, void *data)
+{
+
+ length =
+ sprintf(buf,
+ "Total vfs operations: %d and maximum simultaneous serviced by this filesystem: %d\n",
+ GlobalCurrentXid,GlobalMaxActiveXid);
return length;
}
#ifdef CONFIG_CIFS_STATS
int
cifs_stats_read(char *buf, char **beginBuffer, off_t offset,
- int count, int *eof, void *data)
+ int length, int *eof, void *data)
{
- int item_length,i,length;
+ int item_length,i;
struct list_head *tmp;
struct cifsTconInfo *tcon;
- *beginBuffer = buf + offset;
-
length = sprintf(buf,
"Resources in use\nCIFS Session: %d\n",
sesInfoAllocCount.counter);
length += item_length;
buf += item_length;
- item_length = sprintf(buf,
- "Total vfs operations: %d maximum at one time: %d\n",
- GlobalCurrentXid,GlobalMaxActiveXid);
- length += item_length;
- buf += item_length;
-
i = 0;
read_lock(&GlobalSMBSeslock);
list_for_each(tmp, &GlobalTreeConnectionList) {
atomic_read(&tcon->num_reads),
(long long)(tcon->bytes_read));
buf += item_length;
- length += item_length;
item_length = sprintf(buf,"\nWrites: %d Bytes: %lld",
atomic_read(&tcon->num_writes),
(long long)(tcon->bytes_written));
buf += item_length;
- length += item_length;
item_length = sprintf(buf,
"\nOpens: %d Deletes: %d\nMkdirs: %d Rmdirs: %d",
atomic_read(&tcon->num_opens),
atomic_read(&tcon->num_rmdirs));
buf += item_length;
length += item_length;
- item_length = sprintf(buf,
- "\nRenames: %d T2 Renames %d",
- atomic_read(&tcon->num_renames),
- atomic_read(&tcon->num_t2renames));
- buf += item_length;
- length += item_length;
}
read_unlock(&GlobalSMBSeslock);
- buf += sprintf(buf,"\n");
- length++;
- if(offset + count >= length)
- *eof = 1;
- if(length < offset) {
- *eof = 1;
- return 0;
- } else {
- length = length - offset;
- }
- if (length > count)
- length = count;
-
return length;
}
#endif
proc_fs_cifs->owner = THIS_MODULE;
create_proc_read_entry("DebugData", 0, proc_fs_cifs,
- cifs_debug_data_read, NULL);
+ cifs_debug_data_read, 0);
+ create_proc_read_entry("SimultaneousOps", 0, proc_fs_cifs,
+ cifs_total_xid_read, 0);
#ifdef CONFIG_CIFS_STATS
create_proc_read_entry("Stats", 0, proc_fs_cifs,
- cifs_stats_read, NULL);
+ cifs_stats_read, 0);
#endif
pde = create_proc_read_entry("cifsFYI", 0, proc_fs_cifs,
- cifsFYI_read, NULL);
+ cifsFYI_read, 0);
if (pde)
pde->write_proc = cifsFYI_write;
pde =
create_proc_read_entry("traceSMB", 0, proc_fs_cifs,
- traceSMB_read, NULL);
+ traceSMB_read, 0);
if (pde)
pde->write_proc = traceSMB_write;
pde = create_proc_read_entry("OplockEnabled", 0, proc_fs_cifs,
- oplockEnabled_read, NULL);
+ oplockEnabled_read, 0);
if (pde)
pde->write_proc = oplockEnabled_write;
pde = create_proc_read_entry("QuotaEnabled", 0, proc_fs_cifs,
- quotaEnabled_read, NULL);
+ quotaEnabled_read, 0);
if (pde)
pde->write_proc = quotaEnabled_write;
pde = create_proc_read_entry("LinuxExtensionsEnabled", 0, proc_fs_cifs,
- linuxExtensionsEnabled_read, NULL);
+ linuxExtensionsEnabled_read, 0);
if (pde)
pde->write_proc = linuxExtensionsEnabled_write;
pde =
create_proc_read_entry("MultiuserMount", 0, proc_fs_cifs,
- multiuser_mount_read, NULL);
+ multiuser_mount_read, 0);
if (pde)
pde->write_proc = multiuser_mount_write;
pde =
create_proc_read_entry("ExtendedSecurity", 0, proc_fs_cifs,
- extended_security_read, NULL);
+ extended_security_read, 0);
if (pde)
pde->write_proc = extended_security_write;
pde =
create_proc_read_entry("LookupCacheEnabled", 0, proc_fs_cifs,
- lookupFlag_read, NULL);
+ lookupFlag_read, 0);
if (pde)
pde->write_proc = lookupFlag_write;
pde =
create_proc_read_entry("NTLMV2Enabled", 0, proc_fs_cifs,
- ntlmv2_enabled_read, NULL);
+ ntlmv2_enabled_read, 0);
if (pde)
pde->write_proc = ntlmv2_enabled_write;
pde =
create_proc_read_entry("PacketSigningEnabled", 0, proc_fs_cifs,
- packet_signing_enabled_read, NULL);
+ packet_signing_enabled_read, 0);
if (pde)
pde->write_proc = packet_signing_enabled_write;
}
remove_proc_entry("DebugData", proc_fs_cifs);
remove_proc_entry("cifsFYI", proc_fs_cifs);
remove_proc_entry("traceSMB", proc_fs_cifs);
+ remove_proc_entry("SimultaneousOps", proc_fs_cifs);
#ifdef CONFIG_CIFS_STATS
remove_proc_entry("Stats", proc_fs_cifs);
#endif