lkml.org 
[lkml]   [2007]   [Oct]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4/4] Unionfs: use vfs_ioctl
    Date
    Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
    ---
    fs/unionfs/commonfops.c | 32 ++++++--------------------------
    1 files changed, 6 insertions(+), 26 deletions(-)

    diff --git a/fs/unionfs/commonfops.c b/fs/unionfs/commonfops.c
    index 50e5775..c99b519 100644
    --- a/fs/unionfs/commonfops.c
    +++ b/fs/unionfs/commonfops.c
    @@ -661,31 +661,6 @@ out:
    return err;
    }

    -/* pass the ioctl to the lower fs */
    -static long do_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
    -{
    - struct file *lower_file;
    - int err;
    -
    - lower_file = unionfs_lower_file(file);
    -
    - err = -ENOTTY;
    - if (!lower_file || !lower_file->f_op)
    - goto out;
    - if (lower_file->f_op->unlocked_ioctl) {
    - err = lower_file->f_op->unlocked_ioctl(lower_file, cmd, arg);
    - } else if (lower_file->f_op->ioctl) {
    - lock_kernel();
    - err = lower_file->f_op->ioctl(
    - lower_file->f_path.dentry->d_inode,
    - lower_file, cmd, arg);
    - unlock_kernel();
    - }
    -
    -out:
    - return err;
    -}
    -
    /*
    * return to user-space the branch indices containing the file in question
    *
    @@ -752,6 +727,7 @@ out:
    long unionfs_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
    {
    long err;
    + struct file *lower_file;

    unionfs_read_lock(file->f_path.dentry->d_sb);

    @@ -775,7 +751,11 @@ long unionfs_ioctl(struct file *file, unsigned int cmd, unsigned long arg)

    default:
    /* pass the ioctl down */
    - err = do_ioctl(file, cmd, arg);
    + lower_file = unionfs_lower_file(file);
    + if (lower_file)
    + err = vfs_ioctl(lower_file, cmd, arg);
    + else
    + err = -ENOTTY;
    break;
    }

    --
    1.5.2.2
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-10-29 01:45    [W:0.022 / U:121.648 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site