lkml.org 
[lkml]   [2011]   [Dec]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 1/1] vfs: iversion truncate bug fix
    Date
    When a file is truncated with truncate()/ftruncate() and then closed,
    iversion is not updated. This patch uses ATTR_SIZE flag as an indication
    to increment iversion.

    Signed-off-by: Dmitry Kasatkin <dmitry.kasatkin@intel.com>
    ---
    fs/attr.c | 5 +++++
    1 files changed, 5 insertions(+), 0 deletions(-)

    diff --git a/fs/attr.c b/fs/attr.c
    index 7ee7ba4..b8f55c4 100644
    --- a/fs/attr.c
    +++ b/fs/attr.c
    @@ -176,6 +176,11 @@ int notify_change(struct dentry * dentry, struct iattr * attr)
    return -EPERM;
    }

    + if ((ia_valid & ATTR_SIZE) && IS_I_VERSION(inode)) {
    + if (attr->ia_size != inode->i_size)
    + inode_inc_iversion(inode);
    + }
    +
    if ((ia_valid & ATTR_MODE)) {
    mode_t amode = attr->ia_mode;
    /* Flag setting protected by i_mutex */
    --
    1.7.4.1


    \
     
     \ /
      Last update: 2011-12-22 11:57    [W:0.026 / U:88.800 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site