On Thu, 25 Aug 2011, Christoph Hellwig wrote:
> > xfs_rw_iunlock(ip, iolock);
> > + if (unlikely(-ENOSPC == ret))
> > + fs_nl_send_warning(inode->i_sb->s_dev, FS_NL_ENOSPC_WARN);
> I'd remove the nl from both the name and the constants. In the end what
> matters is the warning, and netlink just is an implementation detail.
That makes sense, I'll change that.
> > index 9a72dda..dd167a0 100644
> > --- a/fs/xfs/linux-2.6/xfs_super.c
> > +++ b/fs/xfs/linux-2.6/xfs_super.c
> > @@ -1731,6 +1731,7 @@ init_xfs_fs(void)
> > error = register_filesystem(&xfs_fs_type);
> > if (error)
> > goto out_sysctl_unregister;
> > + init_fs_nl_family();
> Why do we have to call this from the filesystem? Shouldn't we
> initialize it once from the VFS?
That's probably better than initialization in every file system. It
would also mean that the interface will be initializes even if there is
no user of it on the kernel side, but that should not be a problem I
> Also any chance you could include the quota netlink warnings into the
> framework? Any callers is also going to be interestested in quota
> warnings, not just enospc. Also the xfs project quota code returns
> ENOSPC if over the project quota and needs to be handled either way.
> Adding another new category inbetween user/group quotas and plain ENOSPC
> for it would be nice.
That's the plan. I want to merge quota notification into this interface
as well (rather than having separate netlink interface
fs/quota/netlink.c). So, I'll try to do that in the next version of the