diff options
Diffstat (limited to 'fs/reiserfs')
-rw-r--r-- | fs/reiserfs/xattr.c | 13 |
1 files changed, 0 insertions, 13 deletions
diff --git a/fs/reiserfs/xattr.c b/fs/reiserfs/xattr.c index 132d901da08f..3e9e82ca3ba2 100644 --- a/fs/reiserfs/xattr.c +++ b/fs/reiserfs/xattr.c | |||
@@ -432,7 +432,6 @@ reiserfs_xattr_set(struct inode *inode, const char *name, const void *buffer, | |||
432 | if (buffer && buffer_size) | 432 | if (buffer && buffer_size) |
433 | xahash = xattr_hash(buffer, buffer_size); | 433 | xahash = xattr_hash(buffer, buffer_size); |
434 | 434 | ||
435 | open_file: | ||
436 | dentry = get_xa_file_dentry(inode, name, flags); | 435 | dentry = get_xa_file_dentry(inode, name, flags); |
437 | if (IS_ERR(dentry)) { | 436 | if (IS_ERR(dentry)) { |
438 | err = PTR_ERR(dentry); | 437 | err = PTR_ERR(dentry); |
@@ -441,18 +440,6 @@ reiserfs_xattr_set(struct inode *inode, const char *name, const void *buffer, | |||
441 | 440 | ||
442 | REISERFS_I(inode)->i_flags |= i_has_xattr_dir; | 441 | REISERFS_I(inode)->i_flags |= i_has_xattr_dir; |
443 | 442 | ||
444 | /* we need to copy it off.. */ | ||
445 | if (dentry->d_inode->i_nlink > 1) { | ||
446 | dput(dentry); | ||
447 | err = reiserfs_xattr_del(inode, name); | ||
448 | if (err < 0) | ||
449 | goto out; | ||
450 | /* We just killed the old one, we're not replacing anymore */ | ||
451 | if (flags & XATTR_REPLACE) | ||
452 | flags &= ~XATTR_REPLACE; | ||
453 | goto open_file; | ||
454 | } | ||
455 | |||
456 | /* Resize it so we're ok to write there */ | 443 | /* Resize it so we're ok to write there */ |
457 | newattrs.ia_size = buffer_size; | 444 | newattrs.ia_size = buffer_size; |
458 | newattrs.ia_valid = ATTR_SIZE | ATTR_CTIME; | 445 | newattrs.ia_valid = ATTR_SIZE | ATTR_CTIME; |