Re: [PATCH 22/39] mds: handle linkage mismatch during cache rejoin

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Mar 21, 2013 at 8:05 PM, Yan, Zheng <zheng.z.yan@xxxxxxxxx> wrote:
> On 03/22/2013 05:23 AM, Gregory Farnum wrote:
>> On Sun, Mar 17, 2013 at 7:51 AM, Yan, Zheng <zheng.z.yan@xxxxxxxxx> wrote:
>>> From: "Yan, Zheng" <zheng.z.yan@xxxxxxxxx>
>>>
>>> For MDS cluster, not all file system namespace operations that impact
>>> multiple MDS use two phase commit. Some operations use dentry link/unlink
>>> message to update replica dentry's linkage after they are committed by
>>> the master MDS. It's possible the master MDS crashes after journaling an
>>> operation, but before sending the dentry link/unlink messages. Later when
>>> the MDS recovers and receives cache rejoin messages from the surviving
>>> MDS, it will find linkage mismatch.
>>
>> I think you're here talking about link/unlink, and the MDS crashing
>> after it's sent out the LogEvent to the OSD but it hasn't actually
>> dispatched the observer slave requests. Is that right? This commit
>> message really confused me; I was trying to figure out which namespace
>> operations were hacking around a proper 2-phase commit by unlinking
>> and relinking inodes into the tree! (The link/unlink code also is
>> doing a 2-phase commit, it just doesn't force a particular order for
>> the journaling, which was previously left unhandled).
>
> I was talking about the cases that use MDCache::send_dentry_{link,unlink}
> to update replica dentry. There are a lot of usage in Server.cc.

Ah, we do this on mknod and openc as well as an explicit client link,
which makes sense. I think I was reading more into your statement than
was actually there.
-Greg
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux