Trond Myklebust <[EMAIL PROTECTED]> wrote:
>

Looks good from a quick scan.

> +static int do_posix_truncate(struct dentry *dentry, loff_t length)
>  +{
>  +    int err = 0;
>  +    struct iattr newattrs;
>  +
>  +    newattrs.ia_size = length;
>  +    newattrs.ia_valid = ATTR_SIZE;
>  +
>  +    down(&dentry->d_inode->i_sem);
>  +    /* In SuS/Posix lore, truncate to the current file size is a no-op */
>  +    if (length != i_size_read(dentry->d_inode))
>  +            err = notify_change(dentry, &newattrs);
>  +    up(&dentry->d_inode->i_sem);
>  +    return err;
>  +}

I'm not sure that we really need to bother putting the i_size test inside
i_sem.  If somebody is changing the file size in parallel with truncate
then they'll get unpredictable results anyway.  Needs deep thought.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to