(file) Return to README CVS log (file) Jump to this file's LXR Page (dir) Up to [CENS] / misc / emlog

Diff for /misc/emlog/README between version 1.11 and 1.12

version 1.11, 2000/07/19 00:25:56 version 1.12, 2001/03/01 09:43:16
Line 27 
Line 27 
 see new text as it's written, similar to monitoring a log file using see new text as it's written, similar to monitoring a log file using
 "tail -f". "tail -f".
  
   Version 0.30 of emlog (released March 1, 2001) should work under just
   about any Linux kernel in the 2.x serie, including 2.4.
   
 emlog is free software, distributed under the GNU General Public emlog is free software, distributed under the GNU General Public
 License (GPL); see the file COPYING for details. License (GPL); see the file COPYING for details.
  
Line 83 
Line 86 
            as it is written to the device by other processes.]            as it is written to the device by other processes.]
    ^C     [use control-c, for example, to stop reading.]    ^C     [use control-c, for example, to stop reading.]
  
      Note that the first process to consume data from an emlog buffer
      will remove that text from the buffer.  This differs from, say,
      the behavior of the 'dmesg' buffer, which may be read many times
      until it scrolls off.
  
 4: Remove emlog when you're done 4: Remove emlog when you're done
  
Line 108 
Line 115 
 reading the data out of them.  All buffers will be freed when the reading the data out of them.  All buffers will be freed when the
 emlog kernel module is removed. emlog kernel module is removed.
  
   Non-blocking reads work; i.e., setting O_NONBLOCK using ioctl() will
   cause an EAGAIN to be returned if there is no data ready.  In
   addition, the select() and poll() functions will work correctly on
   emlog devices.
   
   
   Emlog and devfs
   ===============
   
   I love devfs and use it extensively, but I don't think it makes much
   sense to use emlog with devfs.  emlog lets you create as many log
   devices as you like, anywhere on the filesystem -- the module tells
   them apart based on their inode number.  Having a single log device
   always exist in a single place (/dev) is much less useful.  So, I have
   intentionally continued using the old register_chrdev interface
   instead of using the new devfs_register_chrdev interface.
   
  
 Troubleshooting Troubleshooting
 =============== ===============
Line 118 
Line 142 
 A: If you've recently installed new kernel sources, make sure that A: If you've recently installed new kernel sources, make sure that
 you've run "make config" or "make menuconfig" in /usr/src/linux.  You you've run "make config" or "make menuconfig" in /usr/src/linux.  You
 don't actually have to go through the entire configuration; just make don't actually have to go through the entire configuration; just make
 sure that the symbolic link to your architecture-specific header files  sure that you have a /usr/include/asm and a /usr/include/linux that
 is created.  are symbolic links into your kernel source tree.
  
  
 Q:  When I try to insert the module using 'insmod', I get 'I/O error'. Q:  When I try to insert the module using 'insmod', I get 'I/O error'.
Line 151 
Line 175 
 A:  The *minor* number of the emlog device file must be a number A:  The *minor* number of the emlog device file must be a number
 between 1 and 128, representing the number of kilobytes (1,024 bytes) between 1 and 128, representing the number of kilobytes (1,024 bytes)
 that should be used for emlog's ring buffer.  Make sure you're that should be used for emlog's ring buffer.  Make sure you're
 specifying a valid minor number in your 'mknod' statement.  specifying a valid minor number in your 'mknod' statement.  Don't use
   0.
  
  
 Q: I see "no memory" errors when I try opening new emlog files. Q: I see "no memory" errors when I try opening new emlog files.
Line 168 
Line 193 
 by which processes. by which processes.
  
  
   Q:  When more than one process tries to read data from an emlog device,
   only one gets it.
   
   A:  Yep, that's how it's supposed to work -- it differs from dmesg.
   Unlike dmesg, emlog lets you block waiting for more input (like tail
   -f).  This was easier to implement by having buffers be consumed the
   first time they were read.
   
   
 Q: You've made my computer crash. Q: You've made my computer crash.
  
 A: Sorry.  If you can reproduce the problem I'll try to fix it. A: Sorry.  If you can reproduce the problem I'll try to fix it.
Line 181 
Line 215 
 filesystems happen to have the same inode number, they will share the filesystems happen to have the same inode number, they will share the
 same buffer, as if they were the same device file. same buffer, as if they were the same device file.
  
 Currently, the poll() function for emlog files is unimplemented.  
 Therefore, using the select() function with an emlog file will not  
 work.  (However, non-blocking reads DO work, e.g. by setting  
 O_NONBLOCK using ioctl()).  
   
 Bug reports, patches, complaints, praise, and submissions of Central Bug reports, patches, complaints, praise, and submissions of Central
 Services Form 27B/6, are welcomed by the author (Jeremy Elson, Services Form 27B/6, are welcomed by the author (Jeremy Elson,
 <jelson@circlemud.org>. <jelson@circlemud.org>.
  
  
   Version History
   ===============
   
   Version 0.30 (March 1, 2000)
    - Now compiles correctly for 2.4 series kernels.
    - select() and poll() now work correctly on emlog devices.
    - Bug fix: all instances should not share one wait queue!
   
   Version 0.20 (June 14, 2000)
    - Initial public release.
   
   
 Who wrote emlog, and why? Who wrote emlog, and why?
 ========================= =========================
  


Legend:
Removed from v.1.11  
changed lines
  Added in v.1.12

CENS CVS Mailing List
Powered by
ViewCVS 0.9.2