Ralf Hornik Mailings <ralf@xxxxxxxxxxxxxxxxx> wrote:
I'm trying to port adics cvfs module to any newer kernel and had to
figure out that the prototype of "block_device_operations" has
become incompatible with code formerly used against kernel <=
2.6.27.46
Unfortunately the documentation in filesystems/Locking does still
point to the old prototype.
Can somebody give me some hints how to use the new
block_device_operations defined in blkdev.h or send me some new
dokumentation?
Can noone tell me how to use the new object?
The new struct is:
struct block_device_operations {
int (*open) (struct block_device *, fmode_t);
int (*release) (struct gendisk *, fmode_t);
int (*locked_ioctl) (struct block_device *, fmode_t,
unsigned, unsigned long);
int (*ioctl) (struct block_device *, fmode_t, unsigned,
unsigned long);
int (*compat_ioctl) (struct block_device *, fmode_t,
unsigned, unsigned long);
int (*direct_access) (struct block_device *, sector_t,
void **, unsigned long *);
int (*media_changed) (struct gendisk *);
unsigned long long (*set_capacity) (struct gendisk *,
unsigned long long);
int (*revalidate_disk) (struct gendisk *);
int (*getgeo)(struct block_device *, struct hd_geometry *);
struct module *owner;
};
and here is the stuct used in <= 2.6.27
struct block_device_operations {
int (*open) (struct inode *, struct file *);
int (*release) (struct inode *, struct file *);
int (*ioctl) (struct inode *, struct file *, unsigned, unsigned long);
long (*unlocked_ioctl) (struct file *, unsigned, unsigned long);
long (*compat_ioctl) (struct file *, unsigned, unsigned long);
int (*direct_access) (struct block_device *, sector_t,
unsigned long *);
int (*media_changed) (struct gendisk *);
int (*revalidate_disk) (struct gendisk *);
int (*getgeo)(struct block_device *, struct hd_geometry *);
struct module *owner;
};
And the dokumentation of any kernel still points to the 2.6.27.
Any help would greatly appreciated
Ralf
--
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