Share Pastebin
Guest
Public paste!

arekm

By: a guest | Jul 3rd, 2009 | Syntax: None | Size: 0.52 KB | Hits: 15 | Expires: Never
Copy text to clipboard
  1.  */
  2. static int dm_blk_open(struct inode *inode, struct file *file)
  3. {
  4.         struct mapped_device *md;
  5.  
  6.         spin_lock(&_minor_lock);
  7.  
  8.         md = inode->i_bdev->bd_disk->private_data;
  9.         if (!md)
  10.                 goto out;
  11.  
  12.         if (test_bit(DMF_FREEING, &md->flags) ||
  13.             test_bit(DMF_DELETING, &md->flags)) {
  14.                 md = NULL;
  15.                 goto out;
  16.         }
  17.  
  18.         dm_get(md);
  19.         atomic_inc(&md->open_count);
  20.  
  21. out:
  22.         spin_unlock(&_minor_lock);
  23.  
  24.         return md ? 0 : -ENXIO;
  25. }