亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于閃存特性的EXT4文件系統(tǒng)讀寫性能優(yōu)化研究

        2018-08-24 08:51:40
        計算機(jī)測量與控制 2018年8期
        關(guān)鍵詞:事務(wù)日志邏輯

        ,

        (西安郵電大學(xué) 計算機(jī)學(xué)院,西安 710061)

        0 引言

        Android是一款基于Linux內(nèi)核的開源操作系統(tǒng),一經(jīng)提出便在移動設(shè)備上迅速普及,目前Android系統(tǒng)已經(jīng)占據(jù)了全球智能手機(jī)五成份額[1]。Android智能手機(jī)廣泛使用體積小、功耗低的eMMC(Embedded Multi Media Card)作為數(shù)據(jù)存儲設(shè)備,區(qū)別于傳統(tǒng)機(jī)械硬盤,eMMC使用閃存芯片作為存儲介質(zhì)[2]。同時因手機(jī)電源不穩(wěn)定的特點(diǎn),Android默認(rèn)使用EXT4文件系統(tǒng)[3],作為Linux中最常用的日志文件系統(tǒng),采用JBD2(Journal Block Device 2)軟件[4]進(jìn)行日志記錄,因此擁有良好的故障恢復(fù)能力,能夠保證Android系統(tǒng)的穩(wěn)定性以及數(shù)據(jù)的安全性。目前Android存儲系統(tǒng)架構(gòu)與Linux存儲系統(tǒng)架構(gòu)類似,有著用戶空間與內(nèi)核空間兩部分。內(nèi)核空間中主要包括EXT4文件系統(tǒng)與eMMC存儲設(shè)備兩個部分,EXT4文件系統(tǒng)通過虛擬文件系統(tǒng)向用戶空間提供系統(tǒng)調(diào)用接口,而EXT4文件系統(tǒng)底層則通過通用塊層、塊設(shè)備驅(qū)動層與eMMC塊設(shè)備關(guān)聯(lián)起來[5]。

        目前針對Android系統(tǒng)存儲性能優(yōu)化的方案主要有兩個方面:一方面是用戶空間中對應(yīng)用軟件或者軟件依賴運(yùn)行庫的優(yōu)化;另一方面是內(nèi)核空間中對文件系統(tǒng)的優(yōu)化。用戶空間中的優(yōu)化主要集中于對Android中大量使用的SQLite數(shù)據(jù)庫技術(shù)的改進(jìn),例如通過消除SQLite的WAL模式下數(shù)據(jù)庫checkpoints的寫冗余部分,獲取存儲性能的提升[6],但是這樣的方案只能夠提升軟件利用SQLite技術(shù)存儲數(shù)據(jù)時的存儲效率,無法對Android系統(tǒng)中文本文件、多媒體文件等多種類型的文件讀寫產(chǎn)生有效提升。內(nèi)核空間中的優(yōu)化主要包括對Android默認(rèn)使用的EXT4文件系統(tǒng)的優(yōu)化以及針對Android使用的閃存設(shè)備設(shè)計專門的文件系統(tǒng)兩種方案,前者優(yōu)化調(diào)整EXT4文件系統(tǒng)中的重要參數(shù)從而提升文件系統(tǒng)的整體存儲性能,但是方案中并沒有考慮到EXT4文件系統(tǒng)的日志功能用于閃存設(shè)備所造成的影響,而且效果并不理想[7];后者則有著著名的F2FS(Flash Friendly File System)[8],此方案雖然在小文件的隨機(jī)讀寫上有著較大的提升,但是由于開發(fā)時間尚短,在系統(tǒng)穩(wěn)定性、軟件兼容性等方面仍無法與EXT4文件系統(tǒng)相比,因此目前尚未廣泛使用。

        針對Android智能手機(jī)普遍采用的eMMC存儲設(shè)備掛載EXT4文件系統(tǒng)的存儲系統(tǒng)架構(gòu),本文分析了EXT4文件系統(tǒng)日志特性導(dǎo)致其對閃存設(shè)備文件讀寫性能衰減的問題,提出了一種能夠消除此問題的EXT4文件系統(tǒng)日志功能優(yōu)化方案。

        1 相關(guān)理論

        1.1 EXT4日志文件系統(tǒng)

        EXT4文件系統(tǒng)借用了數(shù)據(jù)庫中事務(wù)的思想,為需同步至磁盤的數(shù)據(jù)建立相關(guān)的日志數(shù)據(jù),以便能夠在發(fā)生系統(tǒng)崩潰后可以利用日志數(shù)據(jù)恢復(fù),重新使文件系統(tǒng)保持一致的狀態(tài)[9]。EXT4文件系統(tǒng)掛載時將磁盤空間劃出一小塊空間作為日志數(shù)據(jù)區(qū)域,專門用于存儲日志數(shù)據(jù)。文件系統(tǒng)讀寫文件時,保持原有的讀寫磁盤邏輯不變,通過JBD2進(jìn)程將影響文件系統(tǒng)一致性的元數(shù)據(jù)塊及時寫入到日志數(shù)據(jù)區(qū)域中。

        表1 EXT4文件系統(tǒng)數(shù)據(jù)同步事務(wù)狀態(tài)表

        圖1描述了EXT4文件系統(tǒng)日志數(shù)據(jù)流。虛線箭頭表示了當(dāng)文件系統(tǒng)讀寫數(shù)據(jù)中途崩潰時的修復(fù)過程,重新掛載分區(qū)時根據(jù)日志數(shù)據(jù)區(qū)域中的數(shù)據(jù),逐一將記錄下的元數(shù)據(jù)寫回到磁盤原始位置,保證文件系統(tǒng)的一致性。實線箭頭表示每次EXT4文件系統(tǒng)讀寫磁盤時的邏輯,首先由JBD2進(jìn)程將每次需要寫入的數(shù)據(jù)中元數(shù)據(jù)部分拷貝一份,將元數(shù)據(jù)封裝成日志數(shù)據(jù)后提交到日志數(shù)據(jù)區(qū)域,之后EXT4文件系統(tǒng)對磁盤進(jìn)行正常讀寫數(shù)據(jù)流程,這樣的一次流程被稱為一次事務(wù)。表1為一個事務(wù)幾種狀態(tài)的描述[10],以區(qū)分事務(wù)的執(zhí)行程度。

        圖1 EXT4文件系統(tǒng)日志數(shù)據(jù)流圖

        EXT4的日志數(shù)據(jù)區(qū)域以文件系統(tǒng)的塊為單位組織日志數(shù)據(jù),有著類似于通用數(shù)據(jù)區(qū)域的結(jié)構(gòu)劃分,但是相比通用數(shù)據(jù)區(qū)域更加簡單,起始位置存放了日志數(shù)據(jù)的超級塊,用于組織管理日志數(shù)據(jù)區(qū)域,隨后便是按順序以及一定規(guī)則存放的各次事務(wù)日志數(shù)據(jù)。一次事務(wù)的日志數(shù)據(jù)主要由描述塊、數(shù)據(jù)塊和提交塊組成,其中描述塊標(biāo)識了一份日志數(shù)據(jù)的起始位置,數(shù)據(jù)塊則存儲了日志數(shù)據(jù)內(nèi)容,提交塊用于表明本次事務(wù)是一次完整的事務(wù),在文件系統(tǒng)崩潰恢復(fù)時只會使用完整的事務(wù)數(shù)據(jù)。在進(jìn)行文件系統(tǒng)崩潰恢復(fù)時,需要找到日志數(shù)據(jù)的數(shù)據(jù)塊所在原文件系統(tǒng)的塊地址進(jìn)行回寫修復(fù),因此日志數(shù)據(jù)中的各個數(shù)據(jù)塊與原文件系統(tǒng)的目標(biāo)塊的對應(yīng)關(guān)系就尤為重要,這種對應(yīng)關(guān)系存放在描述塊中。由于數(shù)據(jù)塊數(shù)量不定,JBD2在描述塊中通過一個數(shù)據(jù)結(jié)構(gòu)表明一組對應(yīng)關(guān)系,該數(shù)據(jù)結(jié)構(gòu)為:

        typedef struct journal_block_tag_s

        {

        __be32 t_blocknr;

        __be32 t_flags;

        __be32 t_blocknr_high;

        } journal_block_tag_t;

        該結(jié)構(gòu)體通過其在描述塊中序號標(biāo)識代表的數(shù)據(jù)塊號,通過t_blocknr字段標(biāo)識對應(yīng)的原文件系統(tǒng)塊地址。每個描述塊中都包含了一個或多個journal_block_tag_t結(jié)構(gòu)體用于表明本次事務(wù)日志數(shù)據(jù)中各數(shù)據(jù)塊對應(yīng)的文件系統(tǒng)原始位置。

        1.2 閃存轉(zhuǎn)換層

        閃存轉(zhuǎn)換層(Flash Translation Layer,簡稱FTL)是一種通過塊設(shè)備模擬方式實現(xiàn)閃存設(shè)備存儲系統(tǒng)的技術(shù)。將底層NAND閃存介質(zhì)的管理及操作封裝起來,為文件系統(tǒng)提供塊設(shè)備讀寫接口,從而讓文件系統(tǒng)訪問NAND型閃存就像訪問傳統(tǒng)機(jī)械硬盤一樣[11]。閃存轉(zhuǎn)換層的功能主要有兩點(diǎn):地址映射及垃圾回收。一般情況下,閃存轉(zhuǎn)換層通過維護(hù)兩個靜態(tài)表來完成它的功能[12],如圖2所示。

        圖2 閃存轉(zhuǎn)換層結(jié)構(gòu)圖

        閃存轉(zhuǎn)換層通過其內(nèi)部維護(hù)的地址映射表和空間管理表來管理邏輯地址轉(zhuǎn)換以及閃存的物理空間。當(dāng)文件系統(tǒng)通過塊設(shè)備讀寫接口讀寫塊設(shè)備時,由閃存設(shè)備接收對邏輯區(qū)塊地址的讀寫請求,根據(jù)讀寫請求中的邏輯區(qū)塊地址,在閃存轉(zhuǎn)換層中通過地址映射表找到對應(yīng)的物理區(qū)塊地址進(jìn)行訪問,這就是閃存轉(zhuǎn)換層的地址映射功能。垃圾回收即對閃存中的無用數(shù)據(jù)進(jìn)行回收,閃存轉(zhuǎn)換層指定一個閃存塊進(jìn)行垃圾回收,通過空間管理表中的頁面狀態(tài)判斷當(dāng)前頁中的數(shù)據(jù)是否需要保留,對需要保留的數(shù)據(jù)頁(Live,頁面狀態(tài)中記錄了物理頁面對應(yīng)的邏輯區(qū)塊地址)暫時拷貝至緩存或其他區(qū)域,等待塊擦除完成再次寫入原位置,對于處于已經(jīng)無用的數(shù)據(jù)頁面(頁面狀態(tài)為dead)則無需拷貝,直接擦除[13]。

        2 EXT4文件系統(tǒng)閃存設(shè)備的性能衰減分析

        EXT4文件系統(tǒng)掛載時對塊設(shè)備劃分的日志數(shù)據(jù)區(qū)域是對邏輯區(qū)塊地址的劃分,即針對閃存轉(zhuǎn)換層維護(hù)的地址映射表中邏輯區(qū)塊地址進(jìn)行了通用數(shù)據(jù)區(qū)域與日志數(shù)據(jù)區(qū)域的劃分。但是當(dāng)實際數(shù)據(jù)同步至閃存設(shè)備時,邏輯區(qū)塊地址實際映射的閃存物理地址是根據(jù)閃存設(shè)備自身損耗均衡等機(jī)制確定并建立映射的,這樣就會導(dǎo)致在EXT4文件系統(tǒng)提出IO請求的邏輯區(qū)塊地址上,通用數(shù)據(jù)與日志數(shù)據(jù)嚴(yán)格分離,但是在閃存設(shè)備中,兩種數(shù)據(jù)卻可能是混雜在同一個閃存塊中的。

        如圖3所示,日志數(shù)據(jù)區(qū)域是邏輯區(qū)塊地址范圍為100至149的區(qū)域,當(dāng)EXT4文件系統(tǒng)開始將數(shù)據(jù)同步至閃存設(shè)備時,文件數(shù)據(jù)寫入到通用數(shù)據(jù)區(qū)域,而日志數(shù)據(jù)寫入到日志數(shù)據(jù)區(qū)域,兩個區(qū)域都是連續(xù)且嚴(yán)格分離的,但是數(shù)據(jù)寫入到閃存設(shè)備具體頁時,數(shù)據(jù)會由閃存設(shè)備根據(jù)自身的策略選擇一個空白頁進(jìn)行寫入,這就導(dǎo)致了在一個閃存設(shè)備的物理塊中,日志數(shù)據(jù)的頁與通用數(shù)據(jù)的頁是混雜的。

        圖3 通用數(shù)據(jù)及日志數(shù)據(jù)存儲狀況

        EXT4文件系統(tǒng)通過JBD2將日志數(shù)據(jù)提交到日志數(shù)據(jù)區(qū)域,JBD2軟件通過函數(shù)jbd2_journal_next_lob_block函數(shù)獲取下一個可寫入的邏輯區(qū)塊地址,此函數(shù)的實現(xiàn)決定了日志數(shù)據(jù)以何種順序記錄在日志數(shù)據(jù)區(qū)域中。 jbd2_journal_next_log_block函數(shù)中由j_head變量作為日志數(shù)據(jù)區(qū)域的寫指針,用于指向下一個可寫的邏輯區(qū)塊地址,在每次寫入一個邏輯塊后通過自增的方式改變寫指針位置。當(dāng)指針指向日志數(shù)據(jù)區(qū)域尾部即日志數(shù)據(jù)區(qū)域全部寫滿后,指針會重新指向日志數(shù)據(jù)區(qū)域頭部,即日志數(shù)據(jù)再次從區(qū)域頭部開始寫入。采用這樣方式能夠利用傳統(tǒng)機(jī)械硬盤的可覆寫特性,不對以往寫入的日志數(shù)據(jù)執(zhí)行刪除操作,直接覆蓋寫入新的日志數(shù)據(jù)。如圖4所示。

        圖4 JBD2日志數(shù)據(jù)區(qū)域循環(huán)結(jié)構(gòu)原理

        根據(jù)以上情況可以看出,EXT4文件系統(tǒng)可以在日志數(shù)據(jù)區(qū)域不斷的循環(huán)寫入日志數(shù)據(jù),在滿足日志數(shù)據(jù)寫指針到達(dá)日志數(shù)據(jù)區(qū)域尾部之前,日志數(shù)據(jù)不會主動刪除,對于閃存設(shè)備而言,這些數(shù)據(jù)隨機(jī)分散在閃存設(shè)備的各個塊中,并且與通用數(shù)據(jù)混雜在一起,閃存設(shè)備進(jìn)行垃圾回收時,這些數(shù)據(jù)所在頁的狀態(tài)仍為Live,導(dǎo)致閃存設(shè)備垃圾回收時仍然需要拷貝這部分無用日志數(shù)據(jù),造成文件系統(tǒng)讀寫閃存文件性能衰減的現(xiàn)象,本文對此問題提出相應(yīng)解決方案。

        3 優(yōu)化方案

        本文針對以上描述的問題,提出主動刪除事務(wù)日志數(shù)據(jù)策略,根據(jù)EXT4文件系統(tǒng)數(shù)據(jù)同步事務(wù)處于Finished狀態(tài)時,通用數(shù)據(jù)以及日志數(shù)據(jù)已經(jīng)全部寫入磁盤的含義,結(jié)合JBD2日志數(shù)據(jù)區(qū)域循環(huán)結(jié)構(gòu)的特性,在事務(wù)狀態(tài)變?yōu)镕inished時記錄本次事務(wù)日志數(shù)據(jù)的結(jié)束邏輯區(qū)塊地址,多次數(shù)據(jù)同步事務(wù)的過程中,通過上次事務(wù)與本次事務(wù)保存下來的邏輯區(qū)塊地址確定本次事務(wù)的日志數(shù)據(jù)位置,進(jìn)行主動刪除操作。對于開啟日志功能的EXT4文件系統(tǒng),優(yōu)化后單次數(shù)據(jù)同步操作的基本流程如圖5所示。

        圖5 優(yōu)化后EXT4單次數(shù)據(jù)同步事務(wù)流程

        通過多次數(shù)據(jù)同步事務(wù)中對圖5中描述的流程不斷循環(huán),達(dá)到及時刪除無用日志數(shù)據(jù)的目的,消除因日志功能導(dǎo)致的EXT4文件系統(tǒng)讀寫性能衰減問題。根據(jù)事務(wù)的Finished狀態(tài)記錄下本次事務(wù)日志數(shù)據(jù)的結(jié)束邏輯區(qū)塊地址,同時檢查是否存在有效的上次事務(wù)日志數(shù)據(jù)的結(jié)束邏輯區(qū)塊地址,若存在,則兩地址之間的頁保存了本次事務(wù)的日志數(shù)據(jù),將這段邏輯區(qū)域地址對應(yīng)的閃存物理頁面無效化,從而將日志數(shù)據(jù)刪除;若不存在,則不進(jìn)行閃存頁面無效化操作,本次事務(wù)保存的地址在下次事務(wù)時標(biāo)記了日志數(shù)據(jù)的起始區(qū)塊地址,從而實現(xiàn)下次事務(wù)的日志數(shù)據(jù)刪除操作。

        圖6 主動刪除事務(wù)日志數(shù)據(jù)策略原理

        如圖6所示,在日志數(shù)據(jù)區(qū)域中,事務(wù)日志數(shù)據(jù)的主動刪除策略通過j_invalid_begin與j_invalid_end兩個變量記錄事務(wù)日志數(shù)據(jù)的邏輯區(qū)塊地址,將日志數(shù)據(jù)刪除,完成后將j_invalid_end向后移動,作為下次刪除操作的起始位置。當(dāng)日志數(shù)據(jù)的刪除指針到達(dá)日志數(shù)據(jù)區(qū)域尾部時,采取與日志循環(huán)寫入結(jié)構(gòu)相同的策略,刪除指針重新指向日志數(shù)據(jù)區(qū)域頭部。

        本文為EXT4文件系統(tǒng)的日志功能實現(xiàn)了一個額外的循環(huán)結(jié)構(gòu),將不會再被使用到的日志數(shù)據(jù)刪除,無用的日志數(shù)據(jù)基于事務(wù)Finished狀態(tài)進(jìn)行刪除,F(xiàn)inished狀態(tài)即表示正式數(shù)據(jù)已經(jīng)寫入完畢,不再需要該事務(wù)的日志數(shù)據(jù)預(yù)防宕機(jī)、EXT4文件系統(tǒng)崩潰等情況,因此不會出現(xiàn)有用的日志數(shù)據(jù)被刪除的情況,保證系統(tǒng)穩(wěn)定性的同時提高文件系統(tǒng)讀寫性能。

        4 實驗分析

        4.1 實驗環(huán)境

        為驗證本文提出的EXT4文件系統(tǒng)日志功能優(yōu)化方案,進(jìn)行實機(jī)測試比較,所用機(jī)型為Samsung Galaxy S5,具體環(huán)境參數(shù)如表2所示。

        表2 測試環(huán)境

        對Linux內(nèi)核修改后編譯并移植至測試機(jī)器中,進(jìn)行相應(yīng)測試。

        4.2 測試分析

        首先通過A1 SD Bench進(jìn)行測試,這是一款A(yù)ndroid手機(jī)存儲性能測試工具,能夠測試手機(jī)內(nèi)置閃存、RAM等設(shè)備的性能。執(zhí)行50次A1 SD Bench閃存性能測試,每次分別進(jìn)行100秒讀取及寫入操作,統(tǒng)計讀取與寫入的數(shù)據(jù)量計算出對閃存讀取速度與寫入速度。如圖7、8所示,圖中橫坐標(biāo)為測試次數(shù)序號,縱坐標(biāo)為讀、寫速度。

        通過圖7可以看到,灰色線條表示優(yōu)化前讀取速度折線圖,黑色線條則表示優(yōu)化后讀取速度。優(yōu)化前EXT4讀取速度范圍約為166.6 Mb/s至181.3 Mb/s,而優(yōu)化后讀取速度范圍約為187.4 Mb/s至199.8 Mb/s,雖然速度存在一定波動,但是從圖中可以看出,優(yōu)化后的讀取速度相比優(yōu)化前有著明顯的提升。

        圖7 優(yōu)化前后讀取速度比較

        圖8 優(yōu)化前后寫入速度比較

        通過圖8可以看到,與讀取速度類似,寫入速度也存在波動的現(xiàn)象,優(yōu)化前的EXT4寫入速度范圍約為20.2 Mb/s至22.2 Mb/s,優(yōu)化后的寫入速度范圍約為22.6 Mb/s至24.63 Mb/s。雖然優(yōu)化前寫入速度最大值與優(yōu)化后寫入速度的最小值之間的差距并不大,甚至在第18次的測試中,優(yōu)化前后的寫入速度差僅為0.49 Mb/s,但是在整體折線圖的分布上,優(yōu)化后寫入性能有著明顯提升。此外通過以上測試可以看出,讀取速度明顯優(yōu)于寫入速度,這主要是由于Android所使用NAND閃存介質(zhì)本身讀取性能遠(yuǎn)高于寫入性能導(dǎo)致的。對以上測試數(shù)據(jù)進(jìn)行統(tǒng)計計算后,本方案優(yōu)化后文件系統(tǒng)的讀寫性能提升約11.8%。接下來編寫程序測試優(yōu)化前后EXT4對不同大小文件的讀寫時間,通過O_DIRECT標(biāo)志繞過文件系統(tǒng)緩存,對各種大小的文件分別測試10次統(tǒng)計平均值,測試結(jié)果如圖9所示。

        圖9 不同文件大小讀寫時間測試

        如圖9所示,縱坐標(biāo)代表不同大小文件的讀寫速度,修改后EXT4對相同大小文件的讀寫花費(fèi)的時間相比于原內(nèi)核更短。在文件較小時,優(yōu)化前后花費(fèi)的時間差別較??;但是當(dāng)文件較大時,優(yōu)化后所花費(fèi)的時間有著明顯的減少。這是因為對于小文件來說,可能觸發(fā)的垃圾回收過程較少甚至不需要進(jìn)行垃圾回收,因此本方案優(yōu)化效果不明顯,但是在進(jìn)行大文件的讀寫時,會觸發(fā)更多的閃存垃圾回收,本方案能夠減少閃存垃圾回收中對無用日志數(shù)據(jù)的拷貝消耗,因此提升效果較為明顯。

        5 結(jié)論

        本文提出一種提高EXT4文件系統(tǒng)性能優(yōu)化方案,首先記錄數(shù)據(jù)同步事務(wù)處于Finished狀態(tài)時日志數(shù)據(jù)的邏輯區(qū)塊地址,結(jié)合上一事務(wù)記錄下的邏輯區(qū)塊地址,令本次日志數(shù)據(jù)所在閃存物理頁面無效,最后在垃圾回收時清除閃存設(shè)備的無用日志數(shù)據(jù),從而避免日志數(shù)據(jù)的冗余拷貝。

        通過實驗對比,本文方法能夠減輕閃存設(shè)備因日志數(shù)據(jù)造成的“寫放大”現(xiàn)象,同時能夠在增強(qiáng)EXT4文件系統(tǒng)讀寫效率的同時,延長閃存設(shè)備的使用壽命。

        在本文研究基礎(chǔ)上,下一步研究工作主要有以下幾個方面,考慮除日志數(shù)據(jù)以外導(dǎo)致Android存儲性能下降的其他因素,例如針對SQLite與EXT4的日志記錄不協(xié)調(diào)問題進(jìn)行優(yōu)化研究等,實現(xiàn)Android I/O棧從應(yīng)用程序至底層硬件設(shè)備的一整套優(yōu)化方案,進(jìn)一步提高Android智能手機(jī)的存儲性能。

        猜你喜歡
        事務(wù)日志邏輯
        “事物”與“事務(wù)”
        基于分布式事務(wù)的門架數(shù)據(jù)處理系統(tǒng)設(shè)計與實現(xiàn)
        刑事印證證明準(zhǔn)確達(dá)成的邏輯反思
        法律方法(2022年2期)2022-10-20 06:44:24
        邏輯
        一名老黨員的工作日志
        華人時刊(2021年13期)2021-11-27 09:19:02
        創(chuàng)新的邏輯
        扶貧日志
        心聲歌刊(2020年4期)2020-09-07 06:37:14
        河湖事務(wù)
        女人買買買的神邏輯
        37°女人(2017年11期)2017-11-14 20:27:40
        游學(xué)日志
        亚洲人成电影网站色| 亚洲日本一区二区在线观看| 国产激情小视频在线观看| 免费毛儿一区二区十八岁| 人妻少妇精品无码专区二区| 日本成人久久| 人妻熟女妇av北条麻记三级| 美女人妻中出日本人妻| 久久精品欧美日韩精品| 丝袜AV在线一区二区三区| 黄色网页在线观看一区二区三区| 国产性虐视频在线观看| 麻豆tv入口在线看| 牛牛本精品99久久精品88m| 久久久9色精品国产一区二区三区 国产三级黄色片子看曰逼大片 | 日韩精品区欧美在线一区| 人妻少妇精品视频中文字幕国语| 91精品人妻一区二区三区久久久| 亚洲熟妇久久国产精品| 999国产一区在线观看| 五月婷婷激情六月开心| 极品粉嫩小仙女高潮喷水网站| 国产女主播精品大秀系列| 欧美在线成人午夜网站| 亚洲av自偷自拍亚洲一区| 先锋影音人妻啪啪va资源网站| 成av免费大片黄在线观看| 呦泬泬精品导航| 日韩一区二区中文天堂| 曰韩无码无遮挡a级毛片| 中文字幕无线码中文字幕| 久久成人黄色免费网站| 国产精品无套一区二区久久| 丰满人妻熟妇乱又伦精品软件| 成人xx免费无码| 美女被强吻并脱下胸罩内裤视频| 久久综合香蕉国产蜜臀av| 两个人看的www高清视频中文| 国产黄色精品高潮播放| 干日本少妇一区二区三区| 久久亚洲色www成人欧美|