Re: [PATCH 1/2] jfs: add jfs speciffic ->setattr call

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue 13-04-10 21:51:18, Dmitry Monakhov wrote:
> Dmitry Monakhov <dmonakhov@xxxxxxxxxx> writes:
> 
> > generic setattr not longer responsible for quota transfer.
> > use jfs_setattr for all jfs's inodes.
> Jan, can you please confirm that you'll take care of this patch and
> ufs's fix(the second patch).
  JFS is being maintained by Dave Kleikamp <shaggy@xxxxxxxxxxxxxxxxxx>
and UFS should be maintained by Evgeniy Dushistov <dushistov@xxxxxxx>
so it's their call. But since I've merged patches introducing the problem
I can also take care of merging your fixes if maintainers won't object...

								Honza
> >
> > Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx>
> > ---
> >  fs/jfs/inode.c     |    2 +-
> >  fs/jfs/jfs_inode.h |    1 +
> >  fs/jfs/namei.c     |    4 ++--
> >  fs/jfs/symlink.c   |   14 +++++++++++++-
> >  4 files changed, 17 insertions(+), 4 deletions(-)
> >
> > diff --git a/fs/jfs/inode.c b/fs/jfs/inode.c
> > index c694a5f..39b2e41 100644
> > --- a/fs/jfs/inode.c
> > +++ b/fs/jfs/inode.c
> > @@ -60,7 +60,7 @@ struct inode *jfs_iget(struct super_block *sb, unsigned long ino)
> >  			inode->i_op = &page_symlink_inode_operations;
> >  			inode->i_mapping->a_ops = &jfs_aops;
> >  		} else {
> > -			inode->i_op = &jfs_symlink_inode_operations;
> > +			inode->i_op = &jfs_fast_symlink_inode_operations;
> >  			/*
> >  			 * The inline data should be null-terminated, but
> >  			 * don't let on-disk corruption crash the kernel
> > diff --git a/fs/jfs/jfs_inode.h b/fs/jfs/jfs_inode.h
> > index 4b91b27..fba6e6e 100644
> > --- a/fs/jfs/jfs_inode.h
> > +++ b/fs/jfs/jfs_inode.h
> > @@ -48,5 +48,6 @@ extern const struct file_operations jfs_dir_operations;
> >  extern const struct inode_operations jfs_file_inode_operations;
> >  extern const struct file_operations jfs_file_operations;
> >  extern const struct inode_operations jfs_symlink_inode_operations;
> > +extern const struct inode_operations jfs_fast_symlink_inode_operations;
> >  extern const struct dentry_operations jfs_ci_dentry_operations;
> >  #endif				/* _H_JFS_INODE */
> > diff --git a/fs/jfs/namei.c b/fs/jfs/namei.c
> > index 4a3e9f3..a9cf8e8 100644
> > --- a/fs/jfs/namei.c
> > +++ b/fs/jfs/namei.c
> > @@ -956,7 +956,7 @@ static int jfs_symlink(struct inode *dip, struct dentry *dentry,
> >  	 */
> >  
> >  	if (ssize <= IDATASIZE) {
> > -		ip->i_op = &jfs_symlink_inode_operations;
> > +		ip->i_op = &jfs_fast_symlink_inode_operations;
> >  
> >  		i_fastsymlink = JFS_IP(ip)->i_inline;
> >  		memcpy(i_fastsymlink, name, ssize);
> > @@ -978,7 +978,7 @@ static int jfs_symlink(struct inode *dip, struct dentry *dentry,
> >  	else {
> >  		jfs_info("jfs_symlink: allocate extent ip:0x%p", ip);
> >  
> > -		ip->i_op = &page_symlink_inode_operations;
> > +		ip->i_op = &jfs_symlink_inode_operations;
> >  		ip->i_mapping->a_ops = &jfs_aops;
> >  
> >  		/*
> > diff --git a/fs/jfs/symlink.c b/fs/jfs/symlink.c
> > index 4af1a05..205b946 100644
> > --- a/fs/jfs/symlink.c
> > +++ b/fs/jfs/symlink.c
> > @@ -29,9 +29,21 @@ static void *jfs_follow_link(struct dentry *dentry, struct nameidata *nd)
> >  	return NULL;
> >  }
> >  
> > -const struct inode_operations jfs_symlink_inode_operations = {
> > +const struct inode_operations jfs_fast_symlink_inode_operations = {
> >  	.readlink	= generic_readlink,
> >  	.follow_link	= jfs_follow_link,
> > +	.setattr	= jfs_setattr,
> > +	.setxattr	= jfs_setxattr,
> > +	.getxattr	= jfs_getxattr,
> > +	.listxattr	= jfs_listxattr,
> > +	.removexattr	= jfs_removexattr,
> > +};
> > +
> > +const struct inode_operations jfs_symlink_inode_operations = {
> > +	.readlink	= generic_readlink,
> > +	.follow_link	= page_follow_link_light,
> > +	.put_link	= page_put_link,
> > +	.setattr	= jfs_setattr,
> >  	.setxattr	= jfs_setxattr,
> >  	.getxattr	= jfs_getxattr,
> >  	.listxattr	= jfs_listxattr,
-- 
Jan Kara <jack@xxxxxxx>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux