From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Maxim V. Patlasov" Subject: Re: [PATCH v2 00/14] fuse: An attempt to implement a write-back cache policy Date: Tue, 27 Nov 2012 11:56:51 +0400 Message-ID: <50B47243.9080706@parallels.com> References: <20121116170123.3196.93431.stgit@maximpc.sw.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: , , "fuse-devel@lists.sourceforge.net" , , , , , To: Feng Shuo Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org Hi Feng, 11/27/2012 05:04 AM, Feng Shuo =D0=BF=D0=B8=D1=88=D0=B5=D1=82: > Hi Maxim, > > I'm new to fuse but have some experience with NFS. From my > understanding after reviewing your patchset, it seems only work with > local file system or a distributed file system whose file is never > modified (could be grown but no or very few modified) because it > doesn't exam the pre/post status of the writing object (e.g. a file). > So if a file is modified outside, fuse might not get any chance to > handle it...... Correct me if I got wrong since I'm really new to > fuse. :-) This topic was discussed when Pavel sent initial version of patches (yo= u=20 can find it in fuse-devel archives). Brian asked: > Would this pose a problem for a filesystem in which the size of the > inode can change remotely (i.e., not visible to the local instance of > fuse)? I haven't tested this, but it seems like it could be an issue > based on the implementation. And Pavel replied: > Yes, it will. The model of i_size management I implemented here is ba= sed > on an assumption that the userspace is just a storage for data and sh= ould > catch up with the kernel i_size value. In order to make it possible f= or user > space to update i_size in kernel we'd have to implement some (probabl= y) > tricky algorithm, I haven't yet thought about it. The patch-set follows the model "trust kernel i_size only". This works=20 fine at least in case of userspace fuse wtih exclusive write semantics.= =20 In case of mutual concurrent internal/external read/write access, sysad= =20 should not turn the feature on (it's turned off by default). I wouldn't= =20 like to complicate the patch-set further adding bits for that case. Thi= s=20 area is opened for future enhancements :) Thanks, Maxim