1. 09 1月, 2012 16 次提交
  2. 08 1月, 2012 1 次提交
    • B
      ore: Must support none-PAGE-aligned IO · 724577ca
      Boaz Harrosh 提交于
      NFS might send us offsets that are not PAGE aligned. So
      we must read in the reminder of the first/last pages, in cases
      we need it for Parity calculations.
      
      We only add an sg segments to read the partial page. But
      we don't mark it as read=true because it is a lock-for-write
      page.
      
      TODO: In some cases (IO spans a single unit) we can just
      adjust the raid_unit offset/length, but this is left for
      later Kernels.
      
      [Bug in 3.2.0 Kernel]
      CC: Stable Tree <stable@kernel.org>
      Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com>
      724577ca
  3. 07 1月, 2012 11 次提交
  4. 06 1月, 2012 4 次提交
    • B
      ore: fix BUG_ON, too few sgs when reading · 361aba56
      Boaz Harrosh 提交于
      When reading RAID5 files, in rare cases, we calculated too
      few sg segments. There should be two extra for the beginning
      and end partial units.
      
      Also "too few sg segments" should not be a BUG_ON there is
      all the mechanics in place to handle it, as a short read.
      So just return -ENOMEM and the rest of the code will gracefully
      split the IO.
      
      [Bug in 3.2.0 Kernel]
      CC: Stable Tree <stable@kernel.org>
      Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com>
      361aba56
    • B
      ore: Fix crash in case of an IO error. · ffefb8ea
      Boaz Harrosh 提交于
      The users of ore_check_io() expect the reported device
      (In case of error) to be indexed relative to the passed-in
      ore_components table, and not the logical dev index.
      
      This causes a crash inside objlayoutdriver in case of
      an IO error.
      
      [Bug in 3.2.0 Kernel]
      CC: Stable Tree <stable@kernel.org>
      Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com>
      ffefb8ea
    • B
      ore: FIX breakage when MISC_FILESYSTEMS is not set · 831c2dc5
      Boaz Harrosh 提交于
      As Reported by Randy Dunlap
      
      When MISC_FILESYSTEMS is not enabled and NFS4.1 is:
      
      fs/built-in.o: In function `objio_alloc_io_state':
      objio_osd.c:(.text+0xcb525): undefined reference to `ore_get_rw_state'
      fs/built-in.o: In function `_write_done':
      objio_osd.c:(.text+0xcb58d): undefined reference to `ore_check_io'
      fs/built-in.o: In function `_read_done':
      ...
      
      When MISC_FILESYSTEMS, which is more of a GUI thing then anything else,
      is not selected. exofs/Kconfig is never examined during Kconfig,
      and it can not do it's magic stuff to automatically select everything
      needed.
      
      We must split exofs/Kconfig in two. The ore one is always included.
      And the exofs one is left in it's old place in the menu.
      
      [Needed for the 3.2.0 Kernel]
      CC: Stable Tree <stable@kernel.org>
      Reported-by: NRandy Dunlap <rdunlap@xenotime.net>
      Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com>
      831c2dc5
    • L
      vfs: fix up ENOIOCTLCMD error handling · 07d106d0
      Linus Torvalds 提交于
      We're doing some odd things there, which already messes up various users
      (see the net/socket.c code that this removes), and it was going to add
      yet more crud to the block layer because of the incorrect error code
      translation.
      
      ENOIOCTLCMD is not an error return that should be returned to user mode
      from the "ioctl()" system call, but it should *not* be translated as
      EINVAL ("Invalid argument").  It should be translated as ENOTTY
      ("Inappropriate ioctl for device").
      
      That EINVAL confusion has apparently so permeated some code that the
      block layer actually checks for it, which is sad.  We continue to do so
      for now, but add a big comment about how wrong that is, and we should
      remove it entirely eventually.  In the meantime, this tries to keep the
      changes localized to just the EINVAL -> ENOTTY fix, and removing code
      that makes it harder to do the right thing.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      07d106d0
  5. 05 1月, 2012 1 次提交
  6. 04 1月, 2012 7 次提交