Re: [PATCH V2 2/2] hfsplus: Add an ioctl to bless files

From: Matthew Garrett
Date: Mon Feb 06 2012 - 12:45:50 EST


On Mon, Feb 06, 2012 at 12:35:53PM -0500, Christoph Hellwig wrote:
> +#define HFSPLUS_IOC_BLESS _IO('f', 0x20)
>
> I'd probably move this to fs.h and follow the numbering there,
> otherwise we are bound to run into conflicts.

Ok. Any problem with leaving something filesystem specific in there?

> > +static int hfsplus_ioctl_bless(struct file *file, int __user *user_flags)
>
> Care to add a little comment on what this ioctl does, bless is a bit
> of a generic name.

Will do.

> > +{
> > + struct inode *inode = file->f_dentry->d_inode;
>
> Please use file->f_path.dentry instead of the f_dentry define, please.

Ok.

> > + mutex_lock(&sbi->vh_mutex);
> > + vh->finder_info[0] = bvh->finder_info[0] =
> > + cpu_to_be32(parent_ino(file->f_dentry));
> > + vh->finder_info[1] = bvh->finder_info[1] = cpu_to_be32(inode->i_ino);
> > + vh->finder_info[5] = bvh->finder_info[5] =
> > + cpu_to_be32(parent_ino(file->f_dentry));
>
> Any idea why we write the parent twice?

>From the spec:

"finderInfo[0] contains the directory ID of the directory containing the
bootable system (for example, the System Folder in Mac OS 8 or 9, or
/System/Library/CoreServices in Mac OS X). It is zero if there is no
bootable system on the volume. This value is typically equal to either
finderInfo[3] or finderInfo[5]."

finderInfo[3] is the OS8/9 system folder, finderInfo[5] is the OS X one.
I'd guess it's just to indicate whether the boot media should default to
OS8/9 or OS X, but it's not entirely clear.

> Not directly relevant, but where do you plan to put the userspace to
> call this ioctl?

There's a git repo at git://cavan.codon.org.uk/mactel-boot

--
Matthew Garrett | mjg59@xxxxxxxxxxxxx
--
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/