JFS day1

이미지
 JFS 는 DFS(distribution file system) 지원을 위해 aggregate 와 fileset 이라는 개념을 도입해  diskspace allocation pool 과 mountable volume 을 분리하였다.  JFS 는 파티션 위에 1개의 aggregate 와 1개 이상의 fileset 으로 구성된다.  JFS 의 dynamic inode allocation 으로 인해, 별도의 mapping 정보가 필요하게 되어  등장한게 Inode allcation map 과 ag free inode list 이다.  JFS 는 file 이 사용하는 연속된 disk block 을 extents 라 부르며, AG 를 넘어가는 경우엔  B+ tree 에 별도의 인덱싱이 들어가게 된다.   JFS 는 IAG(inode allocation group) 를 사용해 inode allocation map 을 기술하며,   forward lookup 문제를 해결하기 위해 사용하고 있다. file lookup 이 대표적인 문제이며,  inode 번호로 on-disk inode 를 찾는 과정이다.  JFS 는 1개의 inode allocation map 에 4096 개의 disk inode extents 의 상태 관리(0, 1)를  하고, 최대 128개 AG 로 구분할수 있다.  __le32 wmap[EXTSPERIAG];   // 32 x 128 /* number of disk inode extent per iag  */  JFS 는 file layout 를 작성할때 1개의 B+ tree node 가 8개의 xad_t 를 사용해   물리 영역과 논리 볼륨을 연결 해준다. 현재는 "18개의 xad_t" 까지 가능하다.  #define XTROOTMAXSLOT  ...