[發明專利]一種在線收縮ext2/3文件系統的方法無效
| 申請號: | 200910084767.6 | 申請日: | 2009-05-19 |
| 公開(公告)號: | CN101556607A | 公開(公告)日: | 2009-10-14 |
| 發明(設計)人: | 宋振華 | 申請(專利權)人: | 宋振華 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京德琦知識產權代理有限公司 | 代理人: | 牛 崢;王麗琴 |
| 地址: | 102208北京市昌平區回龍觀鎮*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 在線 收縮 ext2 文件系統 方法 | ||
1.一種在線收縮online?shrink?ext2/3文件系統的方法,其特征在于,該方法包括:
a1.標記所述文件系統收縮邊界外的數據,將其中的某個數據作為當前數據,所述文件系統收縮邊界外的數據為所述文件系統收縮邊界外有效數據塊DB中的數據或所述文件系統收縮邊界外有效索引節點中的數據;
b1.對所述當前數據在硬盤中對應的塊所對應的內存緩沖區進行上鎖,防止所述當前數據被讀進程或寫進程訪問,如果上鎖成功,則將所述當前數據轉移至文件系統收縮邊界內;如果上鎖失敗,則繼續對所述當前數據在硬盤中對應的塊所對應的內存緩沖區進行上鎖,直至上鎖成功后,再將所述當前數據轉移至文件系統收縮邊界內,
當所述文件系統收縮邊界外的數據為所述文件系統收縮邊界外有效DB中的數據時,所述步驟b1包括:
a6.標記所述文件系統收縮邊界外的有效DB,在所述文件系統中找到所述有效DB的索引塊,并在所述文件系統邊界內找到用于存放所述有效DB中的數據的空閑塊,將其中的某個有效DB作為當前有效DB,將所述當前有效DB的索引塊作為當前索引塊,將用于存放所述當前有效DB中的數據的空閑塊作為當前空閑塊;
b6.對當前有效DB所對應的內存緩沖區進行上鎖,如果上鎖成功,則執行步驟c6;否則,重復執行步驟b6;
c6.將當前有效DB中的數據調入所述當前有效DB所對應的內存緩沖區中,并將所述當前有效DB所對應的內存緩沖區中的數據轉移到所述當前空閑塊所對應的內存緩沖區中,再將所述當前空閑塊所對應的內存緩沖區中的數據寫回到所述當前空閑塊中;
d6.對所述當前索引塊所對應的內存緩沖區進行上鎖,將所述當前索引塊索引到當前有效DB的位置修改為索引到所述當前空閑塊,并將所述修改同步更新到硬盤和內存后,解鎖當前索引塊所對應的內存緩沖區;
e6.解鎖所述當前有效DB所對應的內存緩沖區,
當所述文件系統收縮邊界外的數據為所述文件系統收縮邊界外有效索引節點中的數據時,所述步驟b1包括:
a7.標記所述文件系統收縮邊界外的有效索引節點,在所述文件系統中找到所述有效索引節點的硬鏈接塊,并在所述文件系統邊界內找到用于存放所述有效索引節點中的數據的空閑塊,將其中的某個有效索引節點作為當前有效索引節點,將所述當前有效索引節點的硬鏈接塊作為當前硬鏈接塊,將用于存放所述當前有效索引節點中的數據的空閑塊作為當前空閑塊;
b7.對當前有效索引節點所對應的內存緩沖區進行上鎖,如果上鎖成功,則執行步驟c7;否則,繼續對當前有效索引節點所對應的內存緩沖區進行上鎖,直至上鎖成功后,再執行步驟c7;
c7.將當前有效索引節點中的數據調入所述當前有效索引節點所對應的內存緩沖區中,并將所述當前有效索引節點所對應的內存緩沖區中的數據轉移到所述當前空閑塊所對應的內存緩沖區中,再將所述當前空閑塊所對應的內存緩沖區中的數據寫回到所述當前空閑塊中;
d7.對所述當前硬鏈接塊所對應的內存緩沖區進行上鎖,將所述當前硬鏈接塊索引到當前有效索引節點的位置修改為索引到所述當前空閑塊,并將所述修改同步更新到硬盤和內存后,解鎖當前硬鏈接塊所對應的內存緩沖區;
e7.解鎖所述當前有效索引節點所對應的內存緩沖區。
2.如權利要求1所述的方法,其特征在于,所述步驟b1中所述上鎖失敗時,讀進程或寫進程正在訪問所述當前數據。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于宋振華,未經宋振華許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910084767.6/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:對查詢輸入進行基于模式的過濾
- 下一篇:流量控制裝置的檢定方法





