From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: [PATCH] hpfs: cleanup ->setattr Date: Mon, 11 Aug 2008 00:27:59 +0200 Message-ID: <20080810222759.GA8537@lst.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: linux-fsdevel@vger.kernel.org To: mikulas@artax.karlin.mff.cuni.cz, viro@ftp.linux.org.uk Return-path: Received: from verein.lst.de ([213.95.11.210]:43670 "EHLO verein.lst.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753509AbYHJW2A (ORCPT ); Sun, 10 Aug 2008 18:28:00 -0400 Content-Disposition: inline Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Reformat hpfs_notify_change to standard kernel style to make it readable and rename it to hpfs_setattr as that's what the method is called. Signed-off-by: Christoph Hellwig Index: linux-2.6/fs/hpfs/file.c =================================================================== --- linux-2.6.orig/fs/hpfs/file.c 2008-05-05 16:06:53.000000000 +0200 +++ linux-2.6/fs/hpfs/file.c 2008-05-05 16:06:58.000000000 +0200 @@ -143,5 +143,5 @@ const struct file_operations hpfs_file_o const struct inode_operations hpfs_file_iops = { .truncate = hpfs_truncate, - .setattr = hpfs_notify_change, + .setattr = hpfs_setattr, }; Index: linux-2.6/fs/hpfs/hpfs_fn.h =================================================================== --- linux-2.6.orig/fs/hpfs/hpfs_fn.h 2008-05-05 16:06:33.000000000 +0200 +++ linux-2.6/fs/hpfs/hpfs_fn.h 2008-05-05 16:06:39.000000000 +0200 @@ -275,7 +275,7 @@ void hpfs_init_inode(struct inode *); void hpfs_read_inode(struct inode *); void hpfs_write_inode(struct inode *); void hpfs_write_inode_nolock(struct inode *); -int hpfs_notify_change(struct dentry *, struct iattr *); +int hpfs_setattr(struct dentry *, struct iattr *); void hpfs_write_if_changed(struct inode *); void hpfs_delete_inode(struct inode *); Index: linux-2.6/fs/hpfs/inode.c =================================================================== --- linux-2.6.orig/fs/hpfs/inode.c 2008-05-05 16:07:01.000000000 +0200 +++ linux-2.6/fs/hpfs/inode.c 2008-05-05 16:09:12.000000000 +0200 @@ -260,19 +260,28 @@ void hpfs_write_inode_nolock(struct inod brelse(bh); } -int hpfs_notify_change(struct dentry *dentry, struct iattr *attr) +int hpfs_setattr(struct dentry *dentry, struct iattr *attr) { struct inode *inode = dentry->d_inode; - int error=0; + int error = -EINVAL; + lock_kernel(); - if ( ((attr->ia_valid & ATTR_SIZE) && attr->ia_size > inode->i_size) || - (hpfs_sb(inode->i_sb)->sb_root == inode->i_ino) ) { - error = -EINVAL; - } else if ((error = inode_change_ok(inode, attr))) { - } else if ((error = inode_setattr(inode, attr))) { - } else { - hpfs_write_inode(inode); - } + if (inode->i_ino == hpfs_sb(inode->i_sb)->sb_root) + goto out_unlock; + if ((attr->ia_valid & ATTR_SIZE) && attr->ia_size > inode->i_size) + goto out_unlock; + + error = inode_change_ok(inode, attr); + if (error) + goto out_unlock; + + error = inode_setattr(inode, attr); + if (error) + goto out_unlock; + + hpfs_write_inode(inode); + + out_unlock: unlock_kernel(); return error; } Index: linux-2.6/fs/hpfs/namei.c =================================================================== --- linux-2.6.orig/fs/hpfs/namei.c 2008-05-05 16:06:43.000000000 +0200 +++ linux-2.6/fs/hpfs/namei.c 2008-05-05 16:06:50.000000000 +0200 @@ -669,5 +669,5 @@ const struct inode_operations hpfs_dir_i .rmdir = hpfs_rmdir, .mknod = hpfs_mknod, .rename = hpfs_rename, - .setattr = hpfs_notify_change, + .setattr = hpfs_setattr, };