Re: [patch 4/6] vfs: mountinfo show dominating group id

From: Al Viro
Date: Wed Mar 19 2008 - 17:23:49 EST


On Thu, Mar 13, 2008 at 10:26:45PM +0100, Miklos Szeredi wrote:
> From: Miklos Szeredi <mszeredi@xxxxxxx>
>
> Show peer group ID of nearest dominating group that has intersection
> with the mount's namespace.

There's an obvious problem here: ->show_options() can spew _anything_,
including a string that ends on " shared:42". Makes reliable parsing of
the damn thing in userland impossible. IOW, fs options should go _last_
and they should follow an unconditionally present field.

> if (sb->s_op->show_options)
> err = sb->s_op->show_options(m, mnt);
> - if (IS_MNT_SHARED(mnt)) {
> - seq_printf(m, " shared:%i", get_peer_group_id(mnt));
> - if (IS_MNT_SLAVE(mnt))
> - seq_printf(m, ",slave:%i", get_master_id(mnt));
> - } else if (IS_MNT_SLAVE(mnt)) {
> - seq_printf(m, " slave:%i", get_master_id(mnt));
> + seq_putc(m, ' ');
> + if (IS_MNT_SHARED(mnt) || IS_MNT_SLAVE(mnt)) {
> + if (IS_MNT_SHARED(mnt))
> + seq_printf(m, "shared:%i", get_peer_group_id(mnt));
> + if (IS_MNT_SLAVE(mnt)) {
> + int dominator_id = get_dominator_id_same_ns(mnt);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/