On Sunday 31 January 2010, John Kacur wrote: > > Sorry, I should have been clearer, but not implementing llseek > > is the problem I was referring to: When a driver has no explicit > > .llseek operation in its file operations and does not call > > nonseekable_open from its open operation, the VFS layer will > > implicitly use default_llseek, which takes the BKL. We're > > in the process of changing drivers not to do this, one by one > > so we can kill the BKL in the end. > > > > I know we've discussed this before, but why wouldn't the following > make more sense? > .llseek = no_llseek, That's one of the possible solutions. Assigning it to generic_file_llseek also gets rid of the BKL but keeps the current behaviour (calling seek returns success without having an effect, no_llseek returns -ESPIPE), while calling nonseekable_open has the other side-effect of making pread/pwrite fail with -ESPIPE, which is more consistent than only failing seek. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html