You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qubes-linux-kernel/patches.fixes/novfs-truncate-fix

59 lines
1.6 KiB

From: Sankar P <psankar@novell.com>
Subject: novfs: Fixes corruption of OO documents on NSS Volumes
References: bnc#508259
Patch-mainline: no
OpenOffice documents stored in NSS volumes, when accessed
via NOVFS, get corrupted while using the ftruncate64 call.
Removed stale code which unsets the size in the setattr call.
Signed-off-by: Sankar P <psankar@novell.com>
Acked-by: Jan Kara <jack@suse.cz>
---
fs/novfs/inode.c | 25 -------------------------
1 file changed, 25 deletions(-)
--- a/fs/novfs/inode.c
+++ b/fs/novfs/inode.c
@@ -3183,7 +3183,6 @@ int novfs_i_setattr(struct dentry *dentr
unsigned int ia_valid = attr->ia_valid;
struct novfs_schandle session;
int retVal = 0;
- struct iattr mattr;
if (IS_ROOT(dentry) || /* Root */
IS_ROOT(dentry->d_parent) || /* User */
@@ -3241,30 +3240,6 @@ int novfs_i_setattr(struct dentry *dentr
attr->ia_size,
atime_buf, mtime_buf, ctime_buf);
- if ((attr->ia_valid & ATTR_FILE)
- && (attr->ia_valid & ATTR_SIZE)) {
- memcpy(&mattr, attr, sizeof(mattr));
- mattr.ia_valid &=
- ~(ATTR_FILE | ATTR_SIZE);
- attr = &mattr;
- ia_valid = attr->ia_valid;
-#if 0 // thanks to vfs changes in our tree...
- retVal =
- novfs_trunc_ex(attr->
- ia_file->
- private_data,
- attr->
- ia_size,
- session);
- if (!retVal) {
- inode->i_size = attr->ia_size;
- ((struct inode_data *) inode->
- i_private)->Flags |=
- UPDATE_INODE;
- }
-#endif
- }
-
if (ia_valid
&& !(retVal =
novfs_set_attr(path, attr, session))) {