1. 02 Jul, 2012 1 commit
    • Michal Nazarewicz's avatar
      usb: gadget: mass_storage: make "file" and "ro" read only in some cases · 48a31af7
      Michal Nazarewicz authored
      The “file” sysfs entry for LUNs was writable even for non-removable
      LUNs and the fsg_store_file() function did not check whether LUN is
      removable or not.  This made it possible to change or even close
      LUN's backing file.
      
      The same is true for “ro” sysfs entry and LUNs simulating CD-ROM.
      For those LUNs, the file should not be writable.
      
      This commit introduces two new device_attribute structures for those
      two special cases so that the file/ro sysfs entries are made
      non-writable when not desired.
      Signed-off-by: default avatarMichal Nazarewicz <mina86@mina86.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      48a31af7
  2. 25 Jun, 2012 1 commit
    • Kevin Cernekee's avatar
      usb: gadget: Fix g_ether interface link status · 31bde1ce
      Kevin Cernekee authored
      A "usb0" interface that has never been connected to a host has an unknown
      operstate, and therefore the IFF_RUNNING flag is (incorrectly) asserted
      when queried by ifconfig, ifplugd, etc.  This is a result of calling
      netif_carrier_off() too early in the probe function; it should be called
      after register_netdev().
      
      Similar problems have been fixed in many other drivers, e.g.:
      
          e826eafa (bonding: Call netif_carrier_off after register_netdevice)
          0d672e9f (drivers/net: Call netif_carrier_off at the end of the probe)
          6a3c869a (cxgb4: fix reported state of interfaces without link)
      
      Fix is to move netif_carrier_off() to the end of the function.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarKevin Cernekee <cernekee@gmail.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      31bde1ce
  3. 22 Jun, 2012 7 commits
  4. 15 Jun, 2012 6 commits
  5. 12 Jun, 2012 4 commits
  6. 04 Jun, 2012 8 commits
  7. 03 Jun, 2012 9 commits
  8. 02 Jun, 2012 4 commits
    • Joe Thornber's avatar
      dm thin: provide userspace access to pool metadata · cc8394d8
      Joe Thornber authored
      This patch implements two new messages that can be sent to the thin
      pool target allowing it to take a snapshot of the _metadata_.  This,
      read-only snapshot can be accessed by userland, concurrently with the
      live target.
      
      Only one metadata snapshot can be held at a time.  The pool's status
      line will give the block location for the current msnap.
      
      Since version 0.1.5 of the userland thin provisioning tools, the
      thin_dump program displays the msnap as follows:
      
          thin_dump -m <msnap root> <metadata dev>
      
      Available here: https://github.com/jthornber/thin-provisioning-tools
      
      Now that userland can access the metadata we can do various things
      that have traditionally been kernel side tasks:
      
           i) Incremental backups.
      
           By using metadata snapshots we can work out what blocks have
           changed over time.  Combined with data snapshots we can ensure
           the data doesn't change while we back it up.
      
           A short proof of concept script can be found here:
      
           https://github.com/jthornber/thinp-test-suite/blob/master/incremental_backup_example.rb
      
           ii) Migration of thin devices from one pool to another.
      
           iii) Merging snapshots back into an external origin.
      
           iv) Asyncronous replication.
      Signed-off-by: default avatarJoe Thornber <ejt@redhat.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      cc8394d8
    • Mike Snitzer's avatar
      dm thin: use slab mempools · a24c2569
      Mike Snitzer authored
      Use dedicated caches prefixed with a "dm_" name rather than relying on
      kmalloc mempools backed by generic slab caches so the memory usage of
      thin provisioning (and any leaks) can be accounted for independently.
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      a24c2569
    • Mikulas Patocka's avatar
      dm mpath: allow ioctls to trigger pg init · 35991652
      Mikulas Patocka authored
      After the failure of a group of paths, any alternative paths that
      need initialising do not become available until further I/O is sent to
      the device.  Until this has happened, ioctls return -EAGAIN.
      
      With this patch, new paths are made available in response to an ioctl
      too.  The processing of the ioctl gets delayed until this has happened.
      
      Instead of returning an error, we submit a work item to kmultipathd
      (that will potentially activate the new path) and retry in ten
      milliseconds.
      
      Note that the patch doesn't retry an ioctl if the ioctl itself fails due
      to a path failure.  Such retries should be handled intelligently by the
      code that generated the ioctl in the first place, noting that some SCSI
      commands should not be retried because they are not idempotent (XOR write
      commands).  For commands that could be retried, there is a danger that
      if the device rejected the SCSI command, the path could be errorneously
      marked as failed, and the request would be retried on another path which
      might fail too.  It can be determined if the failure happens on the
      device or on the SCSI controller, but there is no guarantee that all
      SCSI drivers set these flags correctly.
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      35991652
    • Mike Christie's avatar
      dm mpath: delay retry of bypassed pg · f220fd4e
      Mike Christie authored
      If I/O needs retrying and only bypassed priority groups are available,
      set the pg_init_delay_retry flag to wait before retrying.
      
      If, for example, the reason for the bypass is that the controller is
      getting reset or there is a firmware upgrade happening, retrying right
      away would cause a flood of log messages and retries for what could be a
      few seconds or even several minutes.
      Signed-off-by: default avatarMike Christie <michaelc@cs.wisc.edu>
      Acked-by: default avatarMike Snitzer <snitzer@redhat.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      f220fd4e