Re: linux-next: Tree for July 20 (overlayfs)

From: Miklos Szeredi
Date: Fri Jul 22 2011 - 05:50:34 EST


Sedat Dilek <sedat.dilek@xxxxxxxxxxxxxx> writes:

> On Wed, Jul 20, 2011 at 8:48 PM, Sedat Dilek <sedat.dilek@xxxxxxxxxxxxxx> wrote:
>> Hi,
>>
>> I have here a problem with linux-next (next-20110720) and
>> overlayfs-v10 (not the latest from GIT).
>>
>> ### OVERLAYFS
>> # Patches from mszeredi/vfs.git#overlayfs.v10 (up to commit
>> 00b27467b181a27c808cef0d66860eba5f450b24)
>> # "overlay: overlay filesystem documentation"
>> # See also <http://lkml.org/lkml/2011/6/1/456>
>> # "[PATCH 0/7] overlay filesystem: request for inclusion"
>> + overlayfs-v10/overlayfs-v10.patch
>>
>> Documentation/filesystems/porting says:
>>
>> [mandatory]
>> Â Â Â Â->permission(), generic_permission() and ->check_acl() have lost flags
>> argument; instead of passing IPERM_FLAG_RCU we add MAY_NOT_BLOCK into mask.
>> Â Â Â Âgeneric_permission() has also lost the check_acl argument; if you want
>> non-NULL to be used for that inode, put it into ->i_op->check_acl.
>>
>> I checked with other files below fs/ and changed accordingly.
>> So, I hope the attached patch is OK (untested, uncompiled)?
>>
>> What's the status of OverlayFS anyway, will it be merged into v3.1?
>>
>> Regards,
>> - Sedat -
>>
>
> I checked again and adapted ovl_permission().
>
> [ fs/namei.c ]
> static int acl_permission_check(struct inode *inode, int mask)
>
> Here is a v2, which compiles.

Thanks, the patch looks good.

And ->fsync is another one that will have an updated API.

Miklos

---
fs/overlayfs/readdir.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

Index: linux-2.6/fs/overlayfs/readdir.c
===================================================================
--- linux-2.6.orig/fs/overlayfs/readdir.c 2011-07-21 17:07:52.000000000 +0200
+++ linux-2.6/fs/overlayfs/readdir.c 2011-07-21 17:10:20.000000000 +0200
@@ -386,7 +386,8 @@ static loff_t ovl_dir_llseek(struct file
return res;
}

-static int ovl_dir_fsync(struct file *file, int datasync)
+static int ovl_dir_fsync(struct file *file, loff_t start, loff_t end,
+ int datasync)
{
struct ovl_dir_file *od = file->private_data;

@@ -400,7 +401,7 @@ static int ovl_dir_fsync(struct file *fi
return PTR_ERR(od->realfile);
}

- return vfs_fsync(od->realfile, datasync);
+ return vfs_fsync_range(od->realfile, start, end, datasync);
}

static int ovl_dir_release(struct inode *inode, struct file *file)
--
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/