lkml.org 
[lkml]   [2011]   [Jun]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4/5] EXT4: Replace cut'n'pasted llseek code with generic_file_llseek_size
    Date
    From: Andi Kleen <ak@linux.intel.com>

    This gives ext4 the benefits of unlocked llseek.

    Cc: tytso@mit.edu
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    ---
    fs/ext4/file.c | 26 +-------------------------
    1 files changed, 1 insertions(+), 25 deletions(-)

    diff --git a/fs/ext4/file.c b/fs/ext4/file.c
    index 2c09723..ce40447 100644
    --- a/fs/ext4/file.c
    +++ b/fs/ext4/file.c
    @@ -224,32 +224,8 @@ loff_t ext4_llseek(struct file *file, loff_t offset, int origin)
    maxbytes = EXT4_SB(inode->i_sb)->s_bitmap_maxbytes;
    else
    maxbytes = inode->i_sb->s_maxbytes;
    - mutex_lock(&inode->i_mutex);
    - switch (origin) {
    - case SEEK_END:
    - offset += inode->i_size;
    - break;
    - case SEEK_CUR:
    - if (offset == 0) {
    - mutex_unlock(&inode->i_mutex);
    - return file->f_pos;
    - }
    - offset += file->f_pos;
    - break;
    - }
    -
    - if (offset < 0 || offset > maxbytes) {
    - mutex_unlock(&inode->i_mutex);
    - return -EINVAL;
    - }
    -
    - if (offset != file->f_pos) {
    - file->f_pos = offset;
    - file->f_version = 0;
    - }
    - mutex_unlock(&inode->i_mutex);

    - return offset;
    + return generic_file_llseek_size(file, offset, origin, maxbytes);
    }

    const struct file_operations ext4_file_operations = {
    --
    1.7.4.4


    \
     
     \ /
      Last update: 2011-06-16 23:11    [W:0.021 / U:0.072 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site