On Tue, Nov 9, 2010 at 1:38 PM, Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx> wrote: > On Tue, Nov 9, 2010 at 1:35 PM, Jeff Layton <jlayton@xxxxxxxxxx> wrote: >> On Tue, 9 Nov 2010 13:15:07 -0600 >> shirishpargaonkar@xxxxxxxxx wrote: >> >>> --- a/fs/cifs/inode.c >>> +++ b/fs/cifs/inode.c >>> @@ -688,10 +688,9 @@ int cifs_get_inode_info(struct inode **pinode, >>> >>> #ifdef CONFIG_CIFS_EXPERIMENTAL >>> /* fill in 0777 bits from ACL */ >>> - if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_CIFS_ACL) { >>> - cFYI(1, "Getting mode bits from ACL"); >>> - cifs_acl_to_fattr(cifs_sb, &fattr, *pinode, full_path, pfid); >>> - } >>> + if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_CIFS_ACL) >>> + rc = cifs_acl_to_fattr(cifs_sb, &fattr, *pinode, full_path, >>> + pfid); >> >> Do you want to return an error from cifs_get_inode_info when fetching >> the ACL fails? I think you either need to goto cgii_exit if rc != 0, or >> keep ignoring the error code like you do today. If the function is >> going to return an error, then there's no real point in doing the later >> stuff (the iget, etc). >> >> >> -- >> Jeff Layton <jlayton@xxxxxxxxxx> >> > > Jeff, I thought about that. I think we should handle the error in both > cifs_get_inode_info and mode_to_acl. Both the functions are in experimental > mode. And mode_to_acl does not log any error on rc, so I removed from > cifs_get_inode_info also although cifs_acl_to_fattr does. > I do not think this patch has caused this condition but investigating. cifstest6:/usr/src/cthon04 # mount /dev/sda2 on / type ext3 (rw,acl,user_xattr) /proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) debugfs on /sys/kernel/debug type debugfs (rw) udev on /dev type tmpfs (rw) devpts on /dev/pts type devpts (rw,mode=0620,gid=5) fusectl on /sys/fs/fuse/connections type fusectl (rw) securityfs on /sys/kernel/security type securityfs (rw) cifstest6:/usr/src/cthon04 # rmmod cifs ERROR: Module cifs is in use cifstest6:/usr/src/cthon04 # dmesg CIFS VFS: Unexpected SMB signature CIFS VFS: Unexpected SMB signature CIFS VFS: cifs_acl_to_fattr: error -26 getting sec desc CIFS VFS: cifs_acl_to_fattr: error -26 getting sec desc CIFS VFS: cifs_acl_to_fattr: error -26 getting sec desc CIFS VFS: cifs_acl_to_fattr: error -26 getting sec desc CIFS VFS: cifs_acl_to_fattr: error -26 getting sec desc CIFS VFS: cifs_acl_to_fattr: error -26 getting sec desc CIFS VFS: cifs_acl_to_fattr: error -26 getting sec desc CIFS VFS: cifs_acl_to_fattr: error -26 getting sec desc CIFS VFS: cifs_acl_to_fattr: error -26 getting sec desc CIFS VFS: cifs_acl_to_fattr: error -26 getting sec desc #define ETXTBSY 26 /* Text file busy */ -- To unsubscribe from this list: send the line "unsubscribe linux-cifs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html