Hello! Given is a module like the following snippet running fine w/ Linux 4.0 and ext4 fs - but doesn't work w/ Linux 4.1 because f->f_op->read is not defined any more (= NULL). Is this the intended behavior now?
vfs_read(f, buf, 128, &f->f_pos) works fine. module.c -------------------------------------------------------------------- #include <linux/module.h> #include <linux/kernel.h> #include <linux/fs.h> #include <asm/uaccess.h> int init_module(void) { struct file *f; char buf[128]; mm_segment_t fs; int i; int len=128; for(i=0;i<len;i++) buf[i] = 0; printk(KERN_INFO "My module is loaded\n"); f = filp_open("/etc/fedora-release", O_RDONLY, 0); if(f == NULL) printk(KERN_ALERT "filp_open error!!.\n"); else{ fs = get_fs(); set_fs(get_ds()); if (f->f_op->read) { f->f_op->read(f, buf, len, &f->f_pos); printk(KERN_INFO "buf:%s\n",buf); } else { printk(KERN_INFO "No read method\n"); } set_fs(fs); } filp_close(f,NULL); return 0; } void cleanup_module(void) { printk(KERN_INFO "My module is unloaded\n"); } ----------------------------------------------------------- Makefile: ----------------------------------------------------------- obj-m += module.o all: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules clean: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean ------------------------------------------------------------ Regards, Andreas -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/