1. 01 10月, 2006 2 次提交
    • D
      [PATCH] BLOCK: Make it possible to disable the block layer [try #6] · 9361401e
      David Howells 提交于
      Make it possible to disable the block layer.  Not all embedded devices require
      it, some can make do with just JFFS2, NFS, ramfs, etc - none of which require
      the block layer to be present.
      
      This patch does the following:
      
       (*) Introduces CONFIG_BLOCK to disable the block layer, buffering and blockdev
           support.
      
       (*) Adds dependencies on CONFIG_BLOCK to any configuration item that controls
           an item that uses the block layer.  This includes:
      
           (*) Block I/O tracing.
      
           (*) Disk partition code.
      
           (*) All filesystems that are block based, eg: Ext3, ReiserFS, ISOFS.
      
           (*) The SCSI layer.  As far as I can tell, even SCSI chardevs use the
           	 block layer to do scheduling.  Some drivers that use SCSI facilities -
           	 such as USB storage - end up disabled indirectly from this.
      
           (*) Various block-based device drivers, such as IDE and the old CDROM
           	 drivers.
      
           (*) MTD blockdev handling and FTL.
      
           (*) JFFS - which uses set_bdev_super(), something it could avoid doing by
           	 taking a leaf out of JFFS2's book.
      
       (*) Makes most of the contents of linux/blkdev.h, linux/buffer_head.h and
           linux/elevator.h contingent on CONFIG_BLOCK being set.  sector_div() is,
           however, still used in places, and so is still available.
      
       (*) Also made contingent are the contents of linux/mpage.h, linux/genhd.h and
           parts of linux/fs.h.
      
       (*) Makes a number of files in fs/ contingent on CONFIG_BLOCK.
      
       (*) Makes mm/bounce.c (bounce buffering) contingent on CONFIG_BLOCK.
      
       (*) set_page_dirty() doesn't call __set_page_dirty_buffers() if CONFIG_BLOCK
           is not enabled.
      
       (*) fs/no-block.c is created to hold out-of-line stubs and things that are
           required when CONFIG_BLOCK is not set:
      
           (*) Default blockdev file operations (to give error ENODEV on opening).
      
       (*) Makes some /proc changes:
      
           (*) /proc/devices does not list any blockdevs.
      
           (*) /proc/diskstats and /proc/partitions are contingent on CONFIG_BLOCK.
      
       (*) Makes some compat ioctl handling contingent on CONFIG_BLOCK.
      
       (*) If CONFIG_BLOCK is not defined, makes sys_quotactl() return -ENODEV if
           given command other than Q_SYNC or if a special device is specified.
      
       (*) In init/do_mounts.c, no reference is made to the blockdev routines if
           CONFIG_BLOCK is not defined.  This does not prohibit NFS roots or JFFS2.
      
       (*) The bdflush, ioprio_set and ioprio_get syscalls can now be absent (return
           error ENOSYS by way of cond_syscall if so).
      
       (*) The seclvl_bd_claim() and seclvl_bd_release() security calls do nothing if
           CONFIG_BLOCK is not set, since they can't then happen.
      Signed-Off-By: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      9361401e
    • D
      [PATCH] BLOCK: Move the loop device ioctl compat stuff to the loop driver [try #6] · 863d5b82
      David Howells 提交于
      Move the loop device ioctl compat stuff from fs/compat_ioctl.c to the loop
      driver so that the loop header file doesn't need to be included.
      Signed-Off-By: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      863d5b82
  2. 28 8月, 2006 1 次提交
  3. 27 6月, 2006 2 次提交
  4. 28 3月, 2006 1 次提交
  5. 24 3月, 2006 1 次提交
  6. 10 3月, 2006 1 次提交
  7. 11 1月, 2006 1 次提交
    • C
      [PATCH] sanitize building of fs/compat_ioctl.c · e6a6d2ef
      Christoph Hellwig 提交于
      Now that all these entries in the arch ioctl32.c files are gone [1], we can
      build fs/compat_ioctl.c as a normal object and kill tons of cruft.  We need a
      special do_ioctl32_pointer handler for s390 so the compat_ptr call is done.
      This is not needed but harmless on all other architectures.  Also remove some
      superflous includes in fs/compat_ioctl.c
      
      Tested on ppc64.
      
      [1] parisc still had it's PPP handler left, which is not fully correct
          for ppp and besides that ppp uses the generic SIOCPRIV ioctl so it'd
          kick in for all netdevice users.  We can introduce a proper handler
          in one of the next patch series by adding a compat_ioctl method to
          struct net_device but for now let's just kill it - parisc doesn't
          compile in mainline anyway and I don't want this to block this
          patchset.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Cc: Matthew Wilcox <willy@debian.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      e6a6d2ef
  8. 10 1月, 2006 1 次提交
    • A
      V4L (926_2): Moves compat32 functions from fs to v4l subsystem · 0d0fbf81
      Arnd Bergmann 提交于
      This moves the 32 bit ioctl compatibility handlers for
      Video4Linux into a new file and adds explicit calls to them
      to each v4l device driver.
      
      Unfortunately, there does not seem to be any code handling
      the v4l2 ioctls, so quite often the code goes through two
      separate conversions, first from 32 bit v4l to 64 bit v4l,
      and from there to 64 bit v4l2. My patch does not change
      that, so there is still much room for improvement.
      
      Also, some drivers have additional ioctl numbers, for
      which the conversion should be handled internally to
      that driver.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@brturbo.com.br>
      0d0fbf81
  9. 16 11月, 2005 1 次提交
  10. 13 11月, 2005 1 次提交
    • C
      [SPARC]: Fix RTC compat ioctl kernel log spam. · 535f8d65
      Christoph Hellwig 提交于
      On Fri, Nov 11, 2005 at 12:58:40PM -0800, David S. Miller wrote:
      > 
      > This change:
      > 
      > diff-tree 8ca2bdc7 (from feee207e44d3643d19e648aAuthor: Christoph Hellwig <hch@lst.de>
      > Date:   Wed Nov 9 12:07:18 2005 -0800
      > 
      >     [SPARC] sbus rtc: implement ->compat_ioctl
      >     
      >     Signed-off-by: Christoph Hellwig <hch@lst.de>
      >     Signed-off-by: David S. Miller <davem@davemloft.net>
      > 
      > results in the console now getting spewed on sparc64 systems
      > with messages like:
      > 
      > [   11.968298] ioctl32(hwclock:464): Unknown cmd fd(3) cmd(401c7014){00} arg(efc
      > What's happening is hwclock tries first the SBUS rtc device ioctls
      > then the normal rtc driver ones.
      > 
      > So things actually worked better when we had the SBUS rtc compat ioctl
      > directly handled via the generic compat ioctl code.
      > 
      > There are _so_ many rtc drivers in the kernel implementing the
      > generic rtc ioctls that I don't think putting a ->compat_ioctl
      > into all of them to fix this problem is feasible.  Unless we
      > write a single rtc_compat_ioctl(), export it to modules, and hook
      > it into all of those somehow.
      > 
      > But even that doesn't appear to have any pretty implementation.
      > 
      > Any better ideas?
      
      We had similar problems with other ioctls where userspace did things
      like that.  What we did there was to put the compat handler to generic
      code.  The patch below does that, adding a big comment about what's
      going on and removing the COMPAT_IOCTL entires for these on powerpc
      that not only weren't ever useful but are duplicated now aswell.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      535f8d65
  11. 09 11月, 2005 2 次提交
  12. 05 7月, 2005 1 次提交
    • R
      [SPARC64/COMPAT]: Add some compat ioctl for ppdev · e7270dec
      Raphael Assenat 提交于
      The following patch adds some ioctls to include/linux/compat_ioctl.h
      to allow using ppdev from the 32 bit user space on sparc64.
      
      This patch also adds the PPDEV option in the sparc64 menu, near Parallel
      printer support in the 'General machine setup' submenu.
      
      All those ioctls seem to be compatible, since (correct me if I'm wrong)
      they dont use the 'long' type. See include/linux/ppdev.h.
      
      The application I used to test the new ioctls only used the following:
      PPEXCL
      PPCLAIM
      PPNEGOT
      PPGETMODES
      PPRCONTROL
      PPWCONTROL
      PPDATADIR
      PPWDATA
      PPRDATA
      
      But I beleive that the other ioctls will work fine.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e7270dec
  13. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4