diff options
author | Sunil Mushran <sunil.mushran@oracle.com> | 2008-04-18 10:23:53 -0700 |
---|---|---|
committer | Mark Fasheh <mfasheh@suse.com> | 2008-04-30 17:09:54 -0700 |
commit | bc535809c06ada210d89f5a43b335c68ecbb8e1b (patch) | |
tree | 3186b9d590a06d17a7026680fba57546e0d0c418 /fs/ocfs2/file.c | |
parent | 95642e56647d84963428a1168baa8a73cb782ac3 (diff) |
ocfs2: Allow uid/gid/perm changes of symlinks
This patch adds the ability to change attributes of a symlink.
Fixes oss bugzilla#963
http://oss.oracle.com/bugzilla/show_bug.cgi?id=963
Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
Diffstat (limited to 'fs/ocfs2/file.c')
-rw-r--r-- | fs/ocfs2/file.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c index 9154c82d325..57e0d30cde9 100644 --- a/fs/ocfs2/file.c +++ b/fs/ocfs2/file.c @@ -1048,6 +1048,10 @@ int ocfs2_setattr(struct dentry *dentry, struct iattr *attr) mlog_entry("(0x%p, '%.*s')\n", dentry, dentry->d_name.len, dentry->d_name.name); + /* ensuring we don't even attempt to truncate a symlink */ + if (S_ISLNK(inode->i_mode)) + attr->ia_valid &= ~ATTR_SIZE; + if (attr->ia_valid & ATTR_MODE) mlog(0, "mode change: %d\n", attr->ia_mode); if (attr->ia_valid & ATTR_UID) |