From dba61e9982d41d26b15586ce332f2379ea03219c Mon Sep 17 00:00:00 2001 From: wangdi Date: Fri, 21 Nov 2003 18:20:10 +0000 Subject: [PATCH] add special device inode lustre handler --- lustre/llite/llite_lib.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lustre/llite/llite_lib.c b/lustre/llite/llite_lib.c index bd94fdd..27c25d3 100644 --- a/lustre/llite/llite_lib.c +++ b/lustre/llite/llite_lib.c @@ -1059,6 +1059,18 @@ void ll_read_inode2(struct inode *inode, void *opaque) kdev_t_to_nr(inode->i_rdev)); #else init_special_inode(inode, inode->i_mode, inode->i_rdev); + + lli->ll_save_ifop = inode->i_fop; + if (S_ISCHR(inode->i_mode)) { + inode->i_fop = &ll_special_chr_inode_fops; + }else if (S_ISBLK(inode->i_mode)) { + inode->i_fop = &ll_special_blk_inode_fops; + }else if (S_ISFIFO(inode->i_mode)){ + inode->i_fop = &ll_special_fifo_inode_fops; + }else if (S_ISSOCK(inode->i_mode)){ + inode->i_fop = &ll_special_sock_inode_fops; + } + inode->i_fop->owner = lli->ll_save_ifop->owner; #endif EXIT; } -- 1.8.3.1