/* save current_cred and override it */
OVERRIDE_CRED(sbi, saved_cred);
+ file->f_mode |= FMODE_NONMAPPABLE;
file->private_data =
kzalloc(sizeof(struct sdcardfs_file_info), GFP_KERNEL);
if (!SDCARDFS_F(file)) {
return err;
}
+static struct file *sdcardfs_get_lower_file(struct file *f)
+{
+ return sdcardfs_lower_file(f);
+}
+
const struct file_operations sdcardfs_main_fops = {
.llseek = generic_file_llseek,
.read = sdcardfs_read,
.release = sdcardfs_file_release,
.fsync = sdcardfs_fsync,
.fasync = sdcardfs_fasync,
+ .get_lower_file = sdcardfs_get_lower_file,
};
/* trimmed directory options */
.flush = sdcardfs_flush,
.fsync = sdcardfs_fsync,
.fasync = sdcardfs_fasync,
+ .get_lower_file = sdcardfs_get_lower_file,
};