LINUX

포스트: 487|아이템:LINUX(477)
Tags

Posts

487 posts

[Linux][Kernel] WARN 매크로

Guillermo Austin Kim|2018년 5월 9일

WARN 매크로는 코드 흐름에 소프트웨어적인 오류가 있을 때 실행합니다. 그래서 소스 코드를 보다가 WARN() 매크로를 보면 뭔가 논리적인 오류가 있는 조건이라고 봐야겠죠. WARN 매크로를 어떤 함수에서 실행되면 시스템 정보를 커널 로그로 출력합니다.1. 콜스택2. 현재 수행 중인 프로세스 정보: CPU번호, 프로세스 이름, pid3. 함수 이름과 라인 정보 하지만 커널 시스템에 심각한 오류가 있는 상태가 아니라 판단해서 에러 메시지만 출력하고 시스템을 계속 구동시킵니다. 그럼 새로운 드라이버 코드를 짰는데 WARN 매크로가 실행되면 어떻게 해야 할까요? 시스템에 치명적인 에러는 아니라 그냥 둬야 할까요? 그렇지 않습니다. WARN 매크로는 시스템에 뭔가 논리적인 오류가 있는 상태이므로 반드시 잡아

curlftpfs - 리눅스에서 ftp 서버를 디렉토리에 연결(마운트)하기

반달가면|2018년 5월 9일

리눅스에서 curlftpfs를 활용하면 ftp 서버에 접속해서 작업하는 과정을 로컬(local) 디렉토리에서 작업하는 방식과 동일하게 만들 수 있다. ftp 서버의 디렉토리를 로컬 디렉토리에 연결(마운트)해 준다. 우선 curlftpfs 패키지를 설치하자. 데이안/우분투 계열 기준으로 터미널창에서 아래와 같이 입력 # curlftpfs 설치 sudo apt-get install curlftpfs 이제 연결을 해 보자. 예를 들어 ~/ftpfs_test 디렉토리에 연결할 ftp 서버 주소는 ftp.my_server.net, 접속 계정은 john, 암호는 abcd라면 아래와 같이 실행할 수 있다. curlftpfs ~/ftpfs_test 이제 ~/ftpfs_test 디렉토리로 가 보

리눅스에서 .netrc 파일을 이용한 ftp 자동 로그인

반달가면|2018년 5월 8일

같은 LAN에 붙어 있는 ftp 서버에 자주 접속해서 뭔가 작업을 할 경우가 있어서 접속할 때마다 사용자 계정과 암호를 입력하기가 번거로운 관계로, .netrc 파일에 로그인 정보를 저장해서 자동으로 로그인되도록 했다. .netrc 파일은 홈 디렉토리(~/)에 둔다. 없다면 새로 만들면 되겠다. # .netrc 파일 편집 vi ~/.netrc 파일 내용은 아래와 같은 형식으로 구성된다. machine [서버 주소] login [사용자 계정] password [암호] 예를 들어 서버 주소 ftp.my_server.net, 사용자 계정 john, 접속암호 my_pwd인 경우 .netrc 파일에 아래와 같은 형태로 입력하고 저장하면 되겠다. machine ftp.my_server

[Linux][Kernel] container_of 매크로

Guillermo Austin Kim|2018년 5월 8일

이번에는 container_of란 매크로를 배워볼게요. 커널 코드에서 current 매크로 못지않게 많이 활용하는 매크로이니 잘 알아야겠죠. 그럼 다음 샘플 코드를 함께 보면서 container_of란 매크로을 어떻게 활용하는지 살펴볼까요? 다음 wq_barrier_func 함수를 예를 들까요? container_of를 써서 struct wq_barrier *barr 로컬 변수에 어떤 값을 대입하고 있죠.static struct workqueue_struct *dev_to_wq(struct device *dev){ struct wq_device *wq_dev = container_of(dev, struct wq_device, dev); return wq_dev->wq;} 위 코드를 읽기 전에 우