block: remove i_bdev
[linux-2.6-microblaze.git] / drivers / usb / gadget / function / storage_common.c
index f7e6c42..b859a15 100644 (file)
@@ -204,7 +204,7 @@ int fsg_lun_open(struct fsg_lun *curlun, const char *filename)
        if (!(filp->f_mode & FMODE_WRITE))
                ro = 1;
 
-       inode = file_inode(filp);
+       inode = filp->f_mapping->host;
        if ((!S_ISREG(inode->i_mode) && !S_ISBLK(inode->i_mode))) {
                LINFO(curlun, "invalid file type: %s\n", filename);
                goto out;
@@ -221,7 +221,7 @@ int fsg_lun_open(struct fsg_lun *curlun, const char *filename)
        if (!(filp->f_mode & FMODE_CAN_WRITE))
                ro = 1;
 
-       size = i_size_read(inode->i_mapping->host);
+       size = i_size_read(inode);
        if (size < 0) {
                LINFO(curlun, "unable to find file size: %s\n", filename);
                rc = (int) size;
@@ -231,8 +231,8 @@ int fsg_lun_open(struct fsg_lun *curlun, const char *filename)
        if (curlun->cdrom) {
                blksize = 2048;
                blkbits = 11;
-       } else if (inode->i_bdev) {
-               blksize = bdev_logical_block_size(inode->i_bdev);
+       } else if (S_ISBLK(inode->i_mode)) {
+               blksize = bdev_logical_block_size(I_BDEV(inode));
                blkbits = blksize_bits(blksize);
        } else {
                blksize = 512;