• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/staging/pohmelfs/

Lines Matching refs:psb

44 void pohmelfs_inode_del_inode(struct pohmelfs_sb *psb, struct pohmelfs_inode *pi)
145 struct pohmelfs_sb *psb = POHMELFS_SB(inode->i_sb);
166 unsigned int i = min(end - index, (pgoff_t)psb->trans_max_pages);
185 trans = netfs_trans_alloc(psb, path_len, 0, i);
247 err = netfs_trans_finish(trans, psb);
305 struct pohmelfs_sb *psb = POHMELFS_SB(inode->i_sb);
317 t = netfs_trans_alloc(psb, err + 1, 0, 0);
416 struct pohmelfs_sb *psb = POHMELFS_SB(page->mapping->host->i_sb);
417 long ret = psb->wait_on_page_timeout;
485 struct pohmelfs_sb *psb = POHMELFS_SB(inode->i_sb);
511 t = netfs_trans_alloc(psb, path_len, NETFS_TRANS_SINGLE_DST, 0);
542 err = netfs_trans_finish(t, psb);
644 struct pohmelfs_sb *psb = POHMELFS_SB(inode->i_sb);
646 psb->avail_size -= pos + copied - inode->i_size;
698 struct pohmelfs_sb *psb = POHMELFS_SB(pi->vfs_inode.i_sb);
713 t = netfs_trans_alloc(psb, path_len, NETFS_TRANS_SINGLE_DST, 0);
748 return netfs_trans_finish(t, psb);
821 struct pohmelfs_sb *psb = POHMELFS_SB(sb);
826 pohmelfs_inode_del_inode(psb, pi);
831 atomic_long_dec(&psb->total_inodes);
1005 struct pohmelfs_sb *psb = POHMELFS_SB(pi->vfs_inode.i_sb);
1020 t = netfs_trans_alloc(psb, namelen + path_len + attrsize, 0, 0);
1056 return netfs_trans_finish(t, psb);
1070 struct pohmelfs_sb *psb = POHMELFS_SB(inode->i_sb);
1072 if (!(psb->state_flags & POHMELFS_FLAGS_XATTR))
1084 struct pohmelfs_sb *psb = POHMELFS_SB(inode->i_sb);
1087 long timeout = psb->mcache_timeout;
1089 if (!(psb->state_flags & POHMELFS_FLAGS_XATTR))
1092 m = pohmelfs_mcache_alloc(psb, 0, attrsize, value);
1130 pohmelfs_mcache_remove_locked(psb, m);
1133 pohmelfs_mcache_put(psb, m);
1140 pohmelfs_mcache_put(psb, m);
1202 struct pohmelfs_sb *psb = POHMELFS_SB(inode->i_sb);
1205 spin_lock(&psb->ino_lock);
1207 spin_unlock(&psb->ino_lock);
1212 static struct pohmelfs_inode *pohmelfs_get_inode_from_list(struct pohmelfs_sb *psb,
1217 spin_lock(&psb->ino_lock);
1225 spin_unlock(&psb->ino_lock);
1230 static void pohmelfs_flush_transactions(struct pohmelfs_sb *psb)
1234 mutex_lock(&psb->state_lock);
1235 list_for_each_entry(c, &psb->state_list, config_entry) {
1238 mutex_unlock(&psb->state_lock);
1247 struct pohmelfs_sb *psb = POHMELFS_SB(sb);
1258 pohmelfs_flush_transactions(psb);
1260 while ((pi = pohmelfs_get_inode_from_list(psb, &psb->drop_list, &count))) {
1298 psb->trans_scan_timeout = psb->drop_scan_timeout = 0;
1299 cancel_rearming_delayed_work(&psb->dwork);
1300 cancel_rearming_delayed_work(&psb->drop_dwork);
1305 pohmelfs_crypto_exit(psb);
1306 pohmelfs_state_exit(psb);
1308 bdi_destroy(&psb->bdi);
1310 kfree(psb);
1317 struct pohmelfs_sb *psb = POHMELFS_SB(sb);
1326 buf->f_files = psb->ino;
1328 buf->f_files = atomic_long_read(&psb->total_inodes);
1329 buf->f_bfree = buf->f_bavail = psb->avail_size >> PAGE_SHIFT;
1330 buf->f_blocks = psb->total_size >> PAGE_SHIFT;
1333 __func__, psb->total_size, psb->avail_size, buf->f_files, sb->s_blocksize);
1340 struct pohmelfs_sb *psb = POHMELFS_SB(vfs->mnt_sb);
1342 seq_printf(seq, ",idx=%u", psb->idx);
1343 seq_printf(seq, ",trans_scan_timeout=%u", jiffies_to_msecs(psb->trans_scan_timeout));
1344 seq_printf(seq, ",drop_scan_timeout=%u", jiffies_to_msecs(psb->drop_scan_timeout));
1345 seq_printf(seq, ",wait_on_page_timeout=%u", jiffies_to_msecs(psb->wait_on_page_timeout));
1346 seq_printf(seq, ",trans_retries=%u", psb->trans_retries);
1347 seq_printf(seq, ",crypto_thread_num=%u", psb->crypto_thread_num);
1348 seq_printf(seq, ",trans_max_pages=%u", psb->trans_max_pages);
1349 seq_printf(seq, ",mcache_timeout=%u", jiffies_to_msecs(psb->mcache_timeout));
1350 if (psb->crypto_fail_unsupported)
1382 static int pohmelfs_parse_options(char *options, struct pohmelfs_sb *psb, int remount)
1407 psb->idx = option;
1410 psb->trans_scan_timeout = msecs_to_jiffies(option);
1413 psb->drop_scan_timeout = msecs_to_jiffies(option);
1416 psb->wait_on_page_timeout = msecs_to_jiffies(option);
1419 psb->mcache_timeout = msecs_to_jiffies(option);
1422 psb->trans_retries = option;
1425 psb->crypto_thread_num = option;
1428 psb->trans_max_pages = option;
1431 psb->crypto_fail_unsupported = 1;
1444 struct pohmelfs_sb *psb = POHMELFS_SB(sb);
1447 err = pohmelfs_parse_options(data, psb, 1);
1495 struct pohmelfs_sb *psb =
1500 while ((pi = pohmelfs_get_inode_from_list(psb, &psb->drop_list, &count)))
1503 pohmelfs_check_states(psb);
1505 if (psb->drop_scan_timeout)
1506 schedule_delayed_work(&psb->drop_dwork, psb->drop_scan_timeout);
1518 struct pohmelfs_sb *psb = st->psb;
1519 unsigned int timeout = psb->trans_scan_timeout;
1533 __func__, t, t->gen, st, dst->retries, psb->trans_retries);
1539 if (timeout && (++dst->retries < psb->trans_retries))
1540 err = netfs_trans_resend(t, psb);
1559 struct pohmelfs_sb *psb =
1564 mutex_lock(&psb->state_lock);
1565 list_for_each_entry(c, &psb->state_list, config_entry) {
1570 mutex_unlock(&psb->state_lock);
1576 if (psb->trans_scan_timeout)
1577 schedule_delayed_work(&psb->dwork, psb->trans_scan_timeout);
1584 struct pohmelfs_sb *psb = POHMELFS_SB(inode->i_sb);
1607 t = netfs_trans_alloc(psb, sz + path_len, flags, 0);
1663 return netfs_trans_finish(t, psb);
1684 static int pohmelfs_root_handshake(struct pohmelfs_sb *psb)
1690 t = netfs_trans_alloc(psb, 0, 0, 0);
1706 err = netfs_trans_finish(t, psb);
1710 psb->flags = ~0;
1711 err = wait_event_interruptible_timeout(psb->wait,
1712 (psb->flags != ~0),
1713 psb->wait_on_page_timeout);
1717 err = -psb->flags;
1732 struct pohmelfs_sb *psb = POHMELFS_SB(mnt->mnt_sb);
1735 mutex_lock(&psb->state_lock);
1739 list_for_each_entry(c, &psb->state_list, config_entry) {
1761 mutex_unlock(&psb->state_lock);
1783 struct pohmelfs_sb *psb;
1789 psb = kzalloc(sizeof(struct pohmelfs_sb), GFP_KERNEL);
1790 if (!psb)
1793 err = bdi_init(&psb->bdi);
1797 err = bdi_register(&psb->bdi, NULL, "pfs-%d", atomic_inc_return(&psb_bdi_num));
1799 bdi_destroy(&psb->bdi);
1803 sb->s_fs_info = psb;
1808 sb->s_bdi = &psb->bdi;
1810 psb->sb = sb;
1812 psb->ino = 2;
1813 psb->idx = 0;
1814 psb->active_state = NULL;
1815 psb->trans_retries = 5;
1816 psb->trans_data_size = PAGE_SIZE;
1817 psb->drop_scan_timeout = msecs_to_jiffies(1000);
1818 psb->trans_scan_timeout = msecs_to_jiffies(5000);
1819 psb->wait_on_page_timeout = msecs_to_jiffies(5000);
1820 init_waitqueue_head(&psb->wait);
1822 spin_lock_init(&psb->ino_lock);
1824 INIT_LIST_HEAD(&psb->drop_list);
1826 mutex_init(&psb->mcache_lock);
1827 psb->mcache_root = RB_ROOT;
1828 psb->mcache_timeout = msecs_to_jiffies(5000);
1829 atomic_long_set(&psb->mcache_gen, 0);
1831 psb->trans_max_pages = 100;
1833 psb->crypto_align_size = 16;
1834 psb->crypto_attached_size = 0;
1835 psb->hash_strlen = 0;
1836 psb->cipher_strlen = 0;
1837 psb->perform_crypto = 0;
1838 psb->crypto_thread_num = 2;
1839 psb->crypto_fail_unsupported = 0;
1840 mutex_init(&psb->crypto_thread_lock);
1841 INIT_LIST_HEAD(&psb->crypto_ready_list);
1842 INIT_LIST_HEAD(&psb->crypto_active_list);
1844 atomic_set(&psb->trans_gen, 1);
1845 atomic_long_set(&psb->total_inodes, 0);
1847 mutex_init(&psb->state_lock);
1848 INIT_LIST_HEAD(&psb->state_list);
1850 err = pohmelfs_parse_options((char *) data, psb, 0);
1854 err = pohmelfs_copy_crypto(psb);
1858 err = pohmelfs_state_init(psb);
1862 err = pohmelfs_crypto_init(psb);
1866 err = pohmelfs_root_handshake(psb);
1874 npi = pohmelfs_create_entry_local(psb, NULL, &str, 0, 0755|S_IFDIR);
1888 INIT_DELAYED_WORK(&psb->drop_dwork, pohmelfs_drop_scan);
1889 schedule_delayed_work(&psb->drop_dwork, psb->drop_scan_timeout);
1891 INIT_DELAYED_WORK(&psb->dwork, pohmelfs_trans_scan);
1892 schedule_delayed_work(&psb->dwork, psb->trans_scan_timeout);
1899 pohmelfs_crypto_exit(psb);
1901 pohmelfs_state_exit(psb);
1903 kfree(psb->cipher_string);
1904 kfree(psb->hash_string);
1906 bdi_destroy(&psb->bdi);
1908 kfree(psb);